simpo-training

Train LLMs from chosen-versus-rejected preference pairs without a reference model using SimPO objectives with optional SFT regularization.

1|Updated May 16, 2026
One-click install
npx skills add https://github.com/devMoez/titan --skill simpo-training-devmoez
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: simpo-training
Source: https://github.com/devMoez/titan/tree/main/optional-skills/mlops/simpo
Command: npx skills add https://github.com/devMoez/titan --skill simpo-training-devmoez

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

SimPO solves the challenge of aligning an LLM with preference data when you want a reference-free, more efficient alternative to DPO for producing better chosen-vs-rejected behavior.

Core Features & Use Cases

  • Reference-free preference optimization: Train directly from chosen/rejected pairs without requiring a reference model baseline.
  • Efficient alignment loop for instruction tuning: Improve model preferences with minimal extra forward-pass complexity versus DPO.
  • Configurable training stability controls: Tune beta, gamma/β margin, loss type (sigmoid/hinge), and optional SFT regularization to reduce divergence and capability loss.

Example: Fine-tune a 7B or 8B instruct model on UltraFeedback-style preference pairs to improve instruction following by pushing the model toward chosen answers over rejected ones.

Quick Start

Ask the AI to generate a SimPO training config for your base model and preference dataset and then launch training with the provided accelerate Deepspeed ZeRO-3 setup.

Frequently Asked Questions about simpo-training

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

FAQPage Schema
How do I train an LLM with chosen and rejected data without a reference model?

SimPO trains an LLM from chosen-versus-rejected preference pairs without using a reference model. It applies to instruction alignment and preference optimization across base and instruct/chat models, including general and math/reasoning datasets. It satisfies reference-free SimPO objectives by optimizing beta-scaled log-probability ratios with an optional SFT regularization term using a configurable loss type and margins.

What is the difference between SimPO and DPO for preference optimization?

SimPO is a reference-free alternative to DPO, meaning it does not require a separate reference model during training. This reduces extra forward-pass complexity while still pushing the model toward chosen answers over rejected ones.

Can I use SimPO to align a base instruct model on math and reasoning datasets?

Yes, SimPO applies to instruction alignment and preference optimization across both base and instruct/chat models. It supports general datasets as well as math and reasoning datasets using chosen and rejected data pairs.

How do I configure loss type and margins for SimPO training stability?

You can tune training stability by configuring beta, gamma/beta margin, loss type (sigmoid or hinge), and an optional SFT regularization term. These controls help reduce divergence and capability loss during preference optimization.

What is the best way to launch SimPO training with accelerate Deepspeed ZeRO-3?

Generate a SimPO training configuration for your base model and preference dataset, then launch training using the provided accelerate Deepspeed ZeRO-3 setup to fine-tune instruct models efficiently on preference pairs.

When should I add SFT regularization to preference optimization?

Add optional SFT regularization during SimPO training when you want to reduce divergence and prevent capability loss. It acts alongside the beta-scaled log-probability ratios to maintain stable chosen-versus-rejected behavior alignment.