1.3K Views
August 18, 23
スライド概要
2023/8/18
Deep Learning JP
http://deeplearning.jp/seminar-2/
DL輪読会資料
“BloombergGPT: A Large Language Model for Finance” Yuta Sawada 1
書誌情報 ● 論文: https://arxiv.org/abs/2303.17564 ● 発行: Mar 2023 ● 概要 ○ BloombergGPTは、金融特化型のデータを含む約5690億トークンのデータセッ トで学習された500億パラメータのLLM ○ 財務タスク、汎用的なLLMベンチマーク共に高い精度を誇る
背景 汎用的なLLMがあふれる中で、ドメイン特化型のLLMを開発したい ● 1750億パラメータのGPT-3に続き、Gopher(2800億)、PaLM(5400億)、 Megatron(1兆)などの大規模言語モデル(LLM)が開発 ● いずれも幅広いトピックとドメインをカバーするデータセットでトレー ニングされた汎用的なLLMに焦点が当てられている ● 金融は、NLP技術が特に重要な分野であり、センチメント分析などの金 融固有のタスクが多く存在する ● 金融ドメインに焦点を当てたLLMはまだ開発・評価されていない
BloombergGPT 汎用的かつ金融ドメインに特化したハイブリッドのLLM ● モデル: 金融ドメインと一般のデータソースの両方を使用して学習した500億 パラメータのLLM ● 学習データ:従来のwebスクレイピングのものとは異なり、信頼性のあるソー スからのキュレーションしたデータを大量に含む7000億トークンのコーパス ● 評価:金融NLPベンチマークと汎用的なLLMベンチマークの両方で高精度 ● モデル構築の課題:膨大な計算を最適化するために、GPT-3やBLOOMの 取り組みの一環として開発された既存のコードを活用
データセット FinPile:Bloombergが独自に作成した金融データを含むデータセット ● Financial Data(全体の約半分を占める) ○ Web: 全体の42% (スクレイピングにより) ○ News: bloombergのニュース記事を除くす べての記事 ○ Filing: 公開の財務諸表 ○ Press: 金融のプレスリリース ○ Bloomberg: bloombergのニュース記事 (0.7%) ● Public Data(公開されているデータセット) ○ The Pile: GPTJ, GPT-neoX等 ○ C4: T5 ○ Wikipedia: 2022/7/1の英語のwikipedia
Tokenization Bloomberg Tokenizer: 金融データのため独自のトークナイザーを開発 ● GPT-2など従来のトークナイザーの問題点 ○ 数字が、個別に認識されない ● Bloomberg Tokenizer ○ Unigramトークナイザーを実装し、The Pileを分割してトレーニング ○ 数字を個別に認識できる&マルチワードトークンに対応 ● Unigram トークナイザー ○ テキストを単語や文字などの独立した単位に分割するトークン化手法 (↔ BPEやWordPiece)
モデルのアーキテクチャ BLOOMのアーキテクチャに基づいたDecoderのみの言語モデル ● BLOOM ○ パラメータ数: 1760億 ○ 70層のtransformerのDecoder ● BloombertGPT ○ パラメータ数: 500億 ○ 70層のtransformerのDecoder ● Decoderブロック ○ SA: Multi Head Attention ○ LN: layer-normalization ○ FFN: Feed Forward Network
モデルの詳細 Chinchillaのスケーリング則に基づいてモデルのサイズ決定 ● 40GBのA100 GPUで$1.3M(≒2億 円)の予算 ● Chinchillaの方程式に当てはめる ○ パラメータ: 52.993B ○ トークン: 1111.112B ● 700Bトークンのデータセットは小 さいが、これ以上金融ドメインのデ ータセットを追加することは困難 ● 入力トークン数: 2048 ● Optimizer: AdamW
学習リソースと最適化手法 平均して102 TFLOPsを達成 ● 学習リソース(AWS Sagemaker) ○ p4d.24xlarge instanceを使用 ○ 64 × 8 Nvidia 40GB A100 GPU → 合計512GPU ● 最適化手法 ○ ZeRO Optimization: 複数のGPUに分割 ○ MiCS: パブリッククラウド上で巨大なモデルをトレーニングする際の 低通信モデル並列戦略 ○ Activation Checkpointing: アクティベーションを削除 ○ Mixed Precision Training: 順方向および逆方向のパスはBF16, パラメー タはFP32 ○ Fused Kernels: 単一のGPUで複数の計算の共通化
学習 ステップ139,200(53日)のチェックポイントを最終モデルとして選択 ● 1エポックの約80%で終了 ○ 5690億トークンを使用 ● 青からオレンジ ○ 学習率を2/3に (以下効果なし) ● オレンジから緑 ○ 学習率を半分に ○ ドロップアウトを追加 ● 緑から赤 ○ 学習率を半分に
評価概要 金融のタスクと一般的なタスクの二軸で評価(特殊なプロンプトは×) ● ベンチマーク ○ HELM、SuperGLUE、MMLU、およびGPT-3スイートなど ● 比較モデル ○ GPT-NeoX(20B), OPT66B, BLOOM176B, (GPT-3 175B)
評価(Financial Task) 従来の金融のベンチマークとBloomberg独自のベンチマークを作成 ● 外部のFinancial Task(FLUEベンチ マークとConvFinQAデータセット) ○ ○ ○ ○ FPB(センチメント分類) FiQA SA(センチメント予測) ConvFinQA(質疑応答) Headline(二値分類) ● 内部のFinancial Task(bloomberg が作成) ○ センチメント分析 ○ NER(固有表現抽出)
評価結果(Financial Task) Bloombergがほとんどのタスクで最も優れたスコアを記録 ● 外部のFinancial Task ○ BloombergGPTが4/5のタスクで1 番優れている ● 内部のFinancial Task ○ BloombergGPTが全てのタスクで 他のモデルに比べて大幅に優れて いる ● GPT-3が比較されていないのが気にな る
評価(Standard NLP Task) 4つの分野で一般的なタスクを評価するベンチマークを用意 ● BIG-Bench Hard ○ BIG-benchの最も難しいタスクのサブセット ● 知識評価 ○ 学習した情報を用いて回答できるか ● 読解力 ○ プロンプトに含まれる情報に基づいて正しい回答を生成できるか ● 言語タスク ○ 曖昧性の解消、文法、含意を評価するタスクなど
評価結果①(Standard NLP Task) PaLM 540Bには負けるものの、BLOOM176Bよりは全体的に高精度 ● BIG-Bench Hard ○ 大きなサイズのモデルには負け るが、同サイズのモデルでは最 高精度
評価結果②(Standard NLP Task) GPT-3には負けるものの、BLOOM176Bよりは全体的に高精度 ● 知識評価 ○ BLOOM176Bと僅差、GPT-3には 及ばず ● 読解力 ○ GPT-3の次に高精度 ● 言語タスク ○ 読解力と同様、GPT-3の次に高精 度
BloombergGPTの活用 金融ドメイン特化型のLLMならではの利点を生かした活用方法 ● Bloomberg Query Language(BQL)の作成 ○ 自然言語をBQLに変換し、金融データにアクセスすることができる ● ニュース記事の見出しの提案 ○ ニュース記事の各セクションごとの短い見出しを作成 ● 金融に関する質問応答 ○ 例) 企業のCEOを正確に予測
まとめ Bloombergが開発したドメイン特化型のLLM「BloombergGPT」 ● 金融ドメインを半分程含む7000億トークンの大規模データセット FinPileを作成 ● FinPileのための独自のトークナイザーを開発 ● BLOOMのアーキテクチャをベースにモデルを53日間 512GPUで学習 ● 金融ドメインなタスク、汎用的なタスク共に高精度を誇る ● BQLの作成などドメイン特化LLMならではの応用が可能