simpo-training

Configure and run SimPO training for reference-free LLM preference optimization.

3|Updated Mar 20, 2026
One-click install
npx skills add https://github.com/ever-oli/io --skill simpo-training-ever-oli
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: simpo-training
Source: https://github.com/ever-oli/io/tree/main/skills/mlops/training/simpo
Command: npx skills add https://github.com/ever-oli/io --skill simpo-training-ever-oli

SYSTEM DOCUMENTATION & REQUIREMENTS

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

What problem does it solve?

SimPO provides a reference-free approach to preference optimization for aligning large language models, enabling simpler and faster training without a separate reference model.

Core Features & Use Cases

  • Reference-free optimization for aligning LLMs without needing a fixed reference policy.
  • Configurable training pipelines with common hyperparameters (learning_rate, beta, gamma_beta_ratio, sft_weight, loss_type) and dataset_mixer setups.
  • End-to-end guidance for setup, debugging, and production-ready training workflows across model sizes (7B to 70B).

Quick Start

Run the provided script (scripts/run_simpo.py) with a valid YAML config to begin SimPO alignment.

Frequently Asked Questions about simpo-training

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

FAQPage Schema
How do I align an LLM using reference-free preference optimization?

SimPO enables reference-free preference optimization by aligning LLMs without a separate reference model. You configure training parameters like beta, gamma_beta_ratio, and loss_type in a YAML file to run the alignment script directly on preference datasets.

What is the difference between SimPO and standard RLHF training?

SimPO eliminates the separate reference model required by standard RLHF, simplifying the pipeline and reducing memory overhead. It uses a length-normalized reward formulation with configurable beta and gamma_beta_ratio parameters instead of comparing against a fixed reference policy.

Can I run SimPO training on 70B parameter models with PyTorch and Transformers?

Yes, SimPO supports end-to-end training workflows for large language models ranging from 7B to 70B parameters. It operates using standard dependencies including torch, transformers, and accelerate to handle distributed training configurations.

How do I configure dataset mixing and loss functions for preference tuning?

You configure dataset mixing and loss functions through YAML-based config fields. Define data proportions using dataset_mixer, select the loss_type, and adjust sft_weight to apply optional SFT regularization alongside the preference optimization loss.

Why does my SimPO training require specific hyperparameters like gamma_beta_ratio?

SimPO requires hyperparameters like gamma_beta_ratio and beta because it uses a reference-free reward calculation. These parameters control the target reward margin and regularization strength, ensuring the model converges correctly without a reference policy.