AI・機械学習
上級

Model Merging(モデルマージング)

複数のLLMのモデルウェイト(重み)を数学的に統合して、それぞれの長所を持つ新しいモデルを作成する技術。追加学習なしに異なるファインチューニング済みモデルを組み合わせられる。

0 回閲覧
0 いいね
2026/5/24 更新
関連タグ
LLM
ファインチューニング
モデル最適化
HuggingFace
OSS

Model Merging とは

Model Merging(モデルマージング)とは、複数の異なるLLMのモデルパラメータ(ウェイト)を数学的な操作で統合し、新しいモデルを作成する技術だ。

従来のアンサンブル(推論時に複数モデルの出力を統合)とは異なり、Model Mergingは学習・推論を一切行わずにウェイト空間で直接統合する。結果として得られるモデルは通常の単一モデルと同じアーキテクチャを持ち、追加のコンピューティングコストなしに複数モデルの特性を持てる可能性がある。


なぜModel Mergingが注目されるのか

問題: 特定タスクに特化したファインチューニングは、他のタスクの性能を劣化させることが多い(Catastrophic Forgetting)。

汎用モデル → コーディング特化チューニング → コーディング能力↑、日本語能力↓
汎用モデル → 日本語特化チューニング → 日本語能力↑、コーディング能力↓

解決策: 両方のファインチューニング済みモデルをマージして、両方の能力を持つモデルを作成。

コーディング特化 + 日本語特化 → マージ → コーディング+日本語両対応モデル

コスト面のメリット:

  • 追加ファインチューニング不要(GPUコスト ゼロ)
  • データ収集・ラベリング不要
  • MergeKitを使えばCPUで数分〜数時間で完了

主要なマージ手法

1. SLERP(Spherical Linear Interpolation)

最もシンプルな手法。球面線形補間を使ってウェイトをブレンドする。

# 疑似コード
merged_weight = slerp(weight_A, weight_B, t=0.5)  # t=0.0〜1.0
  • 特徴: 2モデルのみ対応、直感的なtパラメータで割合を調整
  • 適用例: 「コーディングモデルを60%、会話モデルを40%でブレンド」
  • 限界: 3モデル以上には直接使えない

2. TIES-Merge(Task-Interference via Eliminating Redundancy)

2023年NeurIPSで発表された手法。モデル間で矛盾するパラメータを除去してから統合する。

プロセス:

  1. 各モデルのベースモデルからの差分(タスクベクトル)を計算
  2. 重要度の低いパラメータをゼロにする(Trim)
  3. 符号が一致するパラメータのみを保持(Elect)
  4. 選択されたパラメータをマージ(Merge)
  • 特徴: 複数モデルの干渉を最小化、精度が安定
  • パラメータ: density(保持率), weight(各モデルの寄与度)

3. DARE(Drop and Rescale)

2023年に発表。ランダムにパラメータを削除してリスケールする正則化手法。TIESと組み合わせる「DARE+TIES」が2024年の実用でほぼ標準。

# MergeKit設定例
merge_method: dare_ties
base_model: meta-llama/Llama-3.1-8B
models:
  - model: coding-expert-8b
    parameters:
      density: 0.53
      weight: 0.4
  - model: japanese-expert-8b
    parameters:
      density: 0.53
      weight: 0.6

4. Frankenmerge(レイヤースタッキング)

異なるモデルのレイヤーを交互に積み重ねる手法。MoE(Mixture of Experts)の粗い版に相当。

モデルA: [L1, L2, L3, L4, L5, L6, L7, L8]
モデルB: [L1, L2, L3, L4, L5, L6, L7, L8]
                              ↓
マージ:  [A:L1, A:L2, B:L3, B:L4, A:L5, A:L6, B:L7, B:L8]
  • 特徴: パラメータ数が増加する場合もある(深いモデルを作れる)
  • 適用例: 7Bモデル2つを組み合わせて11B相当のモデルを作成

5. Model Stock

2024年発表のKAIST研究。複数モデルのウェイト空間の重心を「賢く」計算する手法。全モデルの単純平均より安定した性能を実現。


実用ツール:MergeKit

MergeKitはOSSのモデルマージツール。GradientAI(旧arcee-ai)が開発。

pip install mergekit
mergekit-yaml merge_config.yaml ./output-model --cuda

対応手法: SLERP, TIES, DARE, DARE-TIES, Model Stock, Frankenmerge, BlockMerge

必要スペック:

  • 7Bモデルのマージ: RAM 16GB(CPU実行可)
  • 70Bモデルのマージ: RAM 140GB+ or 複数GPU

2024年注目のマージモデル例

HuggingFaceでは数千以上のマージモデルが公開されている。

モデル名ベースマージ元特徴
Nous-Hermes-2-Mixtral-8x7BMixtral複数高性能汎用
OpenHermes-2.5-Mistral-7BMistral 7B複数コスパ最強
Sakura-SOLAR-Instruct-v1SOLAR 10.7B日本語特化日本語最強の1つ
EZO-Humanoid-2.1Llama 3.1日本語+汎用日本語対話
Llama-3.1-Storm-8BLlama 3.1 8B複数DARE-TIES適用

限界と注意点

成功率は保証されない: マージが必ずしも両モデルの長所を引き出すとは限らない。ウェイト空間で直接操作するため、予測不可能な挙動が生じることがある。

アーキテクチャの一致が必要: SLERPやTIESは原則として同じアーキテクチャ・同じパラメータ数のモデル間でしか使えない(Llama 3.1 8B + Llama 3.1 8Bはマージ可、Llama 3.1 8B + Mistral 7Bはアーキテクチャが異なるため困難)。

ベンチマーク評価が必須: マージ後は必ずLM Evaluation Harnessなどでベンチマーク評価を行い、期待通りの能力向上が得られているか確認する。

ライセンス問題: ベースモデルのライセンス(Llama 3はMeta Community License)を継承する。商用利用には原モデルのライセンス確認が必須。


よくある質問(FAQ)

Q: Model Mergingとロラ(LoRA)マージは同じか? A: 関連するが異なる概念。LoRAマージは「LoRAアダプタをベースモデルに統合する」操作(merge_and_unload())。Model Mergingは「LoRAや通常FTで完成した複数の全パラメータモデル同士をマージ」する操作。LoRAマージの結果同士をさらにModel Mergingする使い方もある。

Q: マージで生じたモデルの性能はオリジナルを超えるか? A: 多くの場合はオリジナルより低下するが、「特定タスクの複合能力」という意味ではオリジナルを超えることがある。例えば数学特化モデルと日本語特化モデルのマージは、「日本語数学問題」に対してどちらのオリジナルよりも高精度になることがある。

Q: 商用モデル(GPT-4、Claude)をマージできるのか? A: 不可能。ウェイトが非公開のため。Model Mergingは公開ウェイト(Llama 3、Mistral、Gemma等)のオープンモデルにのみ適用可能。

Q: 2025年以降のトレンドは? A: 「Evolutionary Merge」(進化的アルゴリズムで最適なマージ設定を自動探索)や、「Mixture of Agents」(マージでなく動的ルーティング)との組み合わせが2025年の注目トレンド。MergeKitもevolutionary mergeに対応している。

この記事について
カテゴリーAI・機械学習
難易度上級
作成日2026/5/24