複数モデルのタスクベクトルから符号が矛盾するパラメータを除去し、残った一貫性のあるパラメータのみを統合するマージ手法。3モデル以上の同時マージに対応し、干渉を最小化する。
PC構成ビルダーで最適なパーツを選択
TIES-Merging(TRIM, Elect Sign & Merge)は、2023年にPrateek Yadavらが発表したLLMモデルマージ手法である(論文: "Resolving Interference When Merging Models"、NeurIPS 2023)。複数のファインチューニング済みモデルから抽出したタスクベクトル間の「干渉」を体系的に除去してからマージすることで、3モデル以上の同時マージでも品質を維持できる点が最大の特徴である。
各タスクベクトルにおいて、絶対値が小さいパラメータを上位 k% のみ残してゼロ化する。デフォルトの k は 20%(つまり80%のパラメータを除去)。これにより、モデル間の干渉要因となるノイズ的パラメータが除去される。
残ったパラメータについて、各位置の符号(正/負)を全モデルで多数決する。例えば3モデルマージで位置 i のパラメータが [+0.3, -0.1, +0.5] なら、多数決は「正」となり、-0.1 はゼロ化される。
符号の一致したパラメータのみを加重平均で統合し、ベースモデルに加算する。
| 手法 | MMLU | HellaSwag | ARC-Challenge | 平均 |
|---|---|---|---|---|
| Task Arithmetic (単純加算) | 58.2 | 74.1 | 53.8 | 62.0 |
| TIES-Merging (k=20) | 61.7 | 77.3 | 57.2 | 65.4 |
| TIES-Merging (k=30) | 62.1 | 76.8 | 56.9 | 65.3 |
| DARE-TIES | 62.5 | 77.8 | 57.6 | 66.0 |
※ Llama 2 7B ベース、3つの特化モデルマージ時の比較
models:
- model: meta-llama/Llama-3.1-8B-Instruct
parameters:
density: 0.5
weight: 1.0
- model: NousResearch/Hermes-3-Llama-3.1-8B
parameters:
density: 0.5
weight: 0.7
- model: codellama/CodeLlama-8b-Instruct-hf
parameters:
density: 0.5
weight: 0.5
merge_method: ties
base_model: meta-llama/Llama-3.1-8B
parameters:
normalize: true
dtype: bfloat16
| 条件 | 推奨手法 |
|---|---|
| 2モデルマージ、安定性重視 | SLERP |
| 3モデル以上の同時マージ | TIES or DARE-TIES |
| 特化能力の強い統合 | DARE |
| レイヤー単位の制御が必要 | Frankenmerge |
| 最大品質を追求 | DARE-TIES → SLERP の2段階マージ |
Q1: density の最適値はどう決める? A: 一般的に 0.3〜0.7 の範囲が推奨される。マージするモデル数が多いほど低い density(0.3〜0.4)が有効で、2モデルなら 0.5〜0.7 が安全。lm-evaluation-harness で 0.1 刻みの比較が最も確実。
Q2: TIES と DARE の違いは? A: TIES は低重要度パラメータを「上位k%」で決定論的に選別し、DARE はランダムにドロップアウトする。TIES は再現性が高く、DARE は確率的探索によりより良い解を見つける可能性がある。実務では DARE-TIES(DARE のランダムドロップ + TIES の符号多数決)の組み合わせが最も高性能。
Q3: 4モデル以上のマージは実用的? A: 3〜4モデルが実用的な上限である。5モデル以上では各モデルの寄与が薄まり、個々の特化能力が失われやすい。多くの能力を統合したい場合は、まず2〜3モデルずつ TIES でマージし、結果をさらにSLERPで統合する階層的マージが有効。