⚖️

進化的モデルマージを用いた日本語金融LLMモデルの構築

に公開

1. はじめに

MTECのAIグループに所属しております、山口 流星と申します。

今回は、2024年の10月に開催された第33回 人工知能学会 金融情報学研究会(SIG-FIN)に投稿した「進化的モデルマージを用いた日本語金融LLMモデルの構築」の論文解説となります。
本研究はデータアナリティクスラボ株式会社との共同研究であり、2024年5月に Sakana AI 社が提唱した進化的モデルマージ技術を用いて日本語×金融ドメイン特化LLMの構築を行ったものになります。

2. 背景

金融ドメイン特化モデルには一定のニーズがあるとされています。それには、金融領域の専門的な単語の多さであったり独特の表現が多いことなどが関係し、汎用タスクに対して調整されたLLMでは十分な性能が引き出せないという課題があるためです。そのため、BERTモデルであればFinBERT(2019)、大規模化した後でもFinGPT(2023)や、BloombergGPT(2023)といったさまざまな金融ドメイン特化のモデル構築が行われていました。いずれのモデルも英語がベース言語という点で、日本語の解釈能力を持ちつつも金融ドメインに特化してタスクに対応できるようなモデルの構築が注目されていました。
しかし、そのようなモデルを構築することは容易ではなく、学習コストやデータ整備などのさまざまな課題が存在します。特に金融領域のテキストデータは英語などの一部の言語に偏在していることが多く、多言語対応の高性能モデルの構築が自然と求められることになります。

この課題の解決方法の1つとして、本研究では「モデルマージ」の技術に注目しました。モデルマージは、複数の学習済みモデルの重みを組み合わせることで、それらのモデルの特性を兼ね備えた新たなモデルを構築する手法です。様々なデータで学習済のオープンソースLLMが公開されていることを受け、これらのLLM、特にドメイン特化型のモデルを組み合わせることで、追加の学習コストを抑えながらも目的のLLMを獲得できるのではないかと期待されます。しかし、モデル同士の重みをどの程度の比率で組み合わせるかで出来上がりのLLMの性能は大きく異なり、この組み合わせ方の難しさがモデルマージの課題となっていました。

このモデルマージ技術の課題に対する提案手法として、Sakana AI社のAkibaらは進化的モデルマージと呼ばれる手法を提唱しました。進化的アルゴリズムを用いて学習することで、経験則に依存せずモデルの最適な組み合わせ方を発見するような手法となっており、組み合わせ方の調整を最適化タスクに落とし込むことで解決を図ったものになります。著者らはこの手法を用いて数学問題に強いLLMや画像と組み合わせたマルチモーダルLLMの構築が可能であることを示しており、日本語金融特化モデルの構築へ応用した際にも可能性が挙げられます。


(出典:[2]) 
LLMの日本語で数学の問題を解く性能の比較。MGSM-JAのカラムが正答率を示します。
モデル1〜3は元のモデル、モデル4〜6は最適化されたマージモデルです。
モデル7〜10は比較のために高性能な既存LLMのスコアを掲載しています。

3. 進化的モデルマージ

3.1 進化的モデルマージとは

進化的モデルマージとは、複数の異なるLLMのパラメータの組み合わせにおけるハイパーパラメータを、進化的アルゴリズムによって最適化することで新たな高性能モデルを作成する手法です。最適化の際は特定の自然言語タスクを設定し、そのタスクを解きながら良いハイパーパラメータを探索していきます。

本研究では進化的モデルマージ手法のうち、「パラメータ空間」上のモデルマージを採用しているため、こちらに絞って解説します。以下の図のOur Merged models の左側に相当します。


(出典:[1]) Figure 1: Overview of Evolutionary Model Merge.

これは、同一アーキテクチャを持つモデル間でのマージとなり、各層の重みを一定の比率で按分したものを混ぜ合わせることで新しいLLMを構築します。元のアーキテクチャを保持するマージのため、モデルサイズも不変になるという点でイメージしやすい手法となります。

3.2 進化的モデルマージの実行手順

進化的モデルマージは主に2つの内容に分かれています。1つは「モデルマージの技術的な工夫」で、効率的なマージを行うために提案手法では「DARE-TIES」を採用しています。これにより単なる按分ウェイト以外にもハイパーパラメータが必要になります。もう1つは「進化的アルゴリズムを用いた最適化」で、DARE-TIESにより設定されたハイパーパラメータを進化的アルゴリズムの「CMA-ES」で最適化します。最適化のタスクには適当な自然言語タスクおよび評価指標を設定する必要があります。

これを踏まえると、進化的モデルマージは次の手順で実行されることになります。

  1. マージ手法の設定、ハイパーパラメータの設定
  2. 構築するモデルに合った学習タスクおよび評価指標の設定
  3. 進化的アルゴリズムを用いたパラメータの最適化

3.3 DARE-TIESについて

モデル同士を効率的にマージするために、提案手法では「DARE-TIES」を採用しています。この手法は「TIES-merging」と「DARE」の2つの技術を組み合わせたマージ手法となっており、次のような手順でマージが行われます。

  1. デルタパラメータ(事前学習済モデルの重みと特化されたモデルの重みとの差分)の計算
  2. ランダムに一定の割合でデルタパラメータをリセットし、リスケーリング
    ※ リセットされないデルタパラメータの割合をここでは「枝刈りウェイト」とします
  3. マージ対象モデルのデルタパラメータの符号が一致するパラメータに対して、各モデルの重みを「按分ウェイト」を用いて加重平均

DARE-TIESでは、枝刈りウェイトと按分ウェイトの2つがハイパーパラメータとなり、これを進化計算で最適化することになります。

なお、上記のハイパーパラメータは層ごとに独立して設定することができるものの、最適化のパラメータ数も増えることにより最適化が複雑になることも考えられるため、適切な設定が求められます。

なお、具体的な技術的な手法については共同研究先のサイトでも紹介されておりますので、併せてご覧いただければと思います。

4. 分析設定

4.1 目標と検証観点

本研究では英語金融データで学習されたLLMと日本語データで学習されたLLMをマージし、日本語金融LLMの構築を目指します。その中で、次の観点に着目して研究を進めました。

  • どのような最適化タスク設定がパフォーマンス向上に寄与するか?
  • ドメイン特化モデルの構築において有効なマージとは?

4.2 マージ対象モデル

パラメータ空間上のモデルマージを行うため、同一アーキテクチャのモデルが必要となります。今回はLlama3をベースモデルとする以下の2つのモデルを採用しました。

  • 英語金融モデル:finance-Llama3-8B
  • 日本語汎用モデル:Llama3-ELYZA-JP-8B

4.3 データセット

日本語の金融ベンチマークとして公開されているjapanese-lm-fin-harnessと、英語金融データとしてFPBを用いています。

  • japanese-lm-fin-harness

    • japanese-lm-fin-harnessは5つのデータ・タスクから構成されるデータセットになります。
  • FPB

    • FPBは英語金融ニュースの感情分析タスクのデータセットになっており、合計で5000件ほどのデータ数があります。

4.4 実験方法

最適化タスクを4パターン設定し、各金融タスクに対するパフォーマンスを比較していきます。

最適化タスクの設定方法の意図は次のようになります。

  • パターン①vs ② / パターン③ vs ④
    • 最適化タスクの設定の違いでマージ後の金融タスク性能差がどのように現れるかを検証します。
  • パターン① vs ③ / パターン② vs ④
    • 英語感情分析タスクを混ぜることによる効果を検証します。金融知識は英語ベースのモデルになっているため、ドメインに対応する言語のタスクを追加することでより性能を引き出せることを期待した検証となります。

それぞれの最適化タスクに対して次の設定でマージし、テストタスクの評価結果を比較します。

  • 各層のハイパーパラメータは上から8層ごとに共通化して設定
  • 目的関数は最適化タスクの推論結果に対するAccuracyを評価指標として設定
  • 最適化は最大で300ステップ実施、目的関数の評価更新が一定なければ打ち止め
  • 指定ステップ内での目的関数の最大値となるパラメータを用いてマージ
  • テストタスクをAccuracyで評価

4.5 分析ライブラリ

モデルマージの実装および最適化にはmergekitのライブラリを用いています。
今回のモデルサイズでは1GPU(VRAM=24GB)の環境で実行できます。

5. 実験結果

5.1 最適化タスクとパフォーマンスの関係

それぞれの実験パターンの結果は次のようになりました。

まず、5つの金融タスクに対する平均スコアを見てみるとパターン②,④の性能が良く、これらのスコアは各単体モデルよりも良いスコアを得られています。また、各タスクごとの観点で見ても単体モデルと同等以上のスコアが得られていることから、金融ドメインにおいても進化的モデルマージによる汎化的なモデル構築への可能性が得られたことになります。

続いて、最適化タスクの観点に着目してみていきます。

  • 最適化タスクの違い

    • chabsa(有報テキストの感情分析)よりもFP2(フィナンシャルプランナー2級検定)で最適化した場合に cma(証券分析の基礎知識) の性能差が顕著に表れています。このことから、目的関数に含まれないタスクに対する汎化性は、最適化タスクの設定で異なるということが分かります。今回の結果に対する考察として、cmaは「文章理解の重要性が高い」ことに加えて「一定の高度な金融知識を要する」ようなタスクであったため、cmaタスクの性能向上には感情分析タスク(chabsa)よりもfp2の方が適正であったのではないかと考えています。
  • FPBの追加効果

    • 最適化タスクに英語金融タスクのFPBを加えた場合の結果は、それほど大きな性能差は見られないため追加効果は限定的であったといえます。ただ一方で、複数の最適化タスクでの最適化でもそれほど性能が劣化していないという見方も出来るため、複数タスク混合での最適化に対しても一定可能性があるともいえます。
  • その他確認された結果

    • 今回の最適化タスクのどのパターンにおいても、audit と security のタスクの精度はあまり変化しませんでした。この結果については、同じ金融ドメインでも、目的関数のタスクと必要な知識ドメインの領域の乖離が影響した可能性が考えられます。

5.2 モデルマージで得られるハイパーパラメータについての考察

前節より、fp2を最適化タスクとして用いたパターン(パターン②と④)が性能が良く、金融分野における他タスクへの汎化性能も高くなるという結果が得られました。ここでは、そのような良いモデルがどのようなマージで獲得されたのかについて検証・考察を行います。ハイパーパラメータは上から8層ごとに共通化しており、モデルは32層から構成されていることから各ウェイトごとに4つのハイパーパラメータが存在します。

  • 枝刈りウェイトについて

    • 枝刈りウェイトはデルタパラメータを残した割合のため、どの層もほぼ1を取っていることから枝刈りの効果は限定という結果になっています。また、今回の最適化中においても枝刈りウェイトは1に近い値を取る傾向にありました。
  • 按分ウェイト

    • 按分ウェイトは特徴的な結果が見られ、1から8番目の浅い層においてELYZAの按分ウェイトが0.8 を超える高い値を出している一方、それ以外の層ではELYZAの按分ウェイトが低くなり、finance モデルの按分ウェイトが高くなっていました。この結果については先行研究における示唆とも一致する点があり、それらの特徴がモデルマージにも表れたといえます。進化的モデルマージにより層に応じて適切な按分でマージされて、日本語金融タスクにおいて必要な言語能力と知識を効果的に統合し、性能の良いモデルが得られたと考えられます。

5.3 按分ウェイトに対する追加検証

今回の進化的モデルマージにおいて、性能を引き出すモデルの構築には浅い層にはELYZA、それ以外の層ではfinanceの比重を高めることが有効であることが示唆されています。ここでは追検証として、按分ウェイトの変化に対するパフォーマンスを比較します。実験設定は次のように設定しました。

  • 枝刈りウェイトは両方のモデルで1で固定
  • パターン4のモデルの16-24層、25-32層のハイパーパラメータは固定
  • 1-8層と9-16層のハイパーパラメータを0.25, 0.5, 0.75 の9パターンでグリッドサーチ

追検証の結果として、まず5タスク平均を見ると次のような結果となり、進化的モデルマージによる最適化の結果は平均的によいパフォーマンスを引き出すウェイトが上手く得られていたことが分かります。グリッドサーチの結果で見ると、特に浅い層はELYZAの比重を高めることが有効そうに見られます。金融タスクはどれも日本語の解釈能力が高いものが大きいことが起因しているのかもしれません。

また、以下は各タスクごとの結果を見たものになりますが、こちらはかなり興味深い挙動が得られており、各タスクで見ると、ベストなモデルは異なるという結果となりました。

最適化タスクによって性能が伸びたタスク(chabsa, cma)については先ほどと同様の傾向が得られています。一方で性能が伸びなかったタスク(audit, security)は、浅い層のELYZAのウェイトが少ない方が性能が良くなる傾向が見られ、このウェイトでマージすることで単体モデルよりもパフォーマンスは良くなっていることが確認されます。5.2節の「同じ金融ドメインでも、目的関数のタスクと必要な知識ドメインの領域の乖離」という点が、最適なマージウェイトの観点でも表れているといえます。

6. おわりに

本研究は、進化的モデルマージを用いて日本語金融タスクに特化した高性能LLMを構築する方法を示しました。今回の実験から、ドメイン特化モデルの構築においてより深い金融知識が必要なタスクを用いることが有効であることや、LLMの性質として持っている「層ごとの役割」がマージウェイトに対しても表れており、今回の進化的モデルマージによるパラメータ探索がある程度妥当であることを示唆する結果が得られました。

MTECでは他にも生成AIやLLMの金融領域への利活用に関する研究を行っています。これまでの活動一覧については、以下のサイトをご覧ください。

また、MTECにご興味のある方は、ぜひ以下の採用サイトをご覧ください。

最後までお読みいただき、ありがとうございました!

7. 参考文献

  1. Takuya Akiba, Makoto Shing, Yujin Tang,Qi Sun, and David Ha. "Evolutionary optimization of model merging recipes", 2024.
  2. 進化的アルゴリズムによる基盤モデルの構築 - Sakana AI , Link
  3. Masanori Hirano, "Japanese Language Model Financial Evaluation Harness", 2023
  4. 平野正徳, "金融分野における言語モデル性能評価のための日本語金融ベンチマーク構築", 2023
  5. Charles Goddard, Shamane Siriwardhana, Malikeh Ehghaghi, Luke Meyers, Vlad Karpukhin, Brian Benedict, Mark McQuade, and Jacob Solawetz. "Arcee’s mergekit: A toolkit for merging large language models", 2024
MTEC Tech Blog

Discussion