Blog
2024年夏季インターンの矢野一樹さんによる寄稿です。
はじめに
LLMの飛躍的な文章生成・理解能力の向上に伴い,金融ドメインにおける様々なタスクへの応用が活発に進められています.その中でも,金融因果関係抽出は特に重要なタスクの一つです.金融における因果関係の正確な把握は,意思決定プロセスにおいて非常に重要な役割を果たします.具体的には,株価変動の要因,為替レートの変動メカニズム,企業業績の変化要因などの理解が,リスク管理や投資戦略の最適化に不可欠です[1].本稿では,こうした金融因果関係抽出タスクに対し,LLMの性能をさらに向上させるための方法を検証します.
金融因果関係の知識構造化と継続事前学習
本稿では金融テキストにおける,因果関係抽出タスクに対して,金融的因果関係を「知識」として捉えます.金融的な因果関係は一種の体系的な構造をもち,それらに関連する文脈を知識としてみなすことが可能だからです.例えば「世界的な物価上昇(インフレ)→ 中央銀行による利上げ」などは,原因と結果をある種一つの知識として捉えることができます.このように,金融における因果関係を知識として捉えた場合,これらをLLMが効果的に学習するためには,ファインチューニングなどのpost-trainingよりも継続事前学習が適していると考えられます.これは,ファインチューニングに比べ,継続事前学習の方が知識の獲得に適しているという既存研究が複数あるためです[2][3].継続事前学習を行うためには,当然ながら適切なデータが必要です.本稿の以下の部分では,金融の因果知識を補強するためのデータセットについて議論します.
金融因果能力強化のためのデータセット
金融因果関係を知識として捉え,LLMの因果抽出能力を継続事前学習により強化するにあたり,適切なデータセットの構築が不可欠となります.まず素朴に考えられるのは,Webから収集した金融ニュース,アナリストレポート,企業決算資料などから金融的な因果関係を含むような文章で構成されたデータセットです.例えば「原油価格の高騰により,航空会社の利益が圧迫された」といった文から「原油価格の高騰→航空会社の利益圧迫」という因果関係をLLMが学習することを期待します.しかし,このような形で知識をLLMに学習させ定着させるには,1つの事象について何千ものテキスト例に触れる必要があることが指摘されており[4],webからのテキストのみで因果関係に関する能力を強化することも同様に難しいと考えられます.
そこで,本稿ではYangら[5] が提唱した,LLMによる合成データ生成方法であるEntiGraphに着目しました.EntiGraphは効率的な知識獲得のために,小規模なコーパスから多様な知識表現を合成する手法です.EntiGraphのアルゴリズムは以下のステップで構成されています:
- エンティティ抽出: 元の文書から要約文を生成させると同時に重要なエンティティを抽出.
- 関係分析: 抽出されたエンティティ間の関係を分析し,それらの関係を表す新しいテキストをLLMにより合成
本稿ではEntiGraphによる合成データ生成方法を用いて,継続事前学習のためのデータセットを構築していきます.
EntiGraph による金融因果抽出能力向上のためのデータセット生成
元のEntiGraphでは知識を主眼としていましたが,今回は因果関係を焦点としてデータセットを合成します.具体的にはLLMとしてPLaMo 1.0 Prime Betaを用い(注),クローリングにより取得した金融関連のWebレポートを元文書として,以下の手順でデータを合成しました.
- 元文書からLLMを用いて因果関係自体を抽出.
- 抽出した因果関係と元文章をプロンプトに与え,与えた因果関係を中心に議論させる.
注) PLaMoの出力は,通常はほかのモデルの学習に使用できませんが,今回はPFN社内の取り組みであるため,使用できています.
具体的なプロンプトは以下のとおりです.
手順1のプロンプト
system_prompt = """金融分野の専門家かつ、因果関係の分析者として、あなたの課題はユーザーから提供される文書を解剖し理解することです。""" prompt = """以下のステップを実行してください: ステップ1: 記事を要約する:記事全体の簡潔な要約を提供し、主要なポイントとテーマを捉える。 ステップ2: 因果関係の抽出: 文書内で言及されたすべての重要な因果関係を特定しリスト化してください。 要約は簡潔かつ包括的にしてください。因果関係のリストは詳細かつ正確であることを確認してください。情報を効果的に整理するために、JSONフォーマットで回答を構成してください。回答に使用すべきフォーマットは以下の通りです: { "要約": <要約文>, "因果": [{"原因":``原因に該当する部分のテキスト``,"結果":``結果に該当する部分のテキスト``}, ...] } 文書は以下のとおりです。 {text}"""
手順2のプロンプト
system_prompt = """あなたは、ユーザーが提供する記事を分析する金融機関の専門家として行動します。""" prompt = """与えた記事の文脈内で、指定された因果関係が具体的にどのように相互作用しているかを議論します。 出力の各セクションには十分な文脈を含め、理想的には記事のタイトルを参照して、議論の焦点を明確に保つようにしてください。 タイトル: {title} 原因: {cause} 結果: {result} 文書: {text}"""
このようにして元文書約30M token のデータから,約100M token のデータを合成しました.
以下は生成されたデータの内の一つです
分析の結果、特定された原因と結果の関係性は以下の通りです。\n\n原因: 米国の物価上昇圧力と消費者心理の悪化\n結果: 東京株式市場の大幅下落、米国株の下落、投資家の金利上昇への懸念増加\n\nこの関係性を分析すると、以下のようになります。\n\n* 米国で物価上昇圧力を示すデータや消費者心理の悪化が示されたことで、投資家の間で将来的な景気後退と物価上昇が同時に発生するスタグフレーションへの懸念が強まりました。\n* スタグフレーションへの懸念が強まった結果、米国株が下落し、その影響が東京株式市場にも波及しました。\n* 米国株の下落により、投資家の間でリスク回避の姿勢が強まり、東京株式市場でも幅広い銘柄が売られる結果となりました。\n* 米国での物価上昇圧力の高まりとそれに対応するための大幅な利上げ観測が強まったことで、投資家の間で金利上昇への懸念が増加しました。\n* 金利上昇への懸念の高まりが、株式市場の下落圧力となり、東京株式市場の不安定な動きにつながっています。\n\n以上のように、米国の経済指標の発表をきっかけに、スタグフレーションへの懸念、米国株の下落、そしてそれらに起因する東京株式市場の下落、さらに金利上昇への懸念の高まりといった一連の連鎖反応が発生していると考えられます。
以上の合成データがLLMの金融因果抽出能力の向上に実際に寄与するかを検証します.
実験
実験設定
本稿では,PLaMo-1B (注:PLaMo Liteとは異なります) をベースモデルとして使用し,金融因果関係の抽出能力の向上を目指して継続事前学習を行いました.具体的には,以下の3つの条件でモデルを訓練しました:
- 元文書モデル: クローリングにより取得した金融関連のWebレポート(約30M token)のみで継続事前学習を行ったモデル
- 合成データモデル: 前述の方法で生成した因果関係を中心とした合成データ(約100M token)のみで継続事前学習を行ったモデル
- データ混合モデル: 元文書と合成データを混合したデータセット(約130M token)で継続事前学習を行ったモデル
訓練設定は全てのモデルを通して以下のとおりです.
- GPU: A100 80GB 4枚
- 学習率: 1e-7からスタートし,cosine形に0に落としていく
- Epochs: 1
- バッチサイズ: 24
評価方法
現状,日本語において,金融分野における因果抽出を適切に評価できるベンチマークなどの標準的な方法が確立されていません.そこで本稿では,訓練前と訓練後のモデルのパフォーマンスを比較するための独自の評価フレームワークを構築しました.
評価データとして,EDINETから取得した2022年から2024年のうち4月から5月に出された決算短信を使用しました.これらの文書に対して,以下のプロセスで因果関係の抽出を行いました:
- GPT-4o-miniを用いて,文書から因果関係を含む文章を特定
- 特定された文章から因果関係(原因と結果のペア)をGPT-4o-miniで抽出
このプロセスには,以下のプロンプトを使用しました:
system_prompt = """金融分野の専門家かつ、因果関係の分析者として振る舞ってください。""" prompt = """与えた文章について,因果関係を持つ文章を抜き出し,その文章が持つ因果を以下の形式で記述してください. 例: [{"文章": "原油価格の高騰により,航空会社の利益が圧迫された" , "因果": 原油価格の高騰航空会社の利益が圧迫}, ...] {文書}"""
これにより抜きだされた因果を含む文章,約1700件を評価データとして使用し,抽出された因果関係を,参照データとして使用しました.
ペアワイズ評価
訓練前後のモデル性能を比較するため,GPT-4o-miniを用いたペアワイズ評価を実施しました:
- 評価データに対して,訓練後の各モデル:元文書モデル,合成データモデル,混合モデル(モデルA)と訓練前のPLaMo-1Bモデル(モデルB)それぞれが因果関係を抽出
- 同一文書から抽出された因果関係のペア(モデルA vs モデルB)をGPT-4o-miniに提示
- GPT-4o-miniが参照データも考慮しながら,「モデルAが優れている」「モデルBが優れている」「引き分け(同等)」の3つの判定を実施
各ペアの比較結果から,モデルAの勝率,モデルBの勝率,引き分け率を計算し,訓練の効果を測定しました.
結果
継続事前学習を行った各モデルについて,GPT-4o-miniを用いたペアワイズ評価を実施した結果を以下に示します.
元文書モデル
元文書のみで継続事前学習を行ったモデルと学習前のベースラインモデルを比較した結果は以下の通りです:
- 学習後モデル勝率: 7.44%
- 学習前モデル勝率: 6.49%
- 引き分け率: 86.07%
元文書モデルは,学習前のモデルと比較してわずかに性能が向上しました.しかし,引き分け率が非常に高く,学習前と学習後で大きな違いが見られないと考えられます.
合成データモデル
因果関係に特化した合成データで継続事前学習を行ったモデルと学習前のモデルを比較した結果は以下の通りです:
- 学習後モデル勝率: 40.32%
- 学習前モデル勝率: 23.97%
- 引き分け率: 35.71%
合成データモデルは,学習前のモデルに対して性能向上が見られました.引き分け率も元文書モデルと比較して大幅に減少し,合成データによる学習が金融因果抽出能力に明確な影響を与えたことを示しています.
データ混合モデル
元文書と合成データを混合して継続事前学習を行ったモデルと学習前のモデルを比較した結果は以下の通りです:
- 学習後モデル勝率: 43.39%
- 学習前モデル勝率: 27.51%
- 引き分け率: 29.10%
データ混合モデルも合成データモデルと同様に,学習前のモデルに対して大幅な性能向上が観察されましたが,合成データモデルと比較して勝率の違いはほとんどなく,データを組み合わせることの利点が必ずしも明確にあるわけではないことを示しています.
これらの結果から,因果関係に焦点を当てた合成データが金融因果抽出能力の向上に大きく貢献することが実証されました.特に,元文書のみで学習したモデルと比較して,合成データで学習したモデルは顕著な性能向上を示しました.これは,EntiGraphで用いるデータセットの生成方法として,LLMを用いた因果関係に特化した合成データの生成が効果的であることを示唆しています.
おわりに
本稿では,金融ドメインにおける因果関係抽出能力の向上を目的として,EntiGraphを応用した合成データ生成手法を用い,その効果を検証しました.PlaMo-1B をベースモデルとして,継続事前学習を行った結果,EntiGraphによるデータが金融因果抽出能力の向上に寄与することが確認できました.
今後の課題としては,まず一つ目に,金融因果抽出のより適切なベンチマークの構築です.本稿では,GPT-4o-miniによるペアワイズ評価を採用しましたが,より正確に金融因果を評価できる手法の構築が必要であると考えらえます.次に,EntiGraphによって強化されているのが純粋な因果抽出能力なのか,あるいはLLM(PLaMo 1.0 Prime Beta)の他の能力(例えば文脈理解や推論能力)によって間接的に向上している可能性も検討する必要があります.
参考文献
[1] 坂地 泰紀, 和泉 潔. グラフニューラルネットワークを用いた金融因果関係の抽出. JSAI 2023. https://www.jstage.jst.go.jp/article/pjsai/JSAI2023/0/JSAI2023_3A5GS601/_article/-char/ja/
[2] Chunting Zhou, Pengfei Liu, Puxin Xu, Srini Iyer, Jiao Sun, Yuning Mao, Xuezhe Ma, Avia Efrat, Ping Yu, LILI YU, Susan Zhang, Gargi Ghosh, Mike Lewis, Luke Zettlemoyer, Omer Levy. LIMA: Less Is More for Alignment. NeurIPS 2023. https://openreview.net/forum?id=KBMOKmX2he
[3] Zeyuan Allen-Zhu, Yuanzhi Li. Physics of Language Models: Part 3.1, Knowledge Storage and Extraction. ICML 2024. https://openreview.net/forum?id=5x788rqbcj
[4] Zeyuan Allen-Zhu, Yuanzhi Li. Physics of Language Models: Part 3.2, Knowledge Manipulation. ICLR 2025. https://openreview.net/forum?id=oDbiL9CLoS
[5] Zitong Yang, Neil Band, Shuangping Li, Emmanuel Candes, Tatsunori Hashimoto. Synthetic continued pretraining. ICLR 2025. https://openreview.net/forum?id=07yvxWDSla