appricot’s diary

日々の勉強のメモ

金融系に特化したLLM

金融系に特化したLLMとして、FinGPTとBloombergGPTがある。両者について、メモ。

 

FinGPTの特徴

arxiv.org

  1. Pre-trained model(LLM)は、既製品を利用。具体的にはMetaによるLLaMAなど。
    1. BloombergGPTは、LLMの部分も、金融データを使って自前でやっている。そこた違いか?
  2. その上で、既製品をFine-tuneする際に、各種金融系データ (News, SNS, 企業開示, 株価)を利用。
  3. FIne-tuneの方法は、金融系データ+LoRAとRLSPを利用。
    1. LoRAは既存の方法。パラメータの一部のみをFine-tuneすることで、低学習コスト。学習の際には、Newsに対するStock Priceの増減(Positive, Negative, Neutral)も、ラベルとして利用。
    2. RSLP(Rainforcement Learning via Stock Price)は、新規の方法。RLHPが、Fine-tuneを人間のFeedback + 強化学習を用いて実施する方法だが、その人間のFeedbackの部分を株価で代替。これによって、各種金融イベントに対するMarket response予測などを容易にする効果あり。
  4. 評価結果は、残念ながら、論文に含まれておらず。 

BloombergGPTの特徴

arxiv.org

  1. Pre-trained model(LLM)について、一般的なデータ(General Data)と、金融系のデータ(Domain-specific data)の両方を利用して学習。
    1. Bloomberg内のデータとPublicな金融系データの両方を利用。
  2. TokenizerとしてSub-word tokenizerではなく、Uni-gramを利用。
  3. LLM構築時の訓練モデルとして、Bloombergが作成したモデルを利用。
    1. Decoder-onlyの言語モデル。70個のLayerから構成 + Self Attentionメカニズム。
    2. 言語はPyTorch。インフラは、Amazon SageMakerを利用。
    3. Alibi位置エンコーディングを利用。長い文の入力にも対応。
  4. 評価結果として、Domain-specificなTasksで高い性能。General tasksも、タスクによって、他の汎用モデルと同じか、それを凌駕する性能。

その他

  1. Bloomberg GPTは、LLMの訓練に金融系データを既に利用しているため、金融系データやタスク毎でのFine-tunningは、していない模様。
  2. Bloomberg GPTでは、評価方法・GPTの典型的タスク例として、以下6つを定義。
    1. Descriminative Tasks
      1. Semantic Analysis:文が与えられ、「Sentimentは?」の質問に、Positive, Negative, Neutralで回答。
      2. Aspect-specific sentimant Analysis:文が与えられ、「TargetのSentimentは?」の質問に、Positive, Negative, Neutralで回答。
      3. Binary Classification:文が与えられ、質問に対し、Yes/Noで回答。
    2. Generative Tasks
      1. NER:文が与えられ、それに含まれる固有表現を回答。
      2. NER+NED(Named Entity Disambiguation):文が与えられ、それに含まれる固有表現(企業名)に対応するTickerを回答。
      3. QA:文が与えられ、質問に対し回答。