simpo-training

Optimize LLM preferences without a reference model using configurable training parameters.

Updated Mar 30, 2026
One-click install
npx skills add https://github.com/attentiondotnet/hermes-agent --skill simpo-training-attentiondotnet
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: simpo-training
Source: https://github.com/attentiondotnet/hermes-agent/tree/main/optional-skills/mlops/simpo
Command: npx skills add https://github.com/attentiondotnet/hermes-agent --skill simpo-training-attentiondotnet

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

SimPO provides a reference-free approach to optimizing preferences for large language models, enabling direct alignment improvements without a reference policy.

Core Features & Use Cases

  • Reference-free optimization: learn from chosen/rejected preferences without a reference model.
  • Flexible model support: works with a range of base models (7B–70B) and datasets, and allows configurable training dynamics.
  • Configurable training dynamics: tune beta, gamma_beta_ratio, sft_weight, average_log_prob, and loss_type; supports SFT regularization to preserve capabilities.
  • Common workflows: train from base models like Mistral-7B, fine-tune instruct or chat variants, using UltraFeedback datasets for preferences.

Quick Start

Train a base model with a preference dataset to apply SimPO without requiring a reference model.

Frequently Asked Questions about simpo-training

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
What is reference-free preference optimization for LLMs?

Reference-free preference optimization aligns large language models directly from chosen/rejected preference data without needing a separate reference policy. SimPO enables this by applying direct policy improvements, bypassing the overhead of loading and querying a reference model during training.

How do I train a Mistral-7B model with UltraFeedback preference datasets?

You train a Mistral-7B model with UltraFeedback by configuring SimPO's training dynamics on the preference dataset. You adjust parameters like beta, gamma_beta_ratio, and loss_type, optionally adding SFT regularization to preserve capabilities while learning from chosen and rejected pairs.

Can I apply preference optimization to 70B scale models without a reference model?

Yes, you can optimize 70B scale models without a reference model. SimPO supports flexible model scaling from 7B to 70B, applying direct policy improvements from preference data while removing the memory and compute bottleneck of running a secondary reference policy.

What's the best way to preserve instruction following capabilities during preference optimization?

The best way to preserve capabilities during preference optimization is enabling SFT regularization. SimPO allows you to configure an sft_weight parameter alongside beta and gamma_beta_ratio, balancing preference learning with supervised fine-tuning to maintain general instruction following and reasoning.

Does preference optimization work for coding and reasoning tasks or just general chat?

Preference optimization works for coding and reasoning tasks alongside general instruction following. SimPO applies direct policy improvements from preference data across these domains, allowing you to align base models or instruct variants for specific task performance without a reference model.

Why does SimPO not require a reference model compared to other preference optimization methods?

SimPO does not require a reference model because it computes direct policy improvements from the chosen and rejected preference pairs alone. This reference-free approach eliminates the need to load a secondary model, reducing memory requirements while still enabling effective alignment from datasets like UltraFeedback.