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.