simpo-training

Optimize LLMs on paired preference datasets without a reference model.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

SimPO provides a practical, reference-free method to align large language models to human preference data, eliminating the need for a separate reference model and reducing compute and complexity compared with DPO or PPO.

Core Features & Use Cases

  • Reference-free preference optimization: Directly optimizes chosen/rejected pairs using sigmoid or hinge loss without a reference policy.
  • Configurable training controls: Exposes beta, gamma_beta_ratio, loss_type, sft_weight, learning rate, and batch/accumulation settings for model-size-specific tuning.
  • Datasets and tooling guidance: Includes dataset formats, mixing strategies, preprocessing tips, and integration notes for Hugging Face datasets, Accelerate, DeepSpeed, and FlashAttention.
  • Use case: Fine-tune a 7B–8B model on UltraFeedback-style preference pairs to improve instruction following or reasoning quality on chat and code tasks.

Quick Start

Launch SimPO training with your preference dataset using the provided training_configs and an appropriate accelerate configuration to fine-tune the 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 an LLM with preference data without using a reference model?▼

SimPO is a reference-free preference optimization method that aligns LLMs using chosen and rejected pairs, eliminating the need for a separate reference policy required by DPO. It directly optimizes models using sigmoid or hinge loss.

What is the best way to fine-tune a 7B model on UltraFeedback preference pairs?▼

Fine-tune a 7B model on UltraFeedback pairs by applying SimPO with configurable beta, gamma_beta_ratio, and SFT regularization. Use Hugging Face datasets and accelerate configurations for efficient training on single-node or small multi-GPU setups.

Does SimPO work with PyTorch, DeepSpeed, and Hugging Face datasets for training?▼

Yes, SimPO integrates natively with PyTorch, Hugging Face datasets, trl, accelerate, and DeepSpeed. This integration supports efficient preference optimization training across single-node and small multi-GPU environments.

Can I use SimPO for math reasoning and code generation tasks instead of DPO?▼

Yes, SimPO applies to fine-tuning base or instruct models on paired preference datasets for chat, code, and math reasoning tasks. It serves as a DPO alternative by removing the reference model to reduce compute and complexity.

What loss types and parameters can I configure for reference-free preference optimization?▼

SimPO exposes configurable training controls including beta, gamma_beta_ratio, loss_type (sigmoid or hinge), sft_weight, learning rate, and batch accumulation settings. These parameters allow model-size-specific tuning for preference optimization.

Why does preference alignment with DPO require more compute than reference-free optimization?▼

DPO requires loading and querying a separate reference model alongside the target model during training. SimPO removes this reference policy overhead, directly reducing memory usage and compute complexity for preference alignment.