simpo-training

Train LLMs with reference-free SimPO preference optimization using accelerate.

19|4|Updated Apr 22, 2026
One-click install
npx skills add https://github.com/carterwayneskhizeine/hermes-agent-windows-R --skill simpo-training-carterwayneskhizeine
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: simpo-training
Source: https://github.com/carterwayneskhizeine/hermes-agent-windows-R/tree/main/optional-skills/mlops/simpo
Command: npx skills add https://github.com/carterwayneskhizeine/hermes-agent-windows-R --skill simpo-training-carterwayneskhizeine

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

SimPO helps you align an LLM to preference data (chosen vs rejected responses) without needing a reference model, avoiding the added complexity and cost of reference-based methods.

Core Features & Use Cases

  • Reference-free preference optimization: Trains directly from chosen/rejected pairs to improve preference separation.
  • Configurable alignment objective: Supports sigmoid or hinge loss, plus a margin control via beta and gamma_beta_ratio.
  • Optional capability preservation: Adds SFT regularization through sft_weight to reduce forgetting, especially for instruct/chat models.
  • Use cases: Preference alignment for general instruction tuning, math/reasoning-oriented alignment, and faster iteration compared with DPO/PPO setups when compute is limited.

Quick Start

Run preference alignment training for a base model using the provided SimPO training script and a YAML config file, such as executing accelerate launch with scripts/run_simpo.py and training_configs/mistral-7b-base-simpo.yaml.

Frequently Asked Questions about simpo-training

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

FAQPage Schema
How do I align LLM preferences without a reference model?

You can align LLM preferences without a reference model by using SimPO, which trains directly from chosen versus rejected response pairs to improve preference separation and avoid the added complexity of reference-based methods.

What is reference-free preference optimization for aligning LLMs?

Reference-free preference optimization is a technique that aligns LLMs using chosen versus rejected response pairs directly, eliminating the need to train or load a separate reference model during the alignment process.

How to run SimPO training for preference alignment using accelerate?

Run preference alignment training by executing accelerate launch with scripts/run_simpo.py and a YAML config file, applying SimPO hyperparameters like beta, gamma_beta_ratio, loss_type, and optional sft_weight.

Does SimPO work with DeepSpeed ZeRO-3 for distributed training?

Yes, SimPO supports single-node distributed setups configured via accelerate, allowing you to integrate DeepSpeed ZeRO-3 to optimize memory and compute when running preference optimization on large language models.

SimPO vs DPO: which is better for compute-limited LLM alignment?

SimPO offers faster iteration compared with DPO setups when compute is limited, because it skips training a separate reference model while still using chosen versus rejected pairs for preference alignment.

Why use sft_weight during reference-free preference optimization?

You use the optional sft_weight parameter to add SFT regularization, which reduces forgetting and helps preserve capabilities in instruct or chat models during the reference-free preference alignment process.