Fuziunea modelelor cu MergeKit (SLERP, TIES, DARE) în Hugging Face Hub & Transformers

Fuziune Modele și Arhitectură mergekit 0.1.5 (octombrie 2026)

MergeKit (Arcee AI, licență LGPL v3) combină direct greutățile mai multor modele, fără antrenare suplimentară, pe CPU sau GPU, pe baza unei configurații YAML.

Sintaxă & invocare Python
mergekit-yaml config.yml ./output-model-directory [--cuda] [--lazy-unpickle] [--allow-crimes]

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ă de hf upload.

Comenzi înrudite