simpo-training
Simple Preference Optimization for LLM alignment. Reference-free alternative to DPO with better performance (+6.4 points on AlpacaEval 2.0). No reference model needed, more efficient than DPO. Use for preference alignment when want simpler, faster training than DPO/PPO.
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Simple Preference Optimization for LLM alignment. Reference-free alternative to DPO with better performance (+6.4 points on AlpacaEval 2.0). No reference model needed, more efficient than DPO. Use for preference alignment when want simpler, faster training than DPO/PPO.
How to use
Przygotuj środowisko: utwórz nowe środowisko Conda z Pythonem 3.10, aktywuj je, a następnie zainstaluj PyTorch 2.2.2 ze strony pytorch.org/get-started/locally/ wybierając swoją konfigurację sprzętu.
Sklonuj repozytorium alignment-handbook z GitHuba, przejdź do katalogu i zainstaluj pakiet za pomocą pip install.
Zainstaluj Flash Attention 2, które przyspiesza trenowanie: uruchom pip install flash-attn --no-build-isolation.
Przygotuj plik konfiguracji trenowania (np. mistral-7b-base-simpo.yaml) – określ model bazowy (np. Mistral 7B), dataset (np. HuggingFaceH4/ultrafeedback_binarized), oraz hiperparametry SimPO takie jak beta (2.0–10.0 dla skalowania nagród) i gamma_beta_ratio (0–1 dla marginesu docelowego).
Uruchom trenowanie za pomocą accelerate launch z plikiem konfiguracji deepspeed_zero3.yaml oraz skryptem run_simpo.py, przekazując ścieżkę do pliku konfiguracji trenowania.
Monitoruj postęp trenowania poprzez logi accelerate – model będzie optymalizowany na podstawie preferencji z datasetu bez potrzeby osobnego modelu referencyjnego.