見出し画像

論文メモ:金融ドメイン知識の追加事前学習

 よく来たな。今まではstable diffusion関連の論文を読み進めていたが、一度寄り道をする。というのもいろいろあって小さいモデルをドメイン知識で学習させようとしているのだ。
 ただ、初めてやるのでどうやるのかよくわかっていない。
 今回、まさに自分のやろうとしていることの論文がPreferred Networksさんから出ているようなので、これを読んでいくことにする。

 今回読むのはこちらの論文。
「Construction of Domain-specified Japanese Large Language Model for Finance through Continual Pre-training」
日本語では「継続事前学習による金融ドメイン特化LLMの構築の検証」。

早速やって行こう。いつものようにClaude3と一緒に読んでいく。



Abstract

大規模言語モデル(LLM)は現在、金融を含む様々な分野で広く利用されている。しかし、日本語の金融に特化したLLMはまだ提案されていない。そこで、本研究では、継続的な事前学習により、日本語金融に特化したLLMを構築することを目的とする。チューニングの前に、日本の金融に特化したデータセットを構築し、継続的な事前学習を行った。ベースモデルとして、100億クラスのパラメータモデルの中で日本の金融ベンチマークで最先端の性能を達成した日本語LLMを採用した。データセットとベースモデルを用いた継続的な事前学習後、チューニングされたモデルは、日本の金融ベンチマークにおいてオリジナルモデルよりも高い性能を示した。さらに、出力比較の結果、チューニングされたモデルの出力は、回答の質と長さの点で、オリジナルモデルの出力よりも優れている傾向があることが明らかになった。これらの結果は、LLMにおいてもドメインに特化した継続的な事前学習が有効であることを示している。チューニングされたモデルはHugging Faceで公開されている。

Construction of Domain-specified Japanese Large Language Model for Finance through Continual Pre-training (DeepL翻訳)

INTRODUCTION

近年、大規模言語モデル(LLM)は優れた性能を示しています。特に、ChatGPTやGPT-4などの最新モデルは高い性能と顕著な汎化能力を示しています。これらのモデルの基礎はトランスフォーマーとBERTから始まり、GPTシリーズがトランスフォーマーを使用して開発されました。Bard、LLaMA、Dolly、BLOOM、Vicuna、PaLM、Geminiなど、他のLLMも提案されています。

最新のLLMと以前の言語モデル(例えばBERT)の大きな違いは、1つのモデルで複数の言語やドメインの質問に答えられ、指示に従って応答できることです。以前は、BERTは言語やドメインごとに別々に訓練されていました。しかし、GPT4などの最新のLLMは複数の言語を自由に処理できます。さらに、BERTが不完全な文を埋めることしかできなかったのに対し、最新のLLMは人間と同じように質問に答えることができます。

LLMが複数の言語やドメインの質問に答えられるとしても、ドメイン特化型モデルはまだ有用である可能性があります。例えば、Hiranoらは英語ベースのモデルを日本語に調整し、元のモデルよりも優れた出力を達成しました。Sukedaらも英語ベースのモデルを日本の医療ドメインに調整しました。BERTの時代に戻ると、SciBERT、MedBERT、日本語BERT、日本語金融BERTが提案されています。さらに、Howardらはユニバーサル言語モデルのファインチューニングを提案し、ドメイン特化型ファインチューニングの方法論と効果が議論されました。

本研究では、日本語金融特化型LLMの構築を試みます。金融サービスは現在LLMの利用において注目のトピックです。例えば、BloombergGPTは金融に焦点を当てたプライベートLLMです。また、LLaMAを調整したFinLLAMA、FinGPT、Instruct-FinGPTなど、公開されているモデルも存在します。しかし、日本語金融特化型LLMはまだ提案されていません。さらに、日本語に焦点を当てたLLMのベンチマークはすでに構築されています。したがって、日本語金融特化型LLMを構築する時期が来ています。

本研究では、既存の日本語LLMにドメイン特化型(金融特化型)の継続的事前学習を行い、日本語金融ベンチマークでのモデル性能が向上するかどうかを確認します。本研究で使用した既存の日本語LLMは、Hugging Faceで公開されているrinna/nekomata-14bで、100億クラスのパラメータモデル(13b/14bモデル)の中で日本語金融ベンチマークで最高の性能を達成しています。

結果として、調整されたモデルは日本語金融ベンチマークで元のモデルよりも優れた性能を示しました。これは、ドメイン特化型の継続的事前学習が日本語金融特化型LLMに効果的であることを意味します。

調整されたモデルはHugging Faceで公開されています:
https://huggingface.co/pfnet/nekomata-14b-pfn-qfin

Claude3翻訳


RELATED WORK

金融および日本語に特化した言語モデルの研究は長い間行われてきました。言語処理で使用される古典的なベクトル埋め込み技術はword2vecです。word2vecは金融分野でも使用されてきました。word2vecの後、双方向長短期記憶(LSTM)を使用して分散表現を事前学習するELMoが登場し、時系列処理においてLSTMの優れた代替手段であるトランスフォーマー、そしてトランスフォーマーベースのBERTが登場しました。

一方で、言語モデルを特定の言語やドメインに適合させる方法論も追求されてきました。例えば、Howardらはユニバーサル言語モデルのファインチューニングを提案しました。この研究に続いて、SciBERT、MedBERT、日本語BERT、日本語金融BERTなど、ドメインや言語に特化した言語モデルが開発されました。さらに、ドメイン特化型ファインチューニングの方法論と効果が議論されました。

LLMの時代においては、序論で述べたように複数のトランスフォーマーベースの言語モデルが提案されていますが、LLMには未知のメカニズムが多く存在し、多数の試行が行われています。

金融に特化したLLMもいくつか提案されています。例えば、BloombergGPTは金融に焦点を当てたプライベートLLMです。また、LLaMAを調整したFinLLAMA、FinGPT、Instruct-FinGPTなど、公開されているモデルも存在します。

日本語に焦点を当てたLLMとベンチマークも開発されています。CyberAgentのCALMシリーズ、Rinnaのモデル、stabilityaiのstablelmシリーズ、Elyzaのモデル、Preferred NetworksのPlamo™、LLM-jp-13Bなど、様々なモデルが提案されています。しかし、学術研究論文として公開されているモデルは少ないです。他の研究では、既存の英語ベースのモデルを日本語使用に特化するよう調整しています。LLMの日本語タスク評価については、jlm eval、llm-jp-eval、Rakudaベンチマークなど、いくつかのベンチマークが利用可能です。さらに、日本語金融ベンチマークも構築されています。

LLMのチューニング方法にはいくつかの可能性があります。例えば、Low-Rank adaptationはドメイン特化型チューニングの1つの可能な方法です。さらに、指示チューニング、人間の選好からの強化学習、直接選好最適化など、他のチューニング方法も提案されています。しかし、表層的整列仮説によると、これらのチューニング方法は整列に焦点を当てているため、新しい知識を学習できない可能性があり、ドメイン特化型チューニングには効果的でない可能性があります。そのため、本研究ではドメイン特化型チューニングに継続的事前学習方法を採用しました。

Claude3翻訳

TUNING METHOD AND EXPERIMENTS

III. チューニング方法と実験

本研究では、ドメイン特化型チューニングのために継続的事前学習方法を採用しました。実験を実行するには、既存の日本語LLM、日本語金融データセット、そして日本語金融ベンチマークが必要です。以下の小節でそれぞれの詳細を説明します。

A. ドメイン特化型チューニングのための継続的事前学習

チューニング方法として、継続的事前学習方法を採用しました。これは、関連研究セクションで説明したように、継続的事前学習方法がドメイン特化型チューニングに効果的だからです。

ベースモデルとして、Hugging Faceで公開されているrinna/nekomata-14bを採用しました。rinna/nekomata-14bモデルは、100億クラスのパラメータモデル(13b/14bモデル)の中で日本語金融ベンチマークで最高の性能を達成した日本語LLMです。ドメイン特化型チューニングの効果を明らかにしたい場合、ベースモデルとして最先端のモデルを採用する必要があります。

チューニングには、データ並列分散学習を可能にするためにdeepspeedを使用したaccelerateライブラリを採用しました。その他のハイパーパラメータは以下のように設定しました:

- デバイス:A100 80GB x4
- 学習率:5e-7から開始し、0まで線形に減衰
- エポック数:5
- バッチサイズ:24(デバイスあたり6)
- 最大シーケンス長:2048
- データ型:bf16
- 勾配累積ステップ:1
- 勾配チェックポイント:True

B. 日本語金融特化データセット

モデルをチューニングするために、事前学習用の日本語金融特化データセットを構築しました。指示チューニングとは異なり、継続的事前学習方法を採用したため、データセットには様々な生の金融文書を含める必要がありました。

データセットについては、インターネットからいくつかの記事をクロールし、クリーニングしました。データセットは2024年4月現在、日本の法律の下で商業目的での使用が明確に許可されています。クロールされた記事には主に以下のタイプの文書が含まれています:

- 日本銀行の役員のスピーチ、記者会見、講演
- 日本銀行の金融政策決定会合の議事要旨
- 複数の金融機関からの報告書、用語集、会社プロフィール
- Wikipediaから抽出した金融関連文書(Wikipediaダンプを使用)

さらに、以下の公式公開文書もAPIサービスを通じて含まれています:

- EDInet上の報告書

これらの文書は主に以下の形式でクリーニングおよびフォーマットされました:

- プレーンなマークダウン形式(HTML/PDFから変換)
- セクション別に統合された形式
- カテゴリー別に統合された形式(カテゴリー/キーワード名、説明、対応する株式を含む)
- リスト形式(各行に会社名、証券コード、業種)
- 質問と回答形式(1つの質問とその回答)
- 多肢選択問題形式(1つの質問、その複数の選択肢、正解)

フォーマットには、一部stabilityaiのjapanese-stablelm-base-gamma-7bを使用しました。特に質問と回答形式および多肢選択問題は、WRAPとほぼ同じアプローチで生成されています。最終的なデータセットには約810万の文書と3億7000万のトークンが含まれています。

C. 金融特化評価

チューニングされたモデルを評価するために、2種類の評価方法を採用しました。

- ベンチマーク評価:日本語金融ベンチマークを使用してモデルを評価しました。これは定量的評価です。
- 出力比較:チューニングされたモデルの出力を元のモデルと比較しました。これは定性的評価です。

日本語金融ベンチマークは現在、金融サービスにおける日本語LLMを評価するための最も一般的なベンチマークです。ベンチマークには以下のタスクが含まれています:

- chabsa:アスペクトベースの感情分析
- cma basics:証券分析の基礎知識に関する問題
- cpa audit:日本の公認会計士試験([45]から引用)
- fp2:2級ファイナンシャル・プランニング技能検定試験
- security sales 1:第一種証券外務員資格試験

ほぼすべてのタスクは多肢選択問題で、回答はF1スコア(Chabsaの場合)または正確度(その他の場合)で評価されます。ベンチマーク評価では、以下の設定を採用しました:

- プロンプト:ベンチマークのデフォルトプロンプト(chabsa、cma basics、cpa audit、fp2、security sales 1)
- フューショット数:0

これらの設定は、簡略化と元のモデルとの公平な比較のために採用されています。

出力比較では、同じプロンプトに対してチューニングされたモデルと元のモデルの出力を生成しました。その後、出力を比較し、チューニングされたモデルの出力が回答の質の面で元のモデルの出力よりも優れているかどうかを確認しました。

出力比較では、以下の設定を採用しました:

- 最大新規トークン数:512
- サンプリング:False
- Top-k:50
- 繰り返しペナルティ:1.1

ただし、出力比較は主観的な評価です。そのため、定量的評価にはベンチマーク評価を採用し、出力比較は主にチューニングの効果を読者が理解しやすくすることを目的としています。

Claude3翻訳

RESULTS


IV. 結果

図1に、継続的事前学習の損失曲線を示しています。我々のチューニングでは、損失のスパイクは観察されませんでした。損失曲線は、学習率が線形に0に減衰するにつれて飽和しました。

以下に、ベンチマーク評価結果と出力比較結果を示します。

A. ベンチマーク評価

表Iにベンチマーク評価結果を示しています。チューニングされたモデルは、すべてのタスクで元のモデルよりも優れた性能を達成しました。チューニングされたモデルの全体スコアは0.4716で、元のモデルのスコア(0.4335)よりも+0.0381高くなっています。

チューニングされたモデルと元のモデルの差は統計的に有意ではありませんが、チューニングされたモデルがすべてのタスクで元のモデルよりも優れた性能を達成したことは重要であると思われます。

B. 出力比較

ベンチマーク結果だけを評価するだけでは、チューニングの効果を理解するには不十分です。そのため、チューニングされたモデルの出力を元のモデルの出力と比較しました。ここでは、チューニングされたモデルと元のモデルの差が大きいか明確な出力比較の例をいくつか示します。すべての結果は日本語から英語に翻訳されています。

例1: "日本銀行は"で始まる結果
(チューニングされたモデルと元のモデルの出力を比較)

例1では、チューニングされたモデルの出力は、元のモデルの出力よりもやや優れています。なぜなら、物価上昇率の中心目標は、チューニングされたモデルの出力が正しく2%としているのに対し、元のモデルの出力は約1%としているからです。

例2: "デリバティブ商品は"で始まる結果
(チューニングされたモデルと元のモデルの出力を比較)

例2は興味深い例です。この例では、チューニングされたモデルの出力は元のモデルの出力よりもはるかに優れています。なぜなら、チューニングされたモデルの出力はデリバティブ商品を正しく説明しているのに対し、元のモデルの出力はそうではないからです。さらに、チューニングされたモデルの出力は元のモデルの出力よりも情報量が多く、その出力の長さは元のモデルの出力よりも長くなっています(チューニングされたモデルの完全な出力はボックスに表示されていませんが、元のモデルの出力は完全にボックスに表示されています)。

例3: "ノックアウトオプションは"で始まる結果
(チューニングされたモデルと元のモデルの出力を比較)

もう1つの例が例3です。この例では、チューニングされたモデルの出力と元のモデルの出力の両方が正しくありません(ノックアウトオプションはバイナリーオプションの一種ではありません)。さらに、両方の出力には無関係な情報が含まれています。したがって、チューニングされたモデルでも、金融ドメイン特有の質問に対して正確に答えられない場合があります。

例4: "VIXは"で始まる結果
(チューニングされたモデルと元のモデルの出力を比較)

例4は興味深い例です。この例では、両方の出力が正しいように見えますが、VIXの説明以外の異なる情報が含まれています。しかし、チューニングされたモデルによるVIXの説明は、元のモデルの説明よりも情報量が多くなっています。

例5: "円安は"で始まる結果
(チューニングされたモデルと元のモデルの出力を比較)

また、例5では、チューニングされたモデルの出力は元のモデルの出力よりも情報量が多くなっています。さらに、チューニングされたモデルの出力は円安の影響にのみ焦点を当てていますが、元のモデルの出力には株価やCPIに関する情報も含まれています。しかし、チューニングされたモデルの出力の形式は、「Comment 2」を含んでいて、その後の文が前の文と無関係であるため、奇妙に見えます。

これらの例によると、チューニングされたモデルの出力は、回答の質と長さの面で元のモデルの出力よりも優れる傾向があります。しかし、ここで示した例は非常に限られており、チューニングされたモデルと元のモデルの間に有意な差がない比較結果も多くあります。

Claude3翻訳

DISCUSSION

V. 考察

まず、ベンチマーク評価の結果は、チューニングされたモデルがすべてのタスクで元のモデルよりも優れた性能を示しました。データセットのサイズはそれほど大きくありませんが、これらの結果は、我々のチューニングがモデルに金融ドメインの知識を追加することに成功したことを示しています。

この傾向は出力比較でも見られます。例えば、例2と4の出力結果は、チューニングされたモデルの出力が正確性と情報量の面で元のモデルの出力よりも優れていることを示しています。

しかし、チューニングに使用されたデータセットはそれほど大きくありませんが、金融ドメインに特に焦点を当てており、これがチューニングされたモデルが元のモデルよりも優れた性能を達成した主な理由である可能性があります。ドメイン特化型BERTと同様に、ドメイン特化型チューニングはLLMにも効果的である可能性があります。

一方で、出力比較の結果は、チューニングされたモデルがいくつかの質問に正確に答えることにまだ課題があることも示しました。例えば、例3の出力結果は、チューニングされたモデルが金融ドメイン特有の質問に対して正確に答えられない場合があることを示しています。さらに、ベンチマークも満点ではないため、チューニングされたモデルは金融知識の面でまだ完璧ではありません。知識の問題に加えて、幻覚などのLLM特有の問題もまだ存在します。

これらの問題に対処するために、いくつかの将来の研究の可能性があります。知識の問題に対処するために、金融のデータセットをより多様で大規模なものにする必要があります。さらに、指示チューニングも将来の研究の1つとなる可能性があります。現在、我々のチューニングされたモデルは連続したテキストの生成のみをサポートしていますが、指示チューニングは質問応答タスクに効果的である可能性があります。指示チューニングは幻覚の問題も緩和する可能性があります。したがって、金融ドメインに焦点を当てた指示データセットとチューニングは、将来の研究にとって重要となる可能性があります。

我々の結果と考察によると、ドメイン特化型チューニングはLLMにも効果的ですが、1000億クラスのパラメータモデルなど、巨大なパラメータを持つLLMに対してもチューニングが効果的であるかは明確ではありません。GPT-4シリーズは1000億クラスのパラメータモデルの1つであり、そのベンチマークスコアは我々のチューニングされたモデルよりもはるかに優れています。したがって、1000億クラスのパラメータモデルに対するドメイン特化型チューニングの効果はまだ不明確です。そのため、将来の研究には1000億クラスのパラメータモデルに対するドメイン特化型チューニングの評価も含めるべきです。

Claude3翻訳

CONCLUSION

VI. 結論

本研究は、日本語金融特化型LLMの構築を目的としています。チューニングには、継続的事前学習法を採用しました。チューニングの前に、継続的事前学習用の日本語金融特化データセットを構築しました。このデータセットには約810万の文書と3億7000万のトークンが含まれています。ベースモデルとして、Hugging Faceで公開されているrinna/nekomata-14bを採用しました。このモデルは100億クラスのパラメータモデルの中で日本語金融ベンチマークで最高の性能を達成しています。その後、データセットとベースモデルを使用して継続的事前学習を行いました。評価には、日本語金融ベンチマークと出力比較を使用しました。

結果は、チューニングされたモデルが全てのベンチマークで元のモデルよりも優れた性能を示しました。さらに、出力比較の結果も、チューニングされたモデルの出力が回答の質と長さの面で元のモデルの出力よりも優れる傾向があることを示しました。しかし、チューニングされたモデルは一部の質問に正確に答えることにまだ課題があります。これらの結果から、ドメイン特化型チューニングはLLMにおいても依然として効果的であることがわかります。

最後に、将来の研究の範囲には、指示チューニング、より広範な金融知識をカバーする追加データセット、そして1000億クラスのパラメータモデルに対するドメイン特化型チューニングの評価が含まれます。

Claude3翻訳




論文自体が読みやすく、日本語にしたらほぼそのまま最後まで読めてしまった。特に書くことがない!

感想として、継続的な事前学習のやり方がなんとなくわかった。
もう少し調べて、ドメイン特化のAIを一つ作ってみたい。

この記事が気に入ったらサポートをしてみませんか?