AI・機械学習
中級
MergeKit(マージキット)
LLMモデルマージのためのオープンソースツールキット(Charles Goddard開発、2023年公開)。SLERP、TIES、DARE、線形補間、タスクベクトル等の主要マージ手法をYAML設定ファイルで統一的に実行できる。HuggingFaceモデルハブとのシームレスな連携が特徴。
0 回閲覧
0 いいね
2026/6/8 更新
関連タグ
MergeKit
モデルマージ
オープンソース
HuggingFace
YAML設定
MergeKitとは
MergeKitは、LLMモデルマージをYAML設定ファイルで簡単に実行できるオープンソースツールキット。Charles Goddard(arcee-ai)が2023年に公開し、2024年にはHuggingFace公式ブログで紹介されるほど普及。
インストールと基本使用
# インストール
pip install mergekit
# マージ実行
mergekit-merge config.yml \
--out-path ./merged-model \
--cuda # GPU使用
--copy-tokenizer
サポートするマージ手法
| メソッド名 | 説明 | 用途 |
|---|---|---|
linear | 線形補間 (LERP) | シンプルなマージ |
slerp | 球面線形補間 | 2モデルの高品質マージ |
ties | TIES-Merging | 多モデル・干渉対策 |
dare_ties | DARE + TIES | スパース化 + 干渉対策 |
dare_linear | DARE + 線形補間 | スパース化 + 簡易マージ |
task_arithmetic | タスクベクトル加算 | 能力加算 |
breadcrumbs | タスクベクトル選択的加算 | 精密な能力加算 |
model_stock | Model Soups式 | 同タスク複数モデル |
passthrough | 層の直接連結 | 層数増加 (depth merging) |
設定ファイル例(TIES-Merging)
merge_method: ties
base_model: meta-llama/Llama-3.1-8B
models:
- model: llama3-8b-instruct-coding
parameters:
density: 0.4
weight: 0.5
- model: llama3-8b-instruct-math
parameters:
density: 0.4
weight: 0.5
parameters:
normalize: true
int8_mask: true
tokenizer_source: base
dtype: bfloat16
LazyMergeKit(メモリ効率化)
MergeKitは「Lazy Loading」方式で層ごとに処理するため、モデル全体をメモリに載せずにマージできる。70Bモデルのマージも24GB VRAMで対応可能(量子化なし)。
HuggingFace統合
# HuggingFace Hubへ直接アップロード
mergekit-merge config.yml \
--out-path ./merged \
--upload-to-hub username/merged-model-name
MergeKit EvolMerge(進化的探索)
MergeKit 0.7以降ではEvolutionary Mergeが追加され、遺伝的アルゴリズムで最適なマージ係数を自動探索できる。EvoLLMやEvoVLMなどの高性能モデルがこの手法で作成された。
実用的なワークフロー
- 同一ベースモデルから派生したFTモデルを選定
dare_tiesメソッドでdensity=0.4〜0.5を試す- lm-evaluation-harnessでMMLU等を評価
- density/weightを調整して最良設定を探す
- HuggingFace Hubに公開