simpo-training

Optimizes user-preference signals for LLMs via reference-free SimPO loss.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

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

What problem does it solve?

SimPO provides a lightweight, reference-free approach to aligning language models by optimizing preferences directly from data, reducing reliance on a fixed baseline and cutting training complexity.

Core Features & Use Cases

  • Directly optimizes win/lose preferences (chosen vs. rejected) without requiring a reference model.
  • Supports configurable hyperparameters (learning rate, beta, gamma/beta, loss type, and optional SFT regularization) for various model sizes and tasks.
  • Use cases include aligning an instruction-following LLM with user preferences using a small, curated dataset.

Quick Start

Run a minimal SimPO training job on a chosen base model to align preferences without a reference model.

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?

Reference-free LLM alignment optimizes user-preference signals directly from chosen and rejected pairs. SimPO applies this technique to reduce training complexity by eliminating the fixed baseline requirement while maintaining efficient preference optimization.

What is SimPO and how does it differ from DPO for preference optimization?

SimPO is a reference-free alternative to DPO that aligns language models using win/lose preference pairs. Unlike DPO, it removes the reference model dependency, cutting training complexity while supporting configurable hyperparameters like beta and gamma.

How do I train an instruction-following LLM with chosen and rejected pairs?

Preference optimization training uses curated datasets of chosen and rejected responses to align LLMs. The process applies a configurable SimPO loss function with adjustable learning rates and optional SFT regularization to preserve model capabilities.

Can I use SimPO with PyTorch and Hugging Face Transformers for LLM alignment?

SimPO works with PyTorch, Transformers, Datasets, TRL, and Accelerate to optimize LLM preferences. It supports configurable training across various model sizes, allowing efficient alignment workflows without a reference model.

Why does reference-free preference optimization need SFT regularization?

SFT regularization in reference-free preference optimization preserves the base model's existing capabilities during alignment. It prevents capability degradation when applying SimPO loss to optimize chosen and rejected pairs without a baseline.

What are the limitations of using SimPO for LLM alignment?

SimPO requires curated chosen and rejected preference pairs for training. While it eliminates the reference model, hyperparameters like learning rate, beta, and gamma must be carefully configured to avoid degrading model capabilities across different model sizes.