4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

(論文読み):SakanaAI の 『Evolutionary Optimization of Model Merging Recipes』

Last updated at Posted at 2024-04-20

はじめに

  • SakanaAI の 『Evolutionary Optimization of Model Merging Recipes』論文がすごい
  • けど、仕組みと「どこまですごい!」を捉えきれていない
  • どうにか理解したい!

対象論文

Evolutionary Optimization of Model Merging Recipes

大規模言語モデル(LLM)の合体を最適化するための新しいアプローチを提案した研究です。

Sakana AIの秋葉拓哉さんの解説はこちらです。

論文の重要なポイント

複数のLLMを合体して1つの強力なモデルを作る(=モデルマージ)際の2つの手法を定義している。

PS(パラメータ重みの混合)の最適化

  • TIES-MergingをベースとしたDAREアルゴリズムと進化アルゴリズム(CMA-ES)を活用

DFS(レイヤーの結合)の最適化

  • Indicator arrayを導入して探索空間を削減。さらにレイヤー間のスケーリング調整も最適化に組み込んでいる

用語まとめ

用語 説明
Model Merging 複数のモデルを1つのモデルへ合体させる技術
Evolutionary Algorithms 進化の原理を用いて最適解を探索するアルゴリズム
Merging in the Parameter Space 複数のレイヤーが持つパラメータ配合の最適化
Merging in the Data Flow Space 複数のモデルの全レイヤーから、最適なレイヤーの配置の探索
TIES-Merging モデル合体の手法の1つ
DARE TIES-Mergingをベースとしたアルゴリズム
Fitness 進化アルゴリズムにおける解の評価指標
Indicator Array レイヤーの選択を表現するための配列
Scaling Factor レイヤー間の出力のスケーリングを調整するための係数
CMA-ES 共分散行列適応進化戦略(Covariance Matrix Adaptation Evolution Strategy)の略。進化的アルゴリズムの一種で、最適化問題を解くために使用される。
個体 CMA-ESにおいて、問題の解候補を表す。ここでは、パラメータ重みの混合割合を表す。
多変量正規分布 複数の変数がそれぞれ正規分布に従う確率分布。CMA-ESでは、この分布に従って個体を生成する。
上位n個体 各世代で生成された個体の中で、目的関数の評価値が高い上位n個の個体。これらを用いて次世代の多変量正規分布のパラメータを更新する。
MGSM マルチモーダル言語生成モデル(Multimodal Language Generation Model)の略。テキストと画像を組み合わせて、質問に回答するモデル。
VQA Visual Question Answeringの略。画像を見て質問に回答するタスク。
ROUGEスコア 自動要約の評価指標の一つ。生成された要約と参照要約との間の n-gramの一致度を測定する。

論文を一緒に読む

解説が本当にありがたいです🙏

技術ポイント

モデルマージの手法として、PSとDFSの2つが説明されています。

PS(パラメータ重みの混合)

  • 進化的アルゴリズムであるCMA-ES(共分散行列適応進化戦略)を使用して、最適なパラメータ重みの混合を探索。
  • 多変量正規分布に従って個体(重みの混合割合)を生成し、上位n個体を抽出して多変量正規分布のパラメータを更新する過程を繰り返す。
  • 目的関数は各タスクのスコア(MGSMの精度、VQAのROUGEスコアなど)。

DFS(レイヤーの結合)

レイヤー自体をつなぎ合わせる手法。

レイヤーの並び替え

  • 合計M層のベースとなる2モデルからT層のモデルを作る場合、$(M+1)^T$の組み合わせを探索する必要がある。
  • 同じ層の繰り返しや層間の順序を入れ替えるとパフォーマンスに悪影響があることがわかったため、探索空間を$2^T$に制限できる(2はモデルの数)。

レイヤー間の結合

  • 異なるモデルからレイヤーを持ってきても、そのままでは上手く動かない。
  • レイヤーiとjをつなぐスケーリングを$W_{ij}$($W \in R^{M \times M}$)とし、これも進化的探索で最適化する。
  • $M^2$は大きすぎるため、FFNで近似: $W_{ij} = \pi_{\theta}(i,j,t)$、パラメータ$\theta$を探索する($t \leq T$)。
  • これもCMA-ESを使って探索。

PSとDFSの組み合わせ

PSとDFSを同時に行うと探索空間が広くなりすぎる上、性質が異なるため扱いにくいとのことで、まずPSマージ(探索)を適用して複数のマージモデルを生成し、次にDFSマージ(探索)を適用して最終的なモデルを生成するアプローチが提案されています。

関連

モデルのマージ

モデルのマージは、2つ以上のLLMを1つのモデルに結合する手法です。

モデルマージの先行研究まとめ

  • モデルのマージ自体は実は古くから行われてきた
    • 画像生成モデルで特にマージしたモデルが一般的に使われるように
    • LLMのマージ自体も先行研究がある
      • Open LLM Leaderboard の上位モデルのほとんどは、言語モデル愛好家のコミュニティによって作られたマージモデルで徐々に占められてきている
用語 説明 カテゴリ
mergekit 2つ以上のLLMを1つのモデルに結合するためのツールキット。 ツール
SLERP Spherical Linear Interpolation。2つのベクトル間を滑らかに補間する手法。方向の変化を重視。 マージアルゴリズム
TIES 複数のタスク固有モデルを1つのマルチタスクモデルに効率的にマージする手法。冗長性の削減と不一致の解消を行う。 マージアルゴリズム
DARE TIESに似たアプローチだが、ファインチューニングされた重みをランダムにリセットし、重みを再スケーリングする点が異なる。 マージアルゴリズム
Passthrough 異なるLLMのレイヤーを連結してエキゾチックな数のパラメータを持つモデルを作る手法。Frankensteinモデルとも。 マージアルゴリズム
frankenmerges / Frankenstein models Passthroughにより、複数のLLMを組み合わせて作られた大規模なモデル。 モデルタイプ
Open LLM Leaderboard HuggingFaceが提供するオープンソースのLLMのパフォーマンスを比較するリーダーボード。 リソース
density (TIES/DARE) マージ時に保持するパラメータの割合。残りはベースモデルから取得される。 パラメータ
weight (TIES/DARE) マージ時の各モデルの重み付け。TIESでは自動で正規化される。 パラメータ
normalize (TIES) パラメータの重みの合計が1になるように正規化するかどうか。 パラメータ
int8_mask (DARE) 8ビット整数クオンタイズを適用するかどうか。メモリ使用量を削減できる。 パラメータ
lazy_unpickle (mergekit) 実験的な機能。メモリ使用量を削減するためにモデルを遅延ロードする。 パラメータ

4
5
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?