AI・機械学習
上級
TIES-Merging(タイズマージング)
2023年提案のLLMマージ手法。「Trim(小さい値を刈り込む)→Elect(符号の多数決)→Disjoint Merge(非競合結合)」の3ステップで複数モデルの差分ベクトルを結合し、パラメータ干渉を最小化する。
0 回閲覧
0 いいね
2026/6/8 更新
関連タグ
モデルマージ
TIES
パラメータ干渉
NeurIPS 2023
差分ベクトル
TIES-Mergingとは
TIES(Trim, Elect Sign, Disjoint Merge)は、複数のファインチューニング済みモデルをパラメータ干渉を最小化しながらマージするアルゴリズム。NeurIPS 2023でPrateek Yadavらが発表。
背景:なぜ単純平均ではダメか
複数のファインチューニング済みモデルを単純に重み平均すると、各モデルの「タスク差分ベクトル(τ = θ_ft - θ_base)」が互いに干渉する。特に同一パラメータで符号が逆の場合、両方の能力を打ち消し合う。
3ステップのアルゴリズム
Step 1: Trim(刈り込み)
各タスクのτについて、絶対値が小さいパラメータ(例: 下位80%)をゼロに設定
→ ノイズ的なパラメータを除去し、タスクに重要な差分のみを残す
Step 2: Elect Sign(符号選択)
各パラメータ位置について、全タスクのτの符号の多数決を取る
→ 多数派の符号のみを保持、少数派を除外(符号衝突の解消)
Step 3: Disjoint Merge(非競合結合)
符号が一致するパラメータのみを平均
→ 符号が排除されたパラメータはゼロ扱い
MergeKitでの設定例
merge_method: ties
base_model: meta-llama/Llama-3.1-8B
models:
- model: model-A-finetuned
parameters:
density: 0.3 # Trimで残す割合
weight: 0.5
- model: model-B-finetuned
parameters:
density: 0.3
weight: 0.5
parameters:
normalize: true
dtype: bfloat16
SLERPとの比較
| 手法 | 対応モデル数 | 干渉対策 | 複雑度 |
|---|---|---|---|
| SLERP | 2モデル | なし | 低 |
| TIES | 複数モデル | 符号選択 | 中 |
| DARE | 複数モデル | ランダムドロップ | 中 |
実用上の注意
- density(刈り込み率): 0.2〜0.4が一般的。タスク数が多いほど低密度を推奨
- 同一ベースモデル必須: ベースモデルが異なると差分ベクトルの意味が変わりうまくいかない
- 評価: マージ後の能力の「損失なし維持」を確認するためベンチマーク必須