simpo-training

Train LLMs with reference-free SimPO preference optimization using HuggingFace alignment-handbook configs.

14|5|Updated Apr 9, 2026
One-click install
npx skills add https://github.com/MLT-OSS/hermes-agent-go --skill simpo-training-mlt-oss
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: simpo-training
Source: https://github.com/MLT-OSS/hermes-agent-go/tree/main/optional-skills/mlops/simpo
Command: npx skills add https://github.com/MLT-OSS/hermes-agent-go --skill simpo-training-mlt-oss

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires torch, transformers, datasets, trl, accelerate, and includes references (resource) components.

What problem does it solve? Aligning LLMs to human preferences with DPO or PPO requires a reference model or reward model, adding memory overhead and training complexity. This Skill guides SimPO training, a reference-free preference optimization method that outperforms DPO (+6.4 points on AlpacaEval 2.0) with simpler, more efficient single-node training. ## Core Features & Use Cases - Reference-Free Preference Training: Train on chosen/rejected preference pairs without loading a reference model, using the HuggingFace alignment-handbook with DeepSpeed ZeRO-3. - Hyperparameter Guidance: Provides recommended beta, gamma_beta_ratio, learning rate, and sft_weight values per model size (7B to 70B) and task type (chat, math, code). - Dataset & Troubleshooting References: Covers preference dataset formats, quality filtering, loss function selection (sigmoid vs hinge), and fixes for loss divergence, capability forgetting, and OOM. - Use Case: Fine-tune Mistral 7B on UltraFeedback preference data with a single accelerate launch command, or align Llama 3 8B Instruct on math preferences with SFT regularization to preserve capabilities. ## Quick Start Train Mistral 7B with SimPO on the UltraFeedback dataset using the provided YAML config and accelerate launch with DeepSpeed ZeRO-3.

Frequently Asked Questions about simpo-training

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

FAQPage Schema
How do I train a model with SimPO instead of DPO?

Install the HuggingFace alignment-handbook, prepare a preference dataset with prompt/chosen/rejected fields, and launch scripts/run_simpo.py with a YAML config via accelerate. SimPO needs no reference model, so training is simpler and more memory-efficient than DPO.

SimPO vs DPO vs PPO: which preference optimization method should I use?

Use SimPO for the simplest setup with strong performance and no reference model. Choose DPO when you need a conservative reference-model baseline, PPO when you need maximum control with a reward model, and OpenRLHF for multi-node distributed RL training.

What learning rate and beta should I use for SimPO training?

For 7B models use learning rate 3e-7 to 5e-7 with beta 2.0-2.5 and gamma_beta_ratio 0.5. Use lower learning rates (around 3e-7) for math and code reasoning tasks, and higher beta (5.0) for stronger preference signals.

What GPU hardware is required for SimPO training?

A 7B model trains on one A100 40GB with DeepSpeed ZeRO-3, an 8B model needs two A100 40GB, and a 70B model needs eight A100 80GB. Enable BF16, gradient checkpointing, and Flash Attention 2 to reduce memory usage.

Why does SimPO training loss diverge or the model forget capabilities?

Loss divergence usually means the learning rate or beta is too high; reduce learning rate to 3e-7 and beta to 1.0. For capability forgetting on instruct models, add SFT regularization with sft_weight between 0.05 and 0.2.

What dataset format does SimPO preference training require?

Datasets need prompt, chosen, and rejected fields containing the instruction and the preferred and dispreferred responses. Popular ready-to-use options include HuggingFaceH4/ultrafeedback_binarized, argilla/ultrafeedback-binarized-preferences-cleaned, and Anthropic/hh-rlhf.