Ce face Fuziunea modelelor cu MergeKit (SLERP, TIES, DARE)
MergeKit nu este o bibliotecă Hugging Face, dar rezultatele lui se publică de obicei pe Hub. Fuziunea operează direct asupra greutăților: poate transfera capacități între modele fără date de antrenare. Programul rulează pe CPU sau GPU și încarcă tensorii leneș (lazy), cu memorie redusă.
Configurația YAML descrie metoda (merge_method), modelele (models) sau feliile de straturi (slices, exclusiv cu models), modelul de bază (base_model), parametrii (weight, density etc.) și tipul de date (dtype). Rezultatul primește un README.md generat, pe care îl poți edita înainte de publicare.
Metode: linear (medie ponderată), slerp (interpolare sferică între exact 2 modele, parametrul t), ties (task arithmetic cu sparsificare și consens de semn), dare_linear / dare_ties (tăiere aleatoare cu reponderare), plus della, breadcrumbs, sce, model_stock și altele. TIES și DARE cer cel puțin 2 modele plus un base_model.
Sintaxă și opțiuni
| Opțiune / Parametru | Descriere |
|---|---|
mergekit-yaml CONFIG OUT |
Execută fuziunea descrisă în YAML și scrie modelul în director. |
--cuda |
Rulează calculele pe GPU. |
--lazy-unpickle, --allow-crimes, ... |
Opțiuni suplimentare din exemplul de utilizare; descrierea lor completă este în mergekit-yaml --help. |
merge_method |
linear, slerp, ties, dare_ties, dare_linear etc. |
weight / density |
Ponderea vectorului de sarcină / fracțiunea de greutăți păstrată (TIES, DARE). |
t |
Factorul de interpolare la SLERP: 0 = base_model, 1 = celălalt model. |
dtype / out_dtype |
Tipul de date la fuziune / la scriere. |
Exemple practice
Exemplul 1: Instalare
git clone https://github.com/arcee-ai/mergekit.git
cd mergekit
pip install -e .
Exemplul 2: Configurație DARE-TIES
models:
- model: meta-llama/Llama-3.1-8B-Instruct
- model: expert-coding-llama-8b
parameters:
density: 0.5
weight: 0.6
- model: expert-romana-llama-8b
parameters:
density: 0.5
weight: 0.4
merge_method: dare_ties
base_model: meta-llama/Llama-3.1-8B-Instruct
dtype: bfloat16
Exemplul 3: Rulare și publicare pe Hub
mergekit-yaml config.yml ./model-hibrid --cuda
hf auth login
hf upload your_hf_username/model-hibrid ./model-hibrid .
Greșeli frecvente și bune practici
- Alegi modele fără legătură între ele pentru
linear. Documentația recomandă media ponderată pentru modele cu arhitecturi și date de antrenare foarte asemănătoare (de exemplu checkpoint-uri ale aceluiași model). - Folosești SLERP cu mai mult de 2 modele. SLERP cere exact 2; pentru mai multe există
multislerp, TIES sau DARE. - Încarci rezultatul cu
huggingface-cli upload, ca în README-ul MergeKit. Comanda a fost înlocuită dehf upload.