Evolutionary Optimization ofModel Merging Recipes
Takuya Akiba, Makoto Shing, Yujin Tang, Qi Sun, David Ha⽬次
1. モデルマージ
2. 進化的モデルマージ

1

モデルマージ
画像はOmar Sansevieroさん作

モデルマージとは︖
LLMnew = Merge(LLM1 , LLM2 , LLM3 , … )
2つ以上のモデルを元に1つの新たなモデルを作る
アプローチ2つ
1. 重みレベルのモデルマージ
2. レイヤーレベルのモデルマージ

アプローチ1

重みレベルのモデルマージ↑動画はこちら︓https://sakana.ai/evolutionary-model-merge-jp/

アプローチ1

重みレベルのモデルマージ
⼿法1: 線形補間𝜃new = 𝛼𝜃! + 1 − 𝛼 𝜃"（𝜃!, 𝜃", 𝜃new ︓LLMの重み、 𝛼 ︓混ぜ合わせの設定パラメタ）• 既存の重みの線形補完で新たなモデルを作る• 同じアーキテクチャのモデル同⼠でないとできない• 同じbase modelからのfine-tuneでないと基本成功しないアプローチ1

重みレベルのモデルマージ• 同様に、重みをelement-wiseでマージする⼿法がいくつかある• ⼤体、線形補間のちょい発展版みたいなもんだと思っておけば⼀旦OK[2203.05482] Model soups: averaging weights of multiple fine-tuned models improves accuracy
without increasing inference time[2212.04089] Editing Models with Task Arithmetic[2306.01708] TIES-Merging: Resolving Interference When Merging Models[2311.03099] Language Models are Super Mario: Absorbing Abilities from Homologous Models as aFree Lunch[2403.19522] Model Stock: All we need is just a few fine-tuned modelsアプローチ1

重みレベルのモデルマージ
実例︓• Open LLM Leaderboard を⾒れば無数にある• 例えば Mistral-7B-Merge-14-v0.1はMistral 7Bのfine-tuneを14個マージ（そしてこいつが更にマージされ別のモデルが作られているというカオス）• Stable DiffusionのLoRAのマージとかも同じ話

アプローチ2

レイヤーレベルのモデルマージ↑動画はこちら︓https://sakana.ai/evolutionary-model-merge-jp/

アプローチ2

レイヤーレベルのモデルマージ• 重み⾃体は弄らず、レイヤーを再配置する（レイヤー = transformer block）• パラメータ数が増減するアプローチ2

レイヤーレベルのモデルマージ
論⽂• [2312.15166] SOLAR 10.7B: Scaling Large Language Models withSimple yet Effective Depth Up-Scaling• [2401.02415] LLaMA Pro: Progressive LLaMA with Block Expansion
モデル• alpindale/goliath-120b• cognitivecomputations/MegaDolphin-120b• Undi95/Mistral-11B-v0.1

⼈は何を求めてモデルをマージする︖①アンサンブル（的な何か）モデルをマージするとOpen LLM Leaderboardのスコアが上がる。
しかも学習不要で新しいモデルが作れる。
皆こぞって謎のマージを作りLeaderboardに提出。
（※ただし後述の通りこれはめっちゃLeaderboardにoverfitしてると思う）[1803.05407] Averaging Weights Leads to Wider Optima and Better Generalization[2203.05482] Model soups: averaging weights of multiple fine-tuned models improves accuracy
without increasing inference time

⼈は何を求めてモデルをマージする︖②複数の能⼒を統合

https://github.com/mkshing/ziplora-pytorch⼈は何を求めてモデルをマージする︖②複数の能⼒を統合[2311.03099] Language Models are Super Mario:
Absorbing Abilities from Homologous Models as aFree Lunch[2310.04799] Chat Vector: A Simple Approach to Equip
LLMs with Instruction Following and Model Alignment
in New Languages

モデルマージは何故うまく⾏く︖
重みレベルの議論の例[2305.12827] Task Arithmetic in the Tangent Space: Improved Editing ofPre-Trained Models

NII 佐藤先⽣の解説ブログが神https://joisino.hatenablog.com/entry/2024/01/09/174517

モデルマージは何故うまく⾏く︖
レイヤーレベルの議論の例[2103.14586] Understanding Robustness of Transformers for ImageClassification

⽇本での盛り上がりは今⼀つ︖
英語圏では無数にマージモデルが⽇々⽣み出されている⼀⽅、⽇本語圏ではそこまででもない。何故︖
理由• マージ元のモデルが少ない（1つの⽇本語base modelからの派⽣に限ると）• マージが難しい （より広い範囲のモデルを使おうとすると）

⽇本での盛り上がりは今⼀つ︖
何故マージが難しい︖• 多くの⽇本語LLMは英語LLMからの継続事前学習で作られている• 継続事前学習では数⼗B〜数百Bトークンの学習が⾏われ、元の英語LLMの重みからだいぶ離れてしまっている
DAREの論⽂でもCodeLlama (Llama-2から500B token学習) のマージが難しい話が同様に議論されている
実際、私も最初は⼿動でマージのレシピを探ろうとしましたが、なかなか上⼿くいかない…… → ⾃動探索︕

2

進化的モデルマージ

進化的モデルマージ↑動画はこちら︓https://sakana.ai/evolutionary-model-merge-jp/

進化的アルゴリズムA Visual Guide to Evolution Strategies
https://blog.otoro.net/2017/10/29/visual-evolution-strategies/

進化的アルゴリズム

HTML5 Genetic Algorithm 2D Car Thingy https://rednuht.org/genetic_cars_2/

結果1: ⽇本語数学LLM
⽇本語LLM + 英語数学LLM → ⽇本語数学LLM

元の「⽇本語能⼒」と「英語数学能⼒」を維持出来ただけでなく、その両⽅を⽇本語数学能⼒として組合せて発揮出来る結果1: ⽇本語数学LLM

結果2: ⽇本語VLM (Vision Language Model)
⽇本語LLM + 英語VLM → ⽇本語VLM
前提知識
LLaVaというVLMは、vision encoder (ViT)とLLMをくっつけた上でfine-tuneして作られている
Llava-v1.6-mistral-7b

我々のマージ• LLaVaのLLM部分に⽇本語LLMをブレンド• 他の部分はLLaVaのまま

LLM (base: Mistral 7B Instuct-v0.2)

結果2: ⽇本語VLM (Vision Language Model)

結果2: ⽇本語VLM (Vision Language Model)

結果2: ⽇本語VLM (Vision Language Model)（画像は省略）

ただ⽇本語が流暢になっているということではなく、元のVLM (LLaVa-1.6-Mistral-7B) が知らない知識を追加し利⽤出来ているかも︖

結果3: ⽇本語画像⽣成モデル

余談︓過適合に注意

我々はtest dataは最適化時に利⽤していません。
実際、設定によりtrain dataに簡単に過適合するのを観測してました。
（なので、test scoreを⾒てマージしているOpen LLM Leaderboard勢は……）

3
おわりにまとめ
1. モデルマージ
モデルマージのアプローチ2つ
何故マージするのか︖何故上⼿くいくのか︖
2. 進化的モデルマージ
進化的アルゴリズムを利⽤し、今までにないカテゴリのモデルマージに成功