EvoLLM-JP:進化的アルゴリズムによるLLMの開発

この記事では、SakanaAIが発表したEvoLLM-JPとEvoVLM-JPについて紹介します。

【目次】
  1. 新アプローチ「進化的アルゴリズム」とは?
  2. モデルの生成 ~その1~
  3. モデルの生成 ~その2~
  4. 進化的アルゴリズムの課題と活用法
  5. まとめ

1.新アプローチ「進化的アルゴリズム」とは?

Sakana AIは進化的アルゴリズムを応用して、最適なモデルの割合を計算し、新たなモデルを生成する技術を開発しました。では、「進化的アルゴリズム」とはどのようなものでしょうか。「進化的アルゴリズム」とは「生物の遺伝・進化の過程を模倣した、最適解を探索するためのアルゴリズム」と表現することができます。方程式では簡単に答えを見つけることができない問題のアプローチ法として知られており、機械学習のみならず、ビジネスや工学などの様々な分野で応用されています。

現在のLLM開発には大きく分けて2つの手法が存在し、ひとつは0から膨大なデータを学習し、テストやチューニングを経てひとつのモデルを生成するという手法です。もうひとつの手法は、既存のモデルに変更を加えることで、性能を向上させるという手法です。一般的に、最先端のモデルは前者の手法を用いて生成されますが、こちらの手法は非常にコストが高いというデメリットがあります。Sakana AIは、「進化的アルゴリズム」を使用することで最適な統合モデルの配分の計算を可能にしました。


2.モデルの生成 ~その1~

実際に「進化的アルゴリズム」を使用してモデルが生成できるのかを検証していきます。1つ目のモデルとしては「EvoLLM-JP」というものを生成しました。先ほども書いたように、異なる学問領域のモデルを統合することを目的としているため、今回のモデル作成では「日本語特化モデル」と「数学特化モデル(英語)」を進化的アルゴリズムによって統合することで、「日本語で数学に特化したモデル」を生成することを試みます。

①モデルの選択肢

基盤モデルとして3つのモデルを候補に選びました。

  • shisa-gamma-7b-v1(日本語特化モデル)
  • WizardMath-7B-V1.1(数学モデル)
  • Abel-7B-002(数学モデル)

これらの3つはすべてMistral 7Bをファインチューニングして生成したモデルです。

②訓練データセット

実際にモデルを生成する際には、その性能をテストして改善していきます。今回のモデル生成で使用するデータセットは、MGSMデータセットと呼ばれるもので、これはGSM8kという数学のデータセットを多言語に翻訳したデータセットとなっており、その日本語バージョンを使用します。

③評価の方法

EvoLLM-JPは日本語で数学を解くことができるモデルである必要があるため、モデルの最終評価では2つの条件を満たしている解答を正解とみなします。

  • 最終的な計算結果が正しいこと
  • 推論の文章が日本語で書かれていること
④最適化手法

EvoLLM-JPの最適化は主に2つの空間で行われます。ひとつはパラメータ空間(PS)というもので、もうひとつはデータフロー空間(DFS)というものです。これらの詳しい説明は割愛しますが、PSでの最適化は同じニューラルネットワーク構造を持つ統合モデルを構築することを目的としていて、DFSにおける最適化はデータの流れに焦点を当てた手法となっています。EvoLLM-JPの最適化では、これらのうちのひとつ、あるいは両方を使用して最適なモデルを生成しました。

⑤結果

基盤モデル(1~3)とEvoLLM-JP(4~6)、また比較対象となるLLM(7~11)の性能を示した表は以下のようになります。

[出典:Evolutionary Optimization of Model Merging Recipes;https://arxiv.org/pdf/2403.13187]

上の3つが基盤モデルで、それらをパラメータ空間(PS)、データフロー空間(DFS)、その両方で最適化したモデルが中段に掲載されています。MGSM-JAという日本語で書かれた数学のデータセットにおける性能は、基盤モデル単体のときよりも格段に性能が向上していることがわかります。特に両空間で最適化したモデル(6番)はGPT-3.5の性能を上回っています。さらにJP-LMEHという一般的な日本語能力のテストも実行しましたが、DFSでの最適化モデルのみ日本語の能力は低下しましたが、それ以外のモデルでは日本語の性能も向上しました。EvoLLM-JPはこれだけの性能を持っていながら、同程度の性能のモデルの約10~14%のパラメータ数となっており、非常に軽量なモデルを実現していることがわかります。


3.モデルの生成 ~その2~

進化的アルゴリズムを用いたモデル生成の例として、「EvoVLM-JP」というモデルも開発しました。VLMとはVision Language Modelの略で、視覚的データとテキストデータの入力が可能なマルチモーダルモデルのひとつです。

①モデルの選択肢

EvoLLM-JPと同様に、基盤モデルとなる日本語特化モデルと視覚的言語モデル(VLM)を用意します。

  • shisa-gamma-7b-v1(日本語特化モデル)
  • LLaVA 1.6 Mistral 7B(VLM)

日本語特化モデルはEvoLLM-JPのときと同様のモデルで、LLaVA 1.6 Mistral 7BもMistral 7Bをファインチューニングしたモデルとなります。

②訓練データセット

EvoVLM-JPの訓練にあたって公開されているVLMのデータセットでは不十分なので、独自のベンチマークを設定しました。

  • JA-VG-VQA-500:Japanese Visual Genome VQAデータセットから抽出された500サンプルのテストセット
  • JA-VLM-Bench-In-the-Wild:42枚の画像とそれに対する50の質問が含まれており、日本の文化的要素や日本でよくみられるものが対象
③結果

各基盤モデルのみと、EvoVLM-JPの性能を比較します。以下の表はその性能をまとめたものです。基盤モデルと比較すると、統合モデルの方がやや性能が高いことはわかりますが、その改善幅はそれほど大きくはないでしょう。

[出典:Evolutionary Optimization of Model Merging Recipes;https://arxiv.org/pdf/2403.13187]


4.進化的アルゴリズムの課題と活用法

進化的アルゴリズムを駆使したモデルの例を2つ挙げてきましたが、この技術にはまだまだ課題がありそうです。モデルのパラメータやデータフローを自動的に計算する「進化的アルゴリズム」により、統合モデルの性能改善が見られました。しかしながら、この技術レポートでは、モデルの選択肢が最大3つとなっており、無数にある基盤モデルから完全自動で最適なモデルを生成するには、まだまだ技術的な課題があります。その一方で、この技術の活用範囲は広いと考えられます。無数にあるモデルから統合モデルを生成することは難しくても、ユーザーが選択したモデルから最適解を出すことは技術的に可能であるとしています。その他にも、最終的なモデルの生成として「進化的アルゴリズム」を使用するだけでなく、そのコストの低さを利用して、大規模言語モデル開発前の試作品としての活用も可能だとしています。


5.まとめ

この記事では「進化的アルゴリズム」を用いた新しいモデル統合手法を紹介してきました。「進化的アルゴリズム」により、異なる機能に特化した基盤モデルを最適なバランスで統合することで、新たな分野に特化したモデルを開発できることがわかりました。0からの大規模言語モデルの開発では、GPUの使用によるコストの高さや環境への負荷が問題となっていますが、この「進化的アルゴリズム」を使用すれば、低コストで高性能なモデルを生成できるという点で、環境にも優しい開発手法であるといえるでしょう。


【参考文献】

Evolutionary Optimization of Model Merging Recipes