LLM x GA

Share on:

かなり悔しい気持ちがあるので戒めを兼ねてのブログ書き。


sakana.di: 進化的アルゴリズムによる基盤モデルの構築という発表が流れてました。

遺伝的アルゴリズム (Genetic Algorithm; GA) や進化的アルゴリズムとか呼ばれるやつを適用したぞというのが本筋らしく、構築した7Bモデルですら、一部のベンチマークでは Llama2 70B, Swallow 70B を大きく上回っているようです。

論文斜め読みした感じでは、複数のLLMをマージする形で新しいLLMを構築し、その良し悪しをベンチマークで評価して適応度を求め、その値に応じて選択する形っぽい。交差や突然変異を「パラメータ空間のマージ」として設計したという形に見えます。「3.2 Merging in the Data Flow Space」は Data Flow という言い方してるけど、レイヤー単位でのマージをしてるだけなのかな。


何が悔しいって自分自身の一番根っこにある部分の研究分野どストライクなんですよこれ。卒論〜博士論文に至るまで遺伝的アルゴリズムをベースにした拡張アルゴリズムに取り組んでたし、何より自分自身が研究の道を選ぶキッカケになったアルゴリズムなんですよ。学生の頃にこの話を聞いて猛烈な面白さを掻き立てられ、そしてこの方面をうまいこと盛り込まれている点が激烈に悔しい。

一方で気になる点もあって、、、

  • GAで最適化するとフィットネス関数一直線になりがちで「指定されたベンチマークでは良くなるけど、その一方でそれ以外の性能は落ちそう」な印象があります。汎化性能落ちないのかな。
    • パラメータ空間がそれ以上に大きいので問題ない説はあるかもしれない。
    • 力技で汎化性能求めるためにベンチマーク増やす道はあるかもしれないが、どんどん評価コスト高くなるぞ。
  • ベンチマークでの評価って結果的に学習並みのコストが必要になってたりしないのかな。
  • 細かい話をすると、
    • そもそも集団をどう用意してるのだろう。GA系論文だと population として書くのだけど今回の論文にはこの単語自体ができていない。LLM自体がでかいので2個体〜数個体用意するだけでもメモリ的に厳しそう。
    • 100世代?ぐらい実行してるようだけど、事前学習済モデルから開始してるという意味ではこのぐらいで十分なのかな。元の評価が高いため、終了条件の設定が難しそう。

とはいえ、そのベンチマークで上回るスコアを叩き出してる時点で凄いのだよな。

そんなこんなで悔しいdrivenな日記でした。