What problem does it solve?
SimPO training addresses the challenge of aligning an LLM to human preferences efficiently without needing a reference model or complex RL infrastructure.
Core Features & Use Cases
- Reference-free preference optimization: Trains on chosen/rejected pairs using SimPO, avoiding the extra forward-pass and maintenance burden of a separate reference model.
- Preference-alignment with tunable objectives: Supports adjustable reward scaling (beta), target margin (gamma_beta_ratio), optional SFT regularization (sft_weight), and loss types (sigmoid/hinge).
- Practical training workflows: Enables end-to-end preference fine-tuning for base models and instruct/chat models, including dataset mixing for domains like general help, math reasoning, and safety/harmlessness.
Use Case Example: You have an instruction-tuning model and a dataset of (prompt, chosen response, rejected response) pairs; use SimPO to improve helpfulness and adherence to preferences while controlling capability drift via SFT regularization when needed.
Quick Start
Ask the agent to train a Mistral 7B SimPO model from the base checkpoint using HuggingFaceH4/ultrafeedback_binarized with learning_rate=5e-7, beta=2.0, gamma_beta_ratio=0.5, loss_type=sigmoid, sft_weight=0.0, and outputs saved to ./outputs/mistral-7b-simpo.