Slide 1

Slide 1 text

大規模言語モデルの開発 2024年度 人工知能学会全国大会(第38回)チュートリアル講演1 岡崎 直観 東京工業大学 情報理工学院情報工学系 [email protected] https://www.nlp.c.titech.ac.jp/ https://speakerdeck.com/chokkan/jsai2024-tutorial-llm

Slide 2

Slide 2 text

岡崎 直観(おかざき なおあき) 2007年東京大学大学院情報理工学系研究科博士課程修了。東京大学大学院情報理工学系研究科特任研究員、東北大学大学院情報科 学研究科准教授を経て、2017年東京工業大学情報理工学院教授。産業技術総合研究所招聘研究員、国立情報学研究所大規模言語モ デル研究開発センター科学主幹。言語処理学会理事、日本ディープラーニング協会理事、ACL 2023プログラム委員長、LREC- COLING 2024チュートリアル・チェア。 https://www.chokkan.org/ 1

Slide 3

Slide 3 text

JSAI2024チュートリアル「大規模言語モデルの開発」について  大規模言語モデルの開発に関連する研究の紹介  大規模言語モデルの概要(15分)  事前学習・継続事前学習(20分)  指示(インストラクション)チューニング(15分)  アライメント(15分)  評価(20分)  発表の範囲外にするもの(時間が限られているため)  大規模言語モデルの基盤アーキテクチャ(←理解していることを想定)  大規模言語モデルの利活用に関する研究(思考の連鎖、プロンプト、検索拡張生成など)  大規模言語モデルのツール、データセットの紹介(第4部は例外とする) 2

Slide 4

Slide 4 text

大規模言語モデルは「言語モデル」 3 大量の計算と膨大な言語データで学習した多数のパラメータを持つ言語モデル 𝑥𝑥: Lemon が ヒット した 日本人 アーティスト は 言 語 モ デ ル 𝑃𝑃(𝑦𝑦|𝑥𝑥) 𝑃𝑃(YOASOBI|𝑥𝑥) = 0.013 𝑃𝑃 U2 𝑥𝑥 = 0.003 𝑃𝑃 … 𝑥𝑥 = ⋯ 米津 𝑥𝑥 = 0.244 𝑃𝑃(物産|𝑥𝑥) = 0.011 𝑃𝑃 牧場 𝑥𝑥 = 0.002 𝑃𝑃 … 𝑥𝑥 = ⋯ 𝑃𝑃 玄師 𝑥𝑥 = 0.985 𝑥𝑥: Lemon が ヒット した 日本人 アーティスト は 米津  入力𝑥𝑥に続く単語𝑦𝑦の尤度(自然さ・適切さ)𝑃𝑃(𝑦𝑦|𝑥𝑥)を計算する  尤度が高い単語𝑦𝑦∗を選び、入力の末尾に追加したうえで後続の単語を予測するという処理を、生成終了を表す特 殊単語(EOS)が現れるまで繰り返すと、入力𝑥𝑥に対する応答を生成できる

Slide 5

Slide 5 text

大規模言語モデルはどのくらい大規模なのか? 4 大量の計算と膨大な言語データで学習した多数のパラメータを持つ言語モデル パラメータ数 (個) 学習環境 学習データ量 (トークン) 学習時間 (GPU時間) 計算量 (FLOPs) 8B (80億) 16,000 × H100 約15T (15兆) 1.3 ×106 1.8×1024 70B (700億) 6.4 ×106 9.2×1024 Meta Llama 3の規模感[1] [1] Llama 3のモデルカード (https://github.com/meta-llama/llama3/blob/main/MODEL_CARD.md) とAndrej Karpathy氏の推計 (https://x.com/karpathy/status/1781047292486914189) に基づく なお、8Bのモデルに対して15Tトークンの学習データを用いるのはChinchilla則による最適量(約200Bトークン)よりも遥かに多く、挑戦的な設定と言える [2] N Carvalho, S Contassot-Vivier, L Buhry, D Martinez. 2020. Simulation of Large Scale Neural Models With Event-Driven Connectivity Generation. Frontiers in Neuroinformatics:14, 522000. [3] https://huggingface.co/datasets/HuggingFaceFW/fineweb (※Llama 3とほぼ同時期にリリースされたコーパス) 脳のシナプス数[2] 1Bから100B個の パラメータに相当? 東工大のTSUBAME 4.0で学習 に112日(理論値)かかる ネズミに相当? CommnCrawlの全スナップショットから 構築したコーパスの規模に相当[3] 70Bモデルを 学習

Slide 6

Slide 6 text

大規模言語モデルの驚くべき能力 5 Massive Multitask Language Understanding (MMLU) タスクの正解率は人間の専門家 (89.8%) を超えた[1,2] [1] https://paperswithcode.com/sota/multi-task-language-understanding-on-mmlu [2] Gemini Team, Google. 2023. Gemini: A Family of Highly Capable Multimodal Models. arXiv:2312.11805.

Slide 7

Slide 7 text

大規模言語モデル(LLM)の歴史(2017-2024年) 6 言語モデルの アーキテク チャの発展 事前学習と ファイン チューニング 言語モデル の大規模化 LLMの能力の引き上げ (指示チューニング、アライ メント、思考の連鎖) 汎用的な知能を実現 するLLMの開発競争

Slide 8

Slide 8 text

日本で開発されたオープンなLLM(2022年11月以前) 7 BERT (京都大学, 2019年4月) BERT (東北大学, 2019年11月) BERT (NICT, 2020年3月) GPT (ABEJA, 2022年6月) GPT-2 (Rinna, 2021年4月) GPTNeo (Yellowback, 2021年12月) https://nlp.ist.i.kyoto-u.ac.jp/?ku_bert_japanese https://rinna.co.jp/news/2021/04/20210407.html https://github.com/cl-tohoku/bert-japanese https://tech.yellowback.net/posts/gpt-neo-japanese https://alaginrc.nict.go.jp/nict-bert/index.html https://tech-blog.abeja.asia/entry/abeja-gpt-project-202207

Slide 9

Slide 9 text

日本でのオープンなLLM開発(2022年11月以降) 8 日付 モデル 開発元 規模 2022-11-30nlp-waseda/gpt2-xl-japanese 早稲田大学 1.5 2023-03-16 okazaki-lab/japanese-gpt2- medium-unidic 東京工業大学 medium 2023-05-12retrieva-jp/t5-small-short Retrieva S, B, L, XL 2023-05-17cyberagent/open-calm-7b CyberAgent 1, 3, 7 2023-05-31 rinna/japanese-gpt-neox-3.6b- instruction-ppo Rinna XS, S, M, 1, 3.6 2023-07-31rinna/bilingual-gpt-neox-4b Rinna 4 2023-08-08 stockmark/gpt-neox-japanese- 1.4b Stockmark 1.4 2023-08-10 stabilityai/japanese-stablelm- base-alpha-7b Stability AI Japan 7 2023-08-18 line-corporation/japanese-large- lm-3.6b-instruction-sft Line 1.7, 3.6 2023-08-20matsuo-lab/weblab-10b 東京大学 10 2023-08-29 elyza/ELYZA-japanese-Llama-2- 7b ELYZA 7 2023-09-28pfnet/plamo-13b Preferred Networks 13 2023-10-20llm-jp/llm-jp-13b-v1.0 LLM-jp 13 2023-10-25 stabilityai/japanese-stablelm- base-gamma-7b Stability AI Japan 7 2023-10-27stockmark/stockmark-13b Stockmark 13 2023-11-02cyberagent/calm2-7b CyberAgent 7 2023-11-02 stabilityai/japanese-stablelm- base-beta-70b Stability AI Japan 7, 70 2023-12-06 moneyforward/houou- instruction-7b-v1 Money Forward Lab 7 日付 モデル 開発元 規模 2023-12-19tokyotech-llm/Swallow-70b-hf 東工大, 産総研 7, 13, 70 2023-12-21rinna/nekomata-14b rinna 7, 14 2023-12-27 elyza/ELYZA-japanese-Llama-2- 13b ELYZA 13 2024-01-15 lightblue/qarasu-14B-chat-plus- unleashed Lightblue 7, 14 2024-01-31karakuri-ai/karakuri-lm-70b-v0.1 KARAKURI 70 2024-02-09 llm-jp/llm-jp-13b-dpo-lora- hh_rlhf_ja-v1.1 LLM-jp 13 2024-02-13 kotoba-tech/kotomamba-2.8B- v1.0 Kotoba Technologies 2.8 2024-02-26 sambanovasystems/SambaLingo- Japanese-Base SambaNova Systems 7 2024-03-11 tokyotech-llm/Swallow-MS-7b- v0.1 東工大, 産総研 7 2024-03-11 tokyotech-llm/Swallow-MX-8x7b- NVE-v0.1 東工大, 産総研 46.7 (8x7) 2024-03-21Rakuten/RakutenAI-7B 楽天 7 2024-04-20abeja/Mixtral-8x7B-v0.1-japanese ABEJA 46.7 (8x7) 2024-04-24leia-llm/Leia-Swallow-13b Studio Ousia 7, 13 2024-04-30llm-jp/llm-jp-13b-v2.0 LLM-jp 13 2024-05-07rinna/llama-3-youko-8b rinna 8 2024-05-10Fugaku-LLM/Fugaku-LLM-13B 東工大, 東北大, 富士 通, 理研,サイバーエー ジェント、Kotoba Technologies 13 2024-05-16stockmark/stockmark-100b Stockmark 100 日本語LLMまとめ (https://github.com/llm-jp/awesome-japanese-llm) より抜粋。すべてをカバーしたリストではありません。

Slide 10

Slide 10 text

LLM構築支援プログラム 9 https://www.meti.go.jp/policy/mono_info_service/geniac/index.html https://abci.ai/ja/link/llm_support_program.html GENIAC (経済産業省) ABCI (産総研)  LLMを構築するためのGPUの供給が不足しているため、計算資源の確保が難しい  経済産業省、産総研、Amazon Web Service (AWS) などが計算資源の支援プログラムを実施

Slide 11

Slide 11 text

日本の研究コミュニティの盛り上がり 10 https://www.anlp.jp/nlp2023/pdf/NLP2023_0314_special_panel.pdf https://www.nii.ac.jp/research/centers/llmc/ 2023年の言語処理学会年次大会でのパネル討論 LLM研究開発センター (NII)  自然言語処理の国際会議・国内会議ではLLMに関連した研究が大勢を占めている  LLM-jpなどを中心に、研究コミュニティでもLLMの開発が進められている  国立情報学研究所(NII)は2024年4月にLLM研究開発センターを開設

Slide 12

Slide 12 text

信頼できる大規模言語モデルの実現に向けて 11 https://www.ipa.go.jp/pressrelease/2023/press20240214.html https://www.meti.go.jp/press/2024/04/20240419004/20240419004.html AI事業者ガイドライン (経済産業省・総務省) AIセーフティ・インスティテュート (AISI, IPA)  2023年5月にAIの可能性とリスクに関して議論する「広島AIプロセス」を発表  AIの安全性の評価手法の検討等を行う機関として、AIセーフティ・インスティテュートを設立  広範なAI事業者向けの統一的で分かりやすいAI事業者ガイドラインを作成

Slide 13

Slide 13 text

LLMの基盤アーキテクチャ: Transformer (Vaswani+ 2017) 入力の表現 ベクトル 出力の表現 ベクトル Transformer のデコーダ (GPT) 入力単語列 ℎ1 0 ℎ2 0 ℎ3 0 ℎ4 0 ℎ5 0 ℎ6 0 ℎ7 0 ℎ8 0 ℎ9 0 ℎ10 0 ℎ11 0 ℎ1 𝐿𝐿 ℎ2 𝐿𝐿 ℎ3 𝐿𝐿 ℎ4 𝐿𝐿 ℎ5 𝐿𝐿 ℎ6 𝐿𝐿 ℎ7 𝐿𝐿 ℎ8 𝐿𝐿 ℎ9 𝐿𝐿 ℎ10 𝐿𝐿 ℎ11 𝐿𝐿 は 日本 の シンガー ソング ライター 米津 玄師 の ヒット 曲 正解の 出力単語列 単語予測の 確率分布 Lemon は 日本 の シンガー ソング ライター 米津 玄師 の ヒット A Vaswani, N Shazeer, N Parmar, J Uszkoreit, L Jones, A N. Gomez, L Kaiser, I Polosukhin. 2017. Attention is All You Need. NeurIPS. 全単語の表現ベクトルの重み付き和とフィードフォワード層で次の層の表現ベクトルを計算  単語をベクトルで表現することで類義語を自然に考慮できる(似た意味は似たベクトルで表される)  全単語のベクトルの重み付き和を計算(文脈を考慮していく)ことで曖昧性問題が解消される  各表現ベクトルは距離に依らず全表現ベクトルを参照できる(長距離依存を扱いやすい)

Slide 14

Slide 14 text

大規模言語モデル構築の流れ 13 ベース モデル 指示 モデル アライメ ント済み モデル 事前学習 指示 チューニング アライメント 評価 大量の言語 データ タスクの 教師データ 人間の選好 データ 評価データ  事前学習で基礎力を身に付けてから、指示チューニングで応用力、アライメントで立ち振る舞いを学んでいく  必要なデータ量や計算量は事前学習が圧倒的に多く、指示チューニングやアライメントは比較的小さい  一方で、開発の人的コストが高いのは指示チューニングやアライメント、評価  事前学習や指示チューニングの段階でも積極的に評価を行い、モデル構築が正しく行われているか確認する 第1部 第2部 第3部 第4部

Slide 15

Slide 15 text

第1部:事前学習・継続事前学習 14 ベース モデル 事前学習 大量の言語 データ

Slide 16

Slide 16 text

事前学習 15 主な内容 Transformerのデコーダを言語モデルとして(次の単語が予測できるように)、大規模なコーパスで 学習する  コーパスから言語に関する知識、常識的な知識などを獲得することを期待する 開発のために決めること  言語モデルの仕様(アーキテクチャ、埋め込みの次元数、学習率のなど)  学習コーパス(コーパスの種類や規模、日本語と英語の両方を使うか、コーディングを入れるか)  トークン化(tokenization)の方法(SentencePieceやByte Pair Encoding (BPE)、語彙数など)  学習環境(GPUの種類、ノードあたりのGPU数、ノード数、ストレージ、ソフトウェア)  評価方法(学習率などのハイパーパラメータ調整のため)→第4部で

Slide 17

Slide 17 text

ニューラル言語モデルのスケーリング則 (Kaplan+ 2020) 16  言語モデルの性能はパラメータ数 (𝑁𝑁)、訓練データ量 (𝐷𝐷)、計算能力 (𝐶𝐶) との間にべき乗則がある 𝐿𝐿 𝑁𝑁 = 𝑁𝑁𝑐𝑐 /𝑁𝑁 𝛼𝛼𝑁𝑁, 𝛼𝛼𝑁𝑁 ~0.076, 𝑁𝑁𝑐𝑐 ~8.8 × 1013 𝐿𝐿 𝐷𝐷 = 𝐷𝐷𝑐𝑐 /𝐷𝐷 𝛼𝛼𝐷𝐷, 𝛼𝛼𝐷𝐷 ~0.095, 𝐷𝐷𝑐𝑐 ~5.4 × 1013 𝐿𝐿 𝐶𝐶𝑚𝑚𝑚𝑚𝑚𝑚 = 𝐶𝐶𝑐𝑐 𝑚𝑚𝑚𝑚𝑚𝑚/𝐶𝐶𝑚𝑚𝑚𝑚𝑚𝑚 𝛼𝛼𝐶𝐶 𝑚𝑚𝑚𝑚𝑚𝑚 , 𝛼𝛼𝐶𝐶 𝑚𝑚𝑚𝑚𝑚𝑚~0.050, 𝐶𝐶𝑐𝑐 𝑚𝑚𝑚𝑚𝑚𝑚~3.1 × 108  モデルのアーキテクチャが言語モデルの性能に与える影響は薄い  計算能力の量を固定したとき、𝑁𝑁と𝐷𝐷の比率は𝑁𝑁0.74/𝐷𝐷を維持する(𝐷𝐷よりも𝑁𝑁を増やす)とよい[1] (Kaplan+ 2020) J Kaplan et al. 2020. Scaling Laws for Neural Language Models. arXiv:2001.08361. [1] 𝑁𝑁には単語埋め込みや位置埋め込みは含まれていないことに注意

Slide 18

Slide 18 text

Chinchilla則 (Hoffmann+ 2022) 17  スケーリング則 (Kaplan+ 2020) の𝑁𝑁0.74/𝐷𝐷を維持する示唆とは異なり、訓練データは不足気味である  計算能力を増やすとき、パラメータ数(𝑁𝑁)と訓練データ量(𝐷𝐷)は1:1の比率で増やすのがよい  𝑁𝑁 ≈ 20𝐷𝐷(1パラメータにつき20トークンの訓練データ量が必要)  大規模言語モデルの学習を計画するときのスタンダードとして広く採用されている  パラメータ数、訓練データ量、計算量から学習後の 損失の値を予測できる Chinchilla則に基づく計算最適な言語モデルのパラメータ数、 計算量、訓練データ量 (Hoffmann+ 2022) J Hoffmann, S Borgeaud, A Mensch, E Buchatskaya, T Cai et al. 2022. Training Compute-Optimal Large Language Models. arXiv:2203.15556. Chinchilla則の推定に用いられた学習曲線 (Hoffmann+ 2022)

Slide 19

Slide 19 text

小さいモデルを多めのデータで訓練する 18 H Touvron, L Martin, K Stone, P Albert, A Almahairi, et al. 2023. Llama 2: Open Foundation and Fine-Tuned Chat Models. arXiv:2307.09288. P Zhang, G Zeng, T Wang, W Lu. 2024. TinyLlama: An Open-Source Small Language Model. arXiv:2401.02385. M Abdin, S A Jacobs, A A Awan, J Aneja, A Awadallah, et al. Phi-3 Technical Report: A Highly Capable Language Model Locally on Your Phone. arXiv:2404.14219. [1] https://x.com/karpathy/status/1781028605709234613  小さいモデルの方が使いやすい(推論が速い、GPUの枚数が少なくて済む)  Llama 2 7/13/34/70BとLlama 3 8/70Bの訓練データ量はそれぞれ、2Tトークンと15Tトークン  TinyLlamaは1.1Bのモデルを約3Tトークンで訓練 (Zhang+ 2024)  Phi-3は7Bと14Bのモデルを約4.8Tトークンで訓練 (Microsoft 2024) Llama 2の学習では2Tトークンを学習しても損失が飽和し かったと報告している (Touvron+ 2023) Llama 3のリリースに対する Andrej Karpathy氏のXの投稿[1]

Slide 20

Slide 20 text

事前学習は何エポック行うべきか(同じ学習事例を何回見せるべきか)? 19 言語モデルは膨大な言語データ上で1エポックで事 前学習すると効率がよい (Komatsuzaki 2019)  学習サンプルの多様性が高まるうえ、言語モデル 利用時の状況(未知の入力に対応する)に近づく  過学習が防止できるうえ、ドロップアウトなどの 正則化が不要になる A Komatsuzaki. 2019. One Epoch is All You Need. arXiv:1906.06669. N Muennighoff, A M Rush, B Barak, T L Scao, A Piktus, N Tazi, S Pyysalo, T Wolf, C Raffel. 2023. Scaling Data-Constrained Language Models. NeurIPS. 言語モデルの学習曲線(テストデータ上の損失) (Komatsuzaki (2019) を改変) 1エポック学習 複数エポック学習 1エポック学習(ドロップアウト有) 複数エポック学習(ドロップアウト有) 言語データに限りがある状況においてChinchilla則を 複数エポック学習に拡張 (Muennighoff+ 2023)  計算資源はあるが学習データが不足している状況 では、モデルの規模とエポック数を増やすことに なるが、後者をより増やすべきである テストデータ上の損失 (Muennighoff+ 2023) 4エポックまでは 1エポックの時の 性能とさほど変わ らない

Slide 21

Slide 21 text

Transformerのアーキテクチャも様々 20 ハイパー・パラメータ  埋め込みの次元数  フィードフォワード層の次元数  層の数  マルチヘッドの数  グループクエリアテンション  最大系列長  … 位置エンコーディング フィードフォワード層 層正規化 𝑥𝑥1 𝑥𝑥2 ⋮ 𝑥𝑥𝑑𝑑−1 𝑥𝑥𝑑𝑑 ⊗ cos 𝑚𝑚𝜃𝜃1 cos 𝑚𝑚𝜃𝜃1 ⋮ cos 𝑚𝑚𝜃𝜃2/𝑑𝑑 cos 𝑚𝑚𝜃𝜃2/𝑑𝑑 + −𝑥𝑥2 𝑥𝑥1 ⋮ −𝑥𝑥𝑑𝑑 𝑥𝑥𝑑𝑑−1 ⊗ sin 𝑚𝑚𝜃𝜃1 sin 𝑚𝑚𝜃𝜃1 ⋮ sin 𝑚𝑚𝜃𝜃2/𝑑𝑑 sin 𝑚𝑚𝜃𝜃2/𝑑𝑑 𝜃𝜃𝑖𝑖 = 10000−2(𝑖𝑖−1)/𝑑𝑑, 𝑖𝑖 ∈ [1,2, … , 𝑑𝑑/2] RoPE (Su+ 2024) A Vaswani, N Shazeer, N Parmar, J Uszkoreit, L Jones, A N. Gomez, L Kaiser, I Polosukhin. 2017. Attention is All You Need. NeurIPS. J Su, Y Lu, S Pan, A Murtadha, B Wen, Y Liu. 2024. RoFormer: Enhanced Transformer with Rotary Position Embedding. Neurocomputing:568, 127063. Noam Shazeer. 2020. GLU Variants Improve Transformer. arXiv:2002.05202. B Zhang, R Sennrich. 2019. Root Mean Square Layer Normalization. NeurIPS. FFNSwiGLU (𝒙𝒙, 𝑾𝑾, 𝑽𝑽, 𝑾𝑾2 ) = Swish1 𝒙𝒙𝒙𝒙 ⊗ 𝒙𝒙𝒙𝒙 𝑾𝑾2 Swish𝛽𝛽 (𝒙𝒙) = 𝒙𝒙𝜎𝜎(𝛽𝛽𝒙𝒙) SwiGLU (Shazeer 2020) FFN 𝒙𝒙, 𝑾𝑾1 , 𝑾𝑾2 , 𝑏𝑏1 , 𝑏𝑏2 = max 0, 𝑥𝑥𝑊𝑊1 + 𝑏𝑏1 𝑊𝑊2 + 𝑏𝑏2 オリジナル (Vaswani 2017) RMSNorm (Zhang+ 2019) 𝑥𝑥 𝑖𝑖 (new) ← 𝑥𝑥𝑖𝑖 − 𝜇𝜇 𝜎𝜎 𝑔𝑔𝑖𝑖 , 𝜇𝜇 = 1 𝑑𝑑 � 𝑖𝑖=1 𝑑𝑑 𝑥𝑥𝑖𝑖 , 𝜎𝜎2 = 1 𝑑𝑑 � 𝑖𝑖=1 𝑑𝑑 𝑥𝑥𝑖𝑖 − 𝜇𝜇𝑖𝑖 2 オリジナル (Vaswani 2017) 𝑥𝑥 𝑖𝑖 (new) ← 𝑥𝑥𝑖𝑖 RMS 𝒙𝒙 𝑔𝑔𝑖𝑖 , RMS 𝒙𝒙 = 1 𝑑𝑑 � 𝑖𝑖=1 𝑑𝑑 𝑥𝑥𝑖𝑖 2

Slide 22

Slide 22 text

Transformerのアーキテクチャの進歩 21 A Gu, T Dao. 2023. Mamba: Linear-Time Sequence Modeling with Selective State Spaces. arXiv:2312.00752. B Zhang, R Sennrich. 2019. Root Mean Square Layer Normalization. NeurIPS. J Su, Y Lu, S Pan, A Murtadha, B Wen, Y Liu. 2024. RoFormer: Enhanced Transformer with Rotary Position Embedding. Neurocomputing:568, 127063. Noam Shazeer. 2020. GLU Variants Improve Transformer. arXiv:2002.05202. アーキテクチャによってスケーリング則(パープレキシティ)に差が生じる例 (Gu+ 2023)  Transformer++は通常のTransformer (GPT-3) に加えて、  学習率の線形ウォームアップとコサイン減衰(学習率の最大値はGPT-3の5倍、最小値は1 × 10−5に設定)  線形層にバイアス項を用いない(←大規模なモデルで学習が安定する)  層正規化(layer normalization)の代わりに二乗平均平方根正規化(RMSNorm)(Zhang+ 2019)  AdamWのハイパーパラメータ𝛽𝛽を(0.9,0.999)の代わりに(0.9,0.95)に設定する  位置埋め込みを加算する代わりに、単語埋め込みを回転させる(RoPE)(Su+ 2024)  フィードフォワード層の活性化関数にSwiGLUを用いる (Shazeer 2020)

Slide 23

Slide 23 text

学習コーパスの配合 22 W X Zhao, K Zhou, J Li, T Tang, X Wang, et al. 2023. A Survey of Large Language Models. arXiv:2303.18223. 大規模言語モデルの学習コーパスのソース (Zhao+ 2023) 事前学習で獲得していない能力を後から指示チューニングで補うのは困難なので、ウェブページや 本、論文、ソースコードの配合を慎重に決める必要がある

Slide 24

Slide 24 text

Common Crawl[1]からのコーパス構築 23  ウェブサイトを巡回・収集し、そのアーカイ ブを無償で提供している非営利団体  2023 年 12 月 時 点 で ア ー カ イ ブ の 総 量 は 251,325,355,174ページ  全体の4~5%が日本語のページ(右図)  コーパス構築に向けてよく行われる処理  言語判定(特定の言語だけ使用したい場合)  テキスト抽出(HTMLマークアップを除去)  重複したウェブページの除去  繰り返しを多く含むウェブページの除去  有害(かもしれない)ウェブページの除去  有益(かもしれない)ウェブページの抽出  表記の統一(全角・半角、句読点など) ※ 太字は今回お話する内容 英語, 44.4285 ロシア, 6.0303 ドイツ, 5.4499 日本, 5.1508 中国, 5.0798 スペイン, 4.5391 フランス, 4.3933 (不明), 3.2338 イタリア, 2.5834 オランダ, 1.9746 ポルトガ ル, 1.7631 ポーランド, 1.749 ベトナム, 1.0291 チェコ, 1.0206 その他, 11.575 Common Crawlのウェブページの言語分布(%)[2] (CC-MAIN-2023-50, CLD2による自動言語判定) [1] Common Crawl: https://commoncrawl.org/ [2] Statistics of Common Crawl Monthly Archives: https://commoncrawl.github.io/cc-crawl-statistics

Slide 25

Slide 25 text

重複したウェブページ(文書)の除去 24 def Deduplicate(D): U = [] I = Index() for d in D: if not I.has_similar_item(d): U.append(d) I.add(d) return U  D: 重複除去対象の文書のリスト(入力)  U: Dから重複文書を除去したリスト(出力)  I: 重複文書の存在を検査するインデックス  Common Crawlは重複・類似したウェブサイトを含む  同一サイトが異なるアーカイブに収録されたり、転載されたウェブサイトがあるため  LLMの構築では重複したテキストを学習しない方がよいと言われている  先述した「事前学習ではエポック数を増やさない」ことに相当する  重複除去の処理フローは右下の通り  文書を一つ一つ見ていき、過去に見たもの と似ている文書だった場合は削除  愚直に実装すると𝑂𝑂( 𝐷𝐷 2)の計算量  𝐷𝐷 は数億を超えるオーダーのため、致命的  MinHashやSemHashが用いられる  それでも𝑂𝑂( 𝐷𝐷 log 𝐷𝐷 )程度の計算量が要るの と、ストレージも大量に消費する  コーパス構築の難所

Slide 26

Slide 26 text

MinHashによるジャッカード係数(類似度)の計算 25  文書XとYをそれぞれ、特徴量の集合𝑋𝑋と𝑌𝑌で表す(特徴量の作り方は任意、例えばn-gramでもよい)  特徴量をハッシュ値に変換するハッシュ関数ℎ(𝑥𝑥)を|𝐻𝐻|個用意し、𝐻𝐻 = {ℎ1 , ℎ2 , … , ℎ|𝐻𝐻| }と書く  集合𝑋𝑋の各要素𝑥𝑥 ∈ 𝑋𝑋にあるハッシュ関数ℎ(𝑥𝑥)を適用したとき、その最小値をMinHashℎ 𝑋𝑋 = min 𝑥𝑥∈𝑋𝑋 ℎ(𝑥𝑥)と書く  集合𝑋𝑋と𝑌𝑌のジャッカード係数と、𝑋𝑋と𝑌𝑌のMinHash値が一致する確率との関係は、 Jaccard 𝑋𝑋, 𝑌𝑌 = |𝑋𝑋 ∩ 𝑌𝑌| |𝑋𝑋 ∪ 𝑌𝑌| ≈ Pr MinHashℎ 𝑋𝑋 = MinHashℎ 𝑌𝑌 ≈ 1 |𝐻𝐻| � ℎ∈𝐻𝐻 𝕝𝕝(MinHashℎ 𝑋𝑋 = MinHashℎ 𝑌𝑌 ) X = “paraparaparadise” 𝑋𝑋 ={par,ara,rap,apa,rad,adi,dis,ise} Y = “paragraph” 𝑌𝑌 ={par,ara,rag,agr,gra,rap,aph} ℎ1 ℎ2 ℎ3 ℎ4 144 370 14 367 94 731 450 78 144 370 283 8 626 14 439 89 438 793 73 130 591 832 256 89 438 14 673 535 793 234 230 53 472 913 139 374 780 454 230 53 492 783 873 472 361 872 631 374 903 249 741 144 532 872 631 948 245 710 374 193 ℎ1 ℎ2 ℎ3 ℎ4 = ≠ ≠ ≠ MinHashでXとYの文字3-gramのジャッカード係数(正確な値は3/12=0.25)を計算する例。太字の数字がMinHash値。 MinHashは𝑋𝑋 ∪ 𝑌𝑌 からランダムに要素を一つ選択することに相当し、その要素が𝑋𝑋 ∩ 𝑌𝑌 から選ばれたならばMinHash値が一致する。 MinHash 値の一致 1/4 ジャッカード 係数の近似値

Slide 27

Slide 27 text

NearDup (Lee+ 2022) 26 K Lee, D Ippolito, A Nystrom, C Zhang, D Eck, C Callison-Burch, N Carlini. 2022. Deduplicating Training Data Makes Language Models Better. ACL.  各文書のn-gramの集合に対し、MinHash値を𝑏𝑏個連結したものを一単位(バケット)とし、全部で 𝑟𝑟個のバケットを作成する(全部でMinHash値を𝑏𝑏𝑟𝑟個計算する)  ある文書の𝑟𝑟個のバケットに対して、過去に処理した文書のバケットと一致するものがある(イン デックスに登録されている)場合、その文書は重複と見なす  2文書間のジャッカード係数が𝑠𝑠であるとき、𝑟𝑟組のバケットのうち少なくとも1組のバケットが完全一致す る確率は1 − 1 − 𝑠𝑠𝑏𝑏 𝑟𝑟 であることを利用し、重複除去のジャッカード係数の閾値を𝑏𝑏と𝑟𝑟により設定する NearDupによる丸覚え防止の効果 (Lee+ 2022) 32トークンをLLMに入力し、出力され た文字列が実際の続きと類似(正規化 編集類似度が0.8以上)していた割合

Slide 28

Slide 28 text

SemDeDup 27  LLMを用いて文書を特徴ベクトルに変換(画像の場合はCLIPなどを使えばよい)  k-meansクラスタリングで文書を𝑘𝑘個のクラスタに分ける (元論文では𝑘𝑘 = 11,000)  各クラスタ内で文書間類似度を総当たりで計算し、閾値を超えた文書を除去(計算量は𝑂𝑂 min 𝑘𝑘 𝐷𝐷 , 𝐷𝐷 2 𝑘𝑘 ) A Abbas, K Tirumala, D Simig, S Ganguli, A S Morcos. 2022. SemDeDup: Data-efficient learning at web-scale through semantic deduplication. arXiv:2303.09540. SemDeDupのアイディア (a) とモデルの学習効率の改善 (b) (Abbas+ 2022)

Slide 29

Slide 29 text

事前学習データのクリーニング・フィルタリング 28  事前学習に「有益そう」なテキストを選別する  どのような能力を身に付けさせたいかを考える(日本に関する知識、推論能力、コーディング力など)  テキストを選別したとしても、想定通りに能力が高まる訳でもない(タスクの性能を予測しにくい)  主要なアプローチ  文の長さ、ストップワードの有無、内容の重複の多さなどに基づいて、ルールを記述する  有害フィルタ: モデルの学習に有害と思われるページを除去する(品質が低い、有害、攻撃的など)  品質フィルタ: モデルの学習に有益と思われるページを抽出する(Wikipediaやニュース記事に近いなど)  事前学習で注意しておくべきこと (Longpre+ 2023)  大規模言語モデルは学習していない時期の事柄は回答できず、ファインチューニングでの対処も難しい  品質フィルタはタスクの性能を引き上げるが、有害な生成も増える  有害フィルタは有害な生成を削減するが、同時にタスクの性能も低下する  有益なのは高品質なテキスト(本など)と多様なウェブテキストで、これらを集めることが大切 S Longpre, G Yauney, E Reif, K Lee, A Roberts, B Zoph, D Zhou, J Wei, K Robinson, D Mimno, D Ippolito. 2023. A Pretrainer's Guide to Training Data: Measuring the Effects of Data Age, Domain Coverage, Quality, & Toxicity. arXiv:2305.13169.

Slide 30

Slide 30 text

トークン単位でのフィルタリング (Lin+ 2024) 29 Z Lin, Z Gou, Y Gong, X Liu, Y Shen, R Xu, C Lin, Y Yang, J Jiao, N Duan, W Chen. 2024. Rho-1: Not All Tokens Are What You Need. arXiv:2404.07965. トークン単位の重みづけの効果 (Lin+ 2024) 上: クリーニングしたコーパスでもトークン単位ではノイズがある 左下: 従来の言語モデルは全てのトークンで学習していた 右下: 有益と思われるトークンの損失だけを用いる (Lin+ 2024) 対象とするコーパスで参照言語モデルを事前に学習しておき、事前 学習モデルでトークン単位の選別を行う (Lin+ 2024)  事前学習コーパスの全てのトークンが必要とい う訳ではないかもしれない  対象コーパスで参照言語モデルを学習しておく  事前学習モデルにおけるトークンの損失ℒ𝜃𝜃 (𝑥𝑥𝑖𝑖 ) と、参照言語モデルで求めたトークンの損失 ℒref (𝑥𝑥𝑖𝑖 )の差ℒ𝜃𝜃 𝑥𝑥𝑖𝑖 − ℒref (𝑥𝑥𝑖𝑖 )が大きいものだけ から損失を計算し、パラメータを更新する  少ない学習トークン数でも高い性能を発揮する (学習効率が良い)ことが実験で示された

Slide 31

Slide 31 text

トークン化(tokenization) 30  LLMではトークンの単位として部分単語(サブワード)を採用することが多い  Llama 2は”Japanese Society for Artificial Intelligence”と区切る  サブワードへの区切り方(トークン化の方法)はコーパスから統計的に学習する  バイト対符号化 (BPE; Byte-Pair-Encoding)  ユニグラムベースのトークン化(SentencePiece[1]が有名)  日本語向けに継続事前学習を行うときは、文字のカバー率を調べ、必要に応じて語彙拡張を行う  語彙に含まれるCJK統合漢字の数は、Llama 2で700文字、Mistralで1,456文字、Llama 3で2,314文字  UTF-8のバイト・フォールバックが発生すると、日本語の文字が3トークンに分割される(下図) (E5) (90) (BE) (E8) (BC) (A9) (E3) (81) (AF) (E7) (8C) (AB) (E3) (81) (A7) (E3) (81) (82) (E3) (82) (8B) 吾 文字列 輩 は 猫 で あ る Llama 2 (E5) (90) (BE) (E8) (BC) (A9) (E3)(81)(AF) (E7) (8C) (AB) (E3)(81)(A7) (E3)(81)(82) (E3)(82)(8B) は で あ る Swallow (E5)(90)(BE) (E8)(BC)(A9) (E3)(81)(AF) (E7)(8C)(AB) (E3)(81)(A7) (E3)(81)(82)(E3)(82)(8B) で ある は 吾 輩 猫 [1] https://github.com/google/sentencepiece

Slide 32

Slide 32 text

モデルの学習 31  大規模言語モデルの学習には複数(大量)のGPU、つまり分散並列学習の技術と経験が必要  データ並列、モデル並列、テンソル並列をうまく組み合わせて、学習のFLOPsを測定しておく  グローバルバッチサイズ、学習率、計算精度(bfloat16など)を適切に設定して、損失の発散を防止する  チェックポイントを保存するストレージの速度がモデル学習の足を引っ張ることも [1] Microsoft DeepSpeed Team. 2023. DeepSpeed: 深層学習の訓練と推論を劇的に高速化するフレームワーク: https://www.deepspeed.ai/assets/files/DeepSpeed_Overview_Japanese_2023Jun7th.pdf [2] 東京工業大学情報理工学院藤井一喜氏より提供 データ並列、モデル並列、テンソル並列([1]より抜粋) ストレージの負荷によりFLOPsが低下する例[2]

Slide 33

Slide 33 text

第2部:指示チューニング 32 指示 モデル 指示 チューニング タスクの 教師データ

Slide 34

Slide 34 text

指示チューニング(インストラクション・チューニング)とは? 33 J Wei, M Bosma, V Zhao, K Guu, A W Yu, B Lester, N Du, A M Dai, Q V Le. 2022. Finetuned Language Models are Zero-Shot Learners. ICLR. ファインチューニング 事前学習で獲得した言語や常識 的な知識を基に、所望のタスク を解く能力を養う マルチタスク学習 複数のタスクの学習データを与 え、一つのモデルで複数のタス クを解けるようにする タスクを自然言語で記述 タスクの説明や入出力を自然言 語で与えることで、タスク間転 移を促進する 自然言語で記述されたタスクの指示・入力・出力のデータで言語モデルをファインチューニング 指示チューニング=多数のタスク上でファインチューニング (Wei+ 2022)

Slide 35

Slide 35 text

タスク固有のデータを指示チューニング用の訓練データに変換 34 J Wei, M Bosma, V Zhao, K Guu, A W Yu, B Lester, N Du, A M Dai, Q V Le. 2022. Finetuned Language Models are Zero-Shot Learners. ICLR. 自然言語推論の正解データを指示チューニング用の学習データに変換する例 (Wei+ 2022)  タスクやデータセット毎にテンプレートを用意し、既存のデータセットを「タスクの指示と入力 +出力」という形式の学習データに変換することで、指示チューニングのデータに変換  自然言語処理の研究で開発されてきた大量の言語データ(機械翻訳や要約など)を活用できる

Slide 36

Slide 36 text

指示チューニングによるタスク間転移 35 J Wei, M Bosma, V Zhao, K Guu, A W Yu, B Lester, N Du, A M Dai, Q V Le. 2022. Finetuned Language Models are Zero-Shot Learners. ICLR. タスクをゼロショットで解く実験において、GPT-3よりも高い精度を達成 (Wei+ 2022) 実験に用いたデータセットとタスクのクラスタ(濃い青: 言語理解タスク、薄い青: 生成タスク) (Wei+ 2022)

Slide 37

Slide 37 text

指示チューニングデータの自動構築: Self-instruct (Wang+ 2023) 36  対話形式で多様な指示チューニングのデータは、後に説明するアライメントの前段階で作られた  ChatGPTの流行以降、対話形式で多様な指示チューニングデータを獲得したい機運が高まった  GPT-3を使い、175個のシードタスクから52kの指示、82kの応答からなるデータを自動構築 Y Wang, Y Kordi, S Mishra, A Liu, N A Smith, D Khashabi, H Hajishirzi. 2023. Self-Instruct: Aligning Language Models with Self-Generated Instructions. ACL.

Slide 38

Slide 38 text

Self-instructで用いられているプロンプトの例 (1/2) 37 Y Wang, Y Kordi, S Mishra, A Liu, N A Smith, D Khashabi, H Hajishirzi. 2023. Self-Instruct: Aligning Language Models with Self-Generated Instructions. ACL. タスクの指示を作成するプロンプト タスクが分類問題かを判定するプロンプト Come up with a series of tasks: Task 1: {instruction for existing task 1} Task 2: {instruction for existing task 2} Task 3: {instruction for existing task 3} Task 4: {instruction for existing task 4} Task 5: {instruction for existing task 5} Task 6: {instruction for existing task 6} Task 7: {instruction for existing task 7} Task 8: {instruction for existing task 8} Task 9: Can the following task be regarded as a classification task with finite output labels? Task: Given my personality and the job, tell me if I would be suitable. Is it classification? Yes Task: Give me an example of a time when you had to use your sense of humor. Is it classification? No Task: {instruction for the target task}

Slide 39

Slide 39 text

Come up with examples for the following tasks. Try to generate multiple examples when possible. If the task doesn’t require additional input, you can generate the output directly. Task: Which exercises are best for reducing belly fat at home? Output: - Lying Leg Raises - Leg In And Out - Plank - Side Plank - Sit-ups Task: Sort the given list ascendingly. Example 1 List: [10, 92, 2, 5, -4, 92, 5, 101] Output: [-4, 2, 5, 5, 10, 92, 92, 101] Example 2 Input 2 - List: [9.99, 10, -5, -1000, 5e6, 999] Output: [-1000, -5, 9.99, 10, 999, 5e6] Task: {Instruction for the target task} Self-instructで用いられているプロンプトの例 (2/2) 38 Y Wang, Y Kordi, S Mishra, A Liu, N A Smith, D Khashabi, H Hajishirzi. 2023. Self-Instruct: Aligning Language Models with Self-Generated Instructions. ACL. 出力を作成するプロンプト(非分類タスク) Given the classification task definition and the class labels, generate an input that corresponds to each of the class labels. If the task doesn’t require input, just generate the correct class label. Task: Classify the sentiment of the sentence into positive, negative, or mixed. Class label: mixed Sentence: I enjoy the flavor of the restaurant but their service is too slow. Class label: Positive Sentence: I had a great day today. The weather was beautiful and I spent time with friends. Class label: Negative Sentence: I was really disappointed by the latest superhero movie. I would not recommend it. Task: Which of the following is not an input type? (a) number (b) date (c) phone number (d) email address (e) all of these are valid inputs. Class label: (e) Task: {Instruction for the target task} 入力を作成するプロンプト(分類タスク)

Slide 40

Slide 40 text

Self-instructのデータで学習されたGPT-3の性能 39 Y Wang, Y Kordi, S Mishra, A Liu, N A Smith, D Khashabi, H Hajishirzi. 2023. Self-Instruct: Aligning Language Models with Self-Generated Instructions. ACL. Self-instructでファインチューニングしたGPT-3モデルは、公開されている他のデータでファインチューニング したGPT-3よりも高評価を得て、InstructGPTに迫る評価だった (Wang+ 2023)

Slide 41

Slide 41 text

Stanford Alpaca 7B 40 [1] https://crfm.stanford.edu/2023/03/13/alpaca.html [2] https://huggingface.co/datasets/tatsu-lab/alpaca Stanford Alpacaの構築手順[1] Self-instructを参考に指示チューニングデータを構築し、LLaMA 7Bをファインチューニング Alpacaデータセットは HuggingFace上で公開 されている[2]

Slide 42

Slide 42 text

モデル模倣は取り繕っているだけで賢くない 41 A Gudibande, E Wallace, C V Snell, X Geng, H Liu, P Abbeel, S Levine, D Song. 2024. The False Promise of Imitating Proprietary Language Models. ICLR. モデル模倣により評価者はChatGPT並みとの高評価を付けるが、指示チューニングデータを増やしても性能が向上しない (a) ば かりか、事実を問うタスクにおいて教師モデルとの性能差を埋められず、むしろモデル模倣により性能が低下する (b) 。モデル を賢くするにはパラメータ数を増やす必要がある (c) (Gudibande+ 2024)  Self-instructやAlpacaのように、教師モデル(賢いLLM)の出力から学習データを構築し、開発 しているLLMをファインチューニングをすることをモデル模倣(model imitation)と呼ぶ  モデル模倣は高い指示追従性を示すが、モデルが本質的に賢くなるわけではない  モデル模倣はむしろ賢いLLMの生成スタイルを真似ているだけで、知識を習得した訳ではない

Slide 43

Slide 43 text

モデル模倣はハルシネーションを助長する 42 A Gudibande, E Wallace, C V Snell, X Geng, H Liu, P Abbeel, S Levine, D Song. 2024. The False Promise of Imitating Proprietary Language Models. ICLR. ”How does actor critic improve over REINFORCE?”に対するChatGPTと模倣モデルの応答 (Gudibande+ 2024) 事実とは 異なる説明 正しい説明 微妙だが 正しい説明 微妙だが 正しい説明 正しい説明

Slide 44

Slide 44 text

ファインチューニングで新しい知識を教えることは難しい 43 Z Gekhman, G Yona, R Aharoni, M Eyal, A Feder, R Reichart, J Herzig. 2024. Does Fine-Tuning LLMs on New Knowledge Encourage Hallucinations? arXiv:2405.05904.  ファインチューニングでLLMに事実に関する知識を学習させようとすると…  全く未知の知識を習得するには時間がかかるうえ(多くの学習ステップが必要、下図左)  全く未知の知識を習得すると、ハルシネーションなどの弊害を引き起こす(下図中央・右)  LLMは事実に関する知識を事前学習で獲得しており、ファインチューニングはすでに獲得して あった知識を引き出すために有用なプロセスなのかもしれない 左: LLMがある程度知っている知識と全く知らない知識を1:1で含む学習データでファインチューニングをした時の学習曲線 中央: 未知の知識の割合とエポック数を変えながらファインチューニングをしたときのEntityQuestionsの正解率 右: 学習データから未知の知識を除去した場合(𝐷𝐷𝐾𝐾𝐾𝐾𝐾𝐾𝐾𝐾𝐾𝐾 )正解率の低下は抑えられる(学習データ量も減っているが)

Slide 45

Slide 45 text

補足: LLMの知識の有無の判定法(SliCK: Sampling-based Categorization of Knowledge) 44 Z Gekhman, G Yona, R Aharoni, M Eyal, A Feder, R Reichart, J Herzig. 2024. Does Fine-Tuning LLMs on New Knowledge Encourage Hallucinations? arXiv:2405.05904. SliCKでLLMの知識の有無を検証した時のカテゴリの定義 (a) とその例 (b) (Gekhman+ 2024)  LLMに質問𝑞𝑞を投げかけ、答え𝑎𝑎が出てくるかどうかを調べる  HighlyKnown: 貪欲デコーディングで常に𝑎𝑎が出る  MaybeKnown: 貪欲デコーディングで𝑎𝑎が出ること がある  WeaklyKnown: 貪欲デコーディングでは𝑎𝑎が出な いが、温度𝑇𝑇を上げると𝑎𝑎が出ることがある  Unknown: 温度𝑇𝑇を上げても𝑎𝑎が全く出てこない

Slide 46

Slide 46 text

LMSYS-Chat-1M: ChatBot Arenaで収集された人間とLLMの100万件の対話データ 45 L Zheng, W-L Chiang, Y Sheng, T Li, S Zhuang, Z Wu, Y Zhuang, Z Li, Z Lin, E Xing, J E Gonzalez, I Stoica, H Zhang. 2024. LMSYS-Chat-1M: A Large-Scale Real-World LLM Conversation Dataset. ICLR. https://huggingface.co/datasets/lmsys/lmsys-chat-1m (Zheng+ 2024) 基本情報  LLM: 25個の最先端なLLM  人間: 210kのユニークなIP  対話は平均2.0ターン  応答は平均214.5トークン  人間の選好データは無し 特徴  ソフトウェアのエラーの解決や プログラミング、地理・旅行に 関する質問が多い  ユーザからの有害な指示も含ま れているため、モデレーション や安全性の研究にも活用できる

Slide 47

Slide 47 text

WildChat: ユーザとChatGPTとの100万件の対話データ 46 W Zhao, X Ren, J Hessel, C Cardie, Y Choi, Y Deng. 2024. WildChat: 1M ChatGPT Interaction Logs in the Wild. ICLR. [1] https://wildchat.allen.ai/ 対話データの統計情報 (Zhao+ 2024) 対話の例[1]  ChatGPTへの無料アクセスをオンラインで提 供し、ChatGPTとの対話データを収集  多様な言語・ユーザの問いかけを収録  多様な有害利用事例を収録  MT-bench(後述)による評価では、Llama 2 7BをWildChatで指示チューニングしたモデル とLlama 2B chatが同程度の性能を示した  Metaが利用している指示チューニングデータ と同程度の品質?

Slide 48

Slide 48 text

第3部:アライメント 47 アライメ ント済み モデル アライメント 人間の選好 データ

Slide 49

Slide 49 text

アライメントとは? (Ouyang+ 2022) 48 仮説: 次単語予測の目的関数は我々が望む生成を反映できていない?(ミスアライメント)  大規模言語モデルは(信頼性に乏しい)ウェブ上のテキストに対して尤度を最大化しているから?  次単語予測の目的関数は許容される間違いと許容されない間違いの区別がつかない 背景: 指示チューニングを施しても、言語モデルは人間が望まない挙動を示すことがある  嘘の生成、偏見に満ちた生成、有害な生成、人間の指示に従わない生成など アメリカの首都はワシントンDCです × 首長 ● Washington 提案: 強化学習を用い、言語モデルが人間の好みに沿う(alignする)ように訓練(アライメント)  ユーザに役立つ生成  忠実な(嘘を含まない)生成  有害ではない生成 Q: アメリカの首都はどこですか? ● A: アメリカの首都はワシントンDCです × A: アメリカの首都はロンドンです L Ouyang, J Wu, X Jiang, D Almeida, C L Wainwright, et al. 2022. Training Language Models to Follow Instructions with Human Feedback. NeurIPS.

Slide 50

Slide 50 text

人間のフィードバックに基づく強化学習 (RLHF: Reinforcement Learning from Human Feedback) 49 L Ouyang, J Wu, X Jiang, D Almeida, C L Wainwright, et al. 2022. Training Language Models to Follow Instructions with Human Feedback. NeurIPS. Ouyang+ (2023)

Slide 51

Slide 51 text

①応答の正解データを収集してファインチューニング 50 L Ouyang, J Wu, X Jiang, D Almeida, C L Wainwright, et al. 2022. Training Language Models to Follow Instructions with Human Feedback. NeurIPS. ※ このステップは指示チューニングに相当するが、論文の著者によるとこのステップ の目的は強化学習を早めることが目的で、必須ではないとのこと LLMに対する入力(プロンプト)を得る 例えば、運用しているLLMに送信された入力の履歴からサンプリングする LLMに対するひとつの入力を𝑥𝑥で表す 人間の作業者が応答の正解データを作成 入力𝑥𝑥に対する適切な出力(応答)を𝑦𝑦で表し、入力と出力の組を 𝑥𝑥, 𝑦𝑦 を収集する 収集した正解データを𝒟𝒟SFT = 𝑥𝑥 𝑖𝑖 , 𝑦𝑦 𝑖𝑖 𝑖𝑖=1 𝑁𝑁𝑠𝑠 で表す 応答の正解データでLLMをファインチューニングする 𝒟𝒟SFT でLLMをファインチューニングした確率モデルを𝜋𝜋ref 𝑦𝑦 𝑥𝑥 で表す ℒS 𝜋𝜋ref = − 𝔼𝔼 𝑥𝑥,𝑦𝑦 ∼𝒟𝒟SFT log 𝜋𝜋ref 𝑦𝑦 𝑥𝑥

Slide 52

Slide 52 text

②人間の選好を収集し、報酬モデルを学習 51 L Ouyang, J Wu, X Jiang, D Almeida, C L Wainwright, et al. 2022. Training Language Models to Follow Instructions with Human Feedback. NeurIPS. 人間の作業者が出力を順位付けする 𝑛𝑛件の出力𝑦𝑦1 , … , 𝑦𝑦𝑛𝑛 に対して、人間が応答の良さを順位付けする 順位付けデータを、より好まれる出力𝑦𝑦𝑤𝑤 と好まれない出力𝑦𝑦𝑙𝑙 の組(𝑦𝑦𝑤𝑤 ≻ 𝑦𝑦𝑙𝑙 )の形式に変 換し、人間の選好データ𝒟𝒟𝑃𝑃 = 𝑥𝑥 𝑖𝑖 , 𝑦𝑦𝑤𝑤 𝑖𝑖 , 𝑦𝑦𝑙𝑙 𝑖𝑖 𝑖𝑖=1 𝑁𝑁𝑝𝑝 を準備する モデルに入力(プロンプト)を与え、複数の出力をサンプリングする 与えた入力を𝑥𝑥とし、𝑛𝑛件の出力𝑦𝑦1 , … , 𝑦𝑦𝑛𝑛 を得る 得られた選好データで報酬モデル𝑟𝑟𝜙𝜙 : 𝑥𝑥, 𝑦𝑦 ↦ ℝを学習する 選好はBradley-Terryモデルに従うと仮定し、出力𝑦𝑦1 が𝑦𝑦2 より好まれる確率を次式で表す 𝑃𝑃 𝑦𝑦1 ≻ 𝑦𝑦2 𝑥𝑥 = exp 𝑟𝑟∗(𝑥𝑥, 𝑦𝑦1 ) exp 𝑟𝑟∗(𝑥𝑥, 𝑦𝑦1 ) + exp 𝑟𝑟∗(𝑥𝑥, 𝑦𝑦2 ) = 𝜎𝜎 𝑟𝑟∗(𝑥𝑥, 𝑦𝑦1 ) − 𝑟𝑟∗(𝑥𝑥, 𝑦𝑦2 ) これをロジスティック回帰モデルと見なし、報酬モデル𝑟𝑟𝜙𝜙 を以下の目的関数で学習する ℒ𝑅𝑅 𝑟𝑟𝜙𝜙 = − 𝔼𝔼 𝑥𝑥,𝑦𝑦𝑤𝑤,𝑦𝑦𝑙𝑙 ∼𝒟𝒟𝑃𝑃 log 𝜎𝜎 𝑟𝑟𝜙𝜙 𝑥𝑥, 𝑦𝑦𝑤𝑤 − 𝑟𝑟𝜙𝜙 𝑥𝑥, 𝑦𝑦𝑙𝑙 ※ 報酬モデルはLLMの最終層に線形層を追加することにより構築されることが多い win lose

Slide 53

Slide 53 text

③強化学習を用いて報酬モデルに沿うように方策を学習 52 L Ouyang, J Wu, X Jiang, D Almeida, C L Wainwright, et al. 2022. Training Language Models to Follow Instructions with Human Feedback. NeurIPS. 近傍方策最適化(PPO)を用いて方策モデル𝜋𝜋𝜃𝜃 を更新する 方策モデル𝜋𝜋𝜃𝜃 のパラメータをSFTモデルで初期化する(𝜋𝜋𝜃𝜃 = 𝜋𝜋ref ) 以下の式を最大化するようにする(報酬モデル𝑟𝑟𝜙𝜙 は固定) maximize 𝜋𝜋𝜃𝜃 𝔼𝔼 𝑥𝑥∼𝒟𝒟SFT,𝑦𝑦∼𝜋𝜋𝜃𝜃 𝑦𝑦 𝑥𝑥 𝑟𝑟𝜙𝜙 𝑥𝑥, 𝑦𝑦 − 𝛽𝛽𝔻𝔻KL 𝜋𝜋𝜃𝜃 𝑦𝑦 𝑥𝑥 ∥ 𝜋𝜋ref 𝑦𝑦 𝑥𝑥 𝛽𝛽はSFTモデルとの近さを制御するハイパー・パラメータ 𝑦𝑦を生成する過程があるため、上式の目的関数は直接微分できないので、以下の報酬関数 を最大化するように強化学習(近傍方策最適化: PPO)を行う 𝑟𝑟 𝑥𝑥, 𝑦𝑦 = 𝑟𝑟𝜙𝜙 𝑥𝑥, 𝑦𝑦 − 𝛽𝛽 log 𝜋𝜋𝜃𝜃 𝑦𝑦 𝑥𝑥 − log 𝜋𝜋ref 𝑦𝑦 𝑥𝑥 報酬を 最大化 する SFTモデルの出力から 乖離しすぎないように する(正則化)

Slide 54

Slide 54 text

InstructGPTの効果 53  人間の評価者はRLHFを施したモデルをより好む(1.3B RLHF > 175B SFT)  InstructGPTはタスクの性能を落とすことなく、ハルシネーションや有害表現などの望まない生成 を減らすことができた ※ InstructGPTはChatGPTの基となるモデルと言われている L Ouyang, J Wu, X Jiang, D Almeida, C L Wainwright, et al. 2022. Training Language Models to Follow Instructions with Human Feedback. NeurIPS. GPT-3にSFTやRLHFを施したモデルに対する人間の選好の7段階評価 (a)、 データセットにおける人手評価 (b)、RealToxicityPromptsデータセットにおける有害性評価 (Ouyang+ 2023)

Slide 55

Slide 55 text

人間の選好データの例 54  HH-RLHF (170k): https://huggingface.co/datasets/Anthropic/hh-rlhf  UltraFeedback (256k): https://huggingface.co/datasets/openbmb/UltraFeedback  Orca (12k): https://huggingface.co/datasets/Intel/orca_dpo_pairs  HelpSteer (37k): https://huggingface.co/datasets/nvidia/HelpSteer HH-RLHFのデータの例

Slide 56

Slide 56 text

RLHFの問題点 55 方策モデル𝜋𝜋𝜃𝜃 を学習するときの目的関数(再掲) maximize 𝜋𝜋𝜃𝜃 𝔼𝔼 𝑥𝑥∼𝒟𝒟SFT,𝑦𝑦∼𝜋𝜋𝜃𝜃 𝑦𝑦 𝑥𝑥 𝑟𝑟𝜙𝜙 𝑥𝑥, 𝑦𝑦 − 𝛽𝛽𝔻𝔻KL 𝜋𝜋𝜃𝜃 𝑦𝑦 𝑥𝑥 ∥ 𝜋𝜋ref 𝑦𝑦 𝑥𝑥  GPUメモリを大量に消費する  3つのLLM(参照モデル𝜋𝜋ref 、報酬モデル𝑟𝑟𝜙𝜙 、方策モデル𝜋𝜋𝜃𝜃 )を同時に扱う必要があるため  学習に時間がかかる  𝑦𝑦 ∼ 𝜋𝜋𝜃𝜃 𝑦𝑦 𝑥𝑥 は通常、自己回帰モデル(Transformerのデコーダ)による生成となるため、並列化が難しい  学習を安定化させるためには、実装上の細かい工夫が必要  OpenAIはRLHFの実装を公開していなかったため、再現するのが大変だった (Huang+ 2024) S Huang, M Noukhovitch, A Hosseini, K Rasul, W Wang, L Tunstall. 2024. The N+ Implementation Details of RLHF with PPO: A Case Study on TL;DR Summarization. arXiv:2403.17031.

Slide 57

Slide 57 text

Direct Preference Optimization (DPO) (Rafailov+ 2023) 56 強化学習を用いずに、人間の選好データ𝒟𝒟P から勾配法で直接LLMをアライメントできる手法 maximize 𝜋𝜋𝜃𝜃 𝔼𝔼 𝑥𝑥∼𝒟𝒟SFT,𝑦𝑦∼𝜋𝜋𝜃𝜃 𝑦𝑦 𝑥𝑥 𝑟𝑟𝜙𝜙 𝑥𝑥, 𝑦𝑦 − 𝛽𝛽𝔻𝔻KL 𝜋𝜋𝜃𝜃 𝑦𝑦 𝑥𝑥 ∥ 𝜋𝜋ref 𝑦𝑦 𝑥𝑥 ℒ𝑅𝑅 𝑟𝑟𝜙𝜙 = − 𝔼𝔼 𝑥𝑥,𝑦𝑦𝑤𝑤,𝑦𝑦𝑙𝑙 ∼𝒟𝒟𝑃𝑃 log 𝜎𝜎 𝑟𝑟𝜙𝜙 𝑥𝑥, 𝑦𝑦𝑤𝑤 − 𝑟𝑟𝜙𝜙 𝑥𝑥, 𝑦𝑦𝑙𝑙 ℒDPO 𝜋𝜋𝜃𝜃 ; 𝜋𝜋ref = − 𝔼𝔼 𝑥𝑥,𝑦𝑦𝑤𝑤,𝑦𝑦𝑙𝑙 ∼𝒟𝒟𝑃𝑃 log 𝜎𝜎 𝛽𝛽 log 𝜋𝜋𝜃𝜃 𝑦𝑦𝑤𝑤 𝑥𝑥 𝜋𝜋ref 𝑦𝑦𝑤𝑤 𝑥𝑥 − 𝛽𝛽 log 𝜋𝜋𝜃𝜃 𝑦𝑦𝑙𝑙 𝑥𝑥 𝜋𝜋ref 𝑦𝑦𝑙𝑙 𝑥𝑥 等価 Rafailov+ (2023) R Rafailov, A Sharma, E Mitchell, S Ermon, C D Manning, C Finn. 2023. Direct Preference Optimization: Your Language Model is Secretly a Reward Model. NeurIPS. RLHF DPO

Slide 58

Slide 58 text

DPOのメリット 57 import torch.nn.functional as F def dpo_loss(pi_logps, ref_logps, yw_idxs, yl_idxs, beta): """ pi_logps: policy logprobs, shape (B,) ref_logps: reference model logprobs, shape (B,) yw_idxs: preferred completion indices in [0, B-1], shape (T,) yl_idxs: dispreferred completion indices in [0, B-1], shape (T,) beta: temperature controlling strength of KL penalty Each pair of (yw_idxs[i], yl_idxs[i]) represents the indices of a single preference pair. ""“ pi_yw_logps, pi_yl_logps = pi_logps[yw_idxs], pi_logps[yl_idxs] ref_yw_logps, ref_yl_logps = ref_logps[yw_idxs], ref_logps[yl_idxs] pi_logratios = pi_yw_logps - pi_yl_logps ref_logratios = ref_yw_logps - ref_yl_logps losses = -F.logsigmoid(beta * (pi_logratios - ref_logratios)) rewards = beta * (pi_logps - ref_logps).detach() return losses, rewards PyTorchによるDPOの実装 (Rafailov+ 2023) R Rafailov, A Sharma, E Mitchell, S Ermon, C D Manning, C Finn. 2023. Direct Preference Optimization: Your Language Model is Secretly a Reward Model. NeurIPS.  報酬モデル𝑟𝑟𝜙𝜙 を作らなくてよい(参照モデル𝜋𝜋ref と方策モデル𝜋𝜋𝜃𝜃 により暗黙的に構成される)  学習時は方策モデル𝜋𝜋𝜃𝜃 だけをGPUメモリに置いておけばよい(参照モデル𝜋𝜋ref の確率を事前計算した場合)  デコーディングをする必要はない(𝑦𝑦𝑤𝑤 および𝑦𝑦𝑙𝑙 の尤度が計算できればよい)  実装が簡単(右図参照)  DPOの損失を計算  誤差逆伝播法でパラメータを更新

Slide 59

Slide 59 text

DPOの導出 58 RLHFのKL制約付き目的関数を最大化する方策𝜋𝜋は次の形で表される(証明は次ページ) 𝜋𝜋(𝑦𝑦|𝑥𝑥) = 1 𝑍𝑍(𝑥𝑥) 𝜋𝜋ref 𝑦𝑦 𝑥𝑥 exp 1 𝛽𝛽 𝑟𝑟 𝑥𝑥, 𝑦𝑦 , 𝑍𝑍 𝑥𝑥 = � 𝑦𝑦 𝜋𝜋ref 𝑦𝑦 𝑥𝑥 exp 1 𝛽𝛽 𝑟𝑟 𝑥𝑥, 𝑦𝑦 𝜋𝜋(𝑦𝑦|𝑥𝑥)の式を𝑟𝑟 𝑥𝑥, 𝑦𝑦 の式に書き換えると、 𝑟𝑟 𝑥𝑥, 𝑦𝑦 = 𝛽𝛽 log 𝜋𝜋(𝑦𝑦|𝑥𝑥) 𝜋𝜋ref 𝑦𝑦 𝑥𝑥 + 𝛽𝛽 log 𝑍𝑍(𝑥𝑥) ところが、この分配関数𝑍𝑍(𝑥𝑥)を陽に求めることは困難 幸運なことに、Bradley-Terryモデルの学習は報酬の差に基づくので、𝑍𝑍(𝑥𝑥)がキャンセルされ、報酬関 数の学習も不要になるうえ、通常の勾配法でLLMをアライメントできる! ℒ𝑅𝑅 𝑟𝑟𝜙𝜙 = − 𝔼𝔼 𝑥𝑥,𝑦𝑦𝑤𝑤,𝑦𝑦𝑙𝑙 ∼𝒟𝒟𝑃𝑃 log 𝜎𝜎 𝑟𝑟𝜙𝜙 𝑥𝑥, 𝑦𝑦𝑤𝑤 − 𝑟𝑟𝜙𝜙 𝑥𝑥, 𝑦𝑦𝑙𝑙 ℒDPO 𝜋𝜋𝜃𝜃 ; 𝜋𝜋ref = − 𝔼𝔼 𝑥𝑥,𝑦𝑦𝑤𝑤,𝑦𝑦𝑙𝑙 ∼𝒟𝒟𝑃𝑃 log 𝜎𝜎 𝛽𝛽 log 𝜋𝜋𝜃𝜃 𝑦𝑦𝑤𝑤 𝑥𝑥 𝜋𝜋ref 𝑦𝑦𝑤𝑤 𝑥𝑥 − 𝛽𝛽 log 𝜋𝜋𝜃𝜃 𝑦𝑦𝑙𝑙 𝑥𝑥 𝜋𝜋ref 𝑦𝑦𝑙𝑙 𝑥𝑥 𝑟𝑟𝜙𝜙 として𝑟𝑟 𝑥𝑥, 𝑦𝑦 の式を採用する R Rafailov, A Sharma, E Mitchell, S Ermon, C D Manning, C Finn. 2023. Direct Preference Optimization: Your Language Model is Secretly a Reward Model. NeurIPS.

Slide 60

Slide 60 text

RLHFの目的関数を最大化する𝜋𝜋𝑟𝑟 𝑦𝑦 𝑥𝑥 の導出 59 maximize 𝜋𝜋 𝔼𝔼 𝑥𝑥∼𝒟𝒟,𝑦𝑦∼𝜋𝜋 𝑦𝑦 𝑥𝑥 𝑟𝑟 𝑥𝑥, 𝑦𝑦 − 𝛽𝛽𝔻𝔻KL 𝜋𝜋 𝑦𝑦 𝑥𝑥 ∥ 𝜋𝜋ref 𝑦𝑦 𝑥𝑥 (RLHFの目的関数) ⇔ maximize 𝜋𝜋 𝔼𝔼 𝑥𝑥∼𝒟𝒟 𝔼𝔼 𝑦𝑦∼𝜋𝜋 𝑦𝑦 𝑥𝑥 𝑟𝑟 𝑥𝑥, 𝑦𝑦 − 𝛽𝛽 log 𝜋𝜋 𝑦𝑦 𝑥𝑥 𝜋𝜋ref 𝑦𝑦 𝑥𝑥 (𝔻𝔻KL 𝑃𝑃 𝑦𝑦 𝑥𝑥) ∥ 𝑄𝑄(𝑦𝑦|𝑥𝑥) = ∑𝑦𝑦 𝑃𝑃(𝑦𝑦|𝑥𝑥) log 𝑃𝑃(𝑦𝑦|𝑥𝑥) 𝑄𝑄(𝑦𝑦|𝑥𝑥) を代入しΣ𝑦𝑦 を𝔼𝔼𝑦𝑦 の内側へ) ⇔ minimize 𝜋𝜋 𝔼𝔼 𝑥𝑥∼𝒟𝒟 𝔼𝔼 𝑦𝑦∼𝜋𝜋 𝑦𝑦 𝑥𝑥 log 𝜋𝜋 𝑦𝑦 𝑥𝑥 𝜋𝜋ref 𝑦𝑦 𝑥𝑥 − 1 𝛽𝛽 𝑟𝑟 𝑥𝑥, 𝑦𝑦 (− 1 𝛽𝛽 をかけて最大化問題を最小化問題に変更) ⇔ minimize 𝜋𝜋 𝔼𝔼 𝑥𝑥∼𝒟𝒟 𝔼𝔼 𝑦𝑦∼𝜋𝜋 𝑦𝑦 𝑥𝑥 log 𝜋𝜋 𝑦𝑦 𝑥𝑥 𝜋𝜋ref 𝑦𝑦 𝑥𝑥 − log exp(1 𝛽𝛽 𝑟𝑟 𝑥𝑥, 𝑦𝑦 ) ⇔ minimize 𝜋𝜋 𝔼𝔼 𝑥𝑥∼𝒟𝒟 𝔼𝔼 𝑦𝑦∼𝜋𝜋 𝑦𝑦 𝑥𝑥 log 𝜋𝜋 𝑦𝑦 𝑥𝑥 𝜋𝜋ref 𝑦𝑦 𝑥𝑥 exp 1 𝛽𝛽 𝑟𝑟 𝑥𝑥,𝑦𝑦 ⇔ minimize 𝜋𝜋 𝔼𝔼 𝑥𝑥∼𝒟𝒟 𝔼𝔼 𝑦𝑦∼𝜋𝜋 𝑦𝑦 𝑥𝑥 log 1 𝑍𝑍(𝑥𝑥) 𝜋𝜋 𝑦𝑦 𝑥𝑥 1 𝑍𝑍(𝑥𝑥) 𝜋𝜋ref 𝑦𝑦 𝑥𝑥 exp 1 𝛽𝛽 𝑟𝑟 𝑥𝑥,𝑦𝑦 (分配関数𝑍𝑍 𝑥𝑥 = ∑𝑦𝑦 𝜋𝜋ref 𝑦𝑦 𝑥𝑥 exp 1 𝛽𝛽 𝑟𝑟 𝑥𝑥, 𝑦𝑦 を導入、分子分母を割る) ⇔ minimize 𝜋𝜋 𝔼𝔼 𝑥𝑥∼𝒟𝒟 𝔼𝔼 𝑦𝑦∼𝜋𝜋 𝑦𝑦 𝑥𝑥 log 𝜋𝜋 𝑦𝑦 𝑥𝑥 1 𝑍𝑍(𝑥𝑥) 𝜋𝜋ref 𝑦𝑦 𝑥𝑥 exp 1 𝛽𝛽 𝑟𝑟 𝑥𝑥,𝑦𝑦 − log 𝑍𝑍(𝑥𝑥) (𝜋𝜋∗ 𝑦𝑦 𝑥𝑥 = 1 𝑍𝑍(𝑥𝑥) 𝜋𝜋ref 𝑦𝑦 𝑥𝑥 exp 1 𝛽𝛽 𝑟𝑟 𝑥𝑥, 𝑦𝑦 と定義) ⇔ minimize 𝜋𝜋 𝔼𝔼 𝑥𝑥∼𝒟𝒟 𝔼𝔼 𝑦𝑦∼𝜋𝜋 𝑦𝑦 𝑥𝑥 log 𝜋𝜋 𝑦𝑦 𝑥𝑥 𝜋𝜋∗ 𝑦𝑦 𝑥𝑥 − log𝑍𝑍(𝑥𝑥) ⇔ minimize 𝜋𝜋 𝔼𝔼 𝑥𝑥∼𝒟𝒟 𝔻𝔻KL 𝜋𝜋 𝑦𝑦 𝑥𝑥 ∥ 𝜋𝜋∗ 𝑦𝑦 𝑥𝑥 − log𝑍𝑍(𝑥𝑥) (KLの定義を適用) この式が最小化されるのは𝜋𝜋と𝜋𝜋∗のKL距離が0のときであるので、𝜋𝜋 𝑦𝑦 𝑥𝑥 = 𝜋𝜋∗ 𝑦𝑦 𝑥𝑥 = 1 𝑍𝑍(𝑥𝑥) 𝜋𝜋ref 𝑦𝑦 𝑥𝑥 exp 1 𝛽𝛽 𝑟𝑟 𝑥𝑥, 𝑦𝑦 が成立する R Rafailov, A Sharma, E Mitchell, S Ermon, C D Manning, C Finn. 2023. Direct Preference Optimization: Your Language Model is Secretly a Reward Model. NeurIPS.

Slide 61

Slide 61 text

DPOはハイパーパラメータが少なく、実装も容易であるのにも関わらず、PPOと同等かそれ以上のア ライメント性能を示した DPOの評価実験 60 左: レビューの冒頭部分からポジティブなレビューを生成するアライメント(報酬は感情分類器の確率推定値) 右: 人間の評価付のTL;DRデータセットによる要約タスクのアライメント実験 Rafailov+ (2023) R Rafailov, A Sharma, E Mitchell, S Ermon, C D Manning, C Finn. 2023. Direct Preference Optimization: Your Language Model is Secretly a Reward Model. NeurIPS.

Slide 62

Slide 62 text

DPOのその後 61  Identity Preference Optimization (IPO) (Azar+ 2024)  選好の写像(DPOではシグモイド関数)をΨとして一般化し、Ψ-preference optimizationを提案  DPOはΨに恒等写像を採用し、以下の目的関数を提案 ℒIPO 𝜋𝜋𝜃𝜃 ; 𝜋𝜋ref = 𝔼𝔼 𝑥𝑥,𝑦𝑦𝑤𝑤,𝑦𝑦𝑙𝑙 ∼𝒟𝒟𝑃𝑃 log 𝜋𝜋𝜃𝜃 𝑦𝑦𝑤𝑤 𝑥𝑥 𝜋𝜋ref 𝑦𝑦𝑤𝑤 𝑥𝑥 − log 𝜋𝜋𝜃𝜃 𝑦𝑦𝑙𝑙 𝑥𝑥 𝜋𝜋ref 𝑦𝑦𝑙𝑙 𝑥𝑥 − 1 2𝛽𝛽 2  Statistical Rejection Sampling Optimization (RSO) (Liu+ 2024)  著者らが以前(DPO論文よりも12日早く)提案していたSLiCをDPOに適用し、ヒンジ損失の利用を提案 ℒhinge−norm 𝜋𝜋𝜃𝜃 ; 𝜋𝜋ref = 𝔼𝔼 𝑥𝑥,𝑦𝑦𝑤𝑤,𝑦𝑦𝑙𝑙 ∼𝒟𝒟𝑃𝑃 max 0,1 − 𝛽𝛽 log 𝜋𝜋𝜃𝜃 𝑦𝑦𝑤𝑤 𝑥𝑥 𝜋𝜋ref 𝑦𝑦𝑤𝑤 𝑥𝑥 − 𝛽𝛽 log 𝜋𝜋𝜃𝜃 𝑦𝑦𝑙𝑙 𝑥𝑥 𝜋𝜋ref 𝑦𝑦𝑙𝑙 𝑥𝑥  Kahneman-Tversky Optimazation (KTO) (Ethayarajh+ 2024)  プロスペクト理論に基づき、二つの出力の選好 𝑥𝑥, 𝑦𝑦𝑤𝑤 , 𝑦𝑦𝑙𝑙 ではなく、好まれる出力 𝑥𝑥, 𝑦𝑦+ と好まれれない出 力 𝑥𝑥, 𝑦𝑦− から損失を計算する手法を提案(つまり、選好のデータとして 𝑥𝑥, 𝑦𝑦± を集めればよい)  DPOが暗黙的にトークン単位の報酬を学習していることの理論的分析 (Rafailov+ 2024) M G Azar, M Rowland, B Piot, D Guo, D Calandriello, M Valko, R Munos. 2024. A General Theoretical Paradigm to Understand Learning from Human Preferences. AISTATS. T Liu, Y Zhao, R Joshi, M Khalman, M Saleh, P J Liu, J Liu. 2024. Statistical Rejection Sampling Improves Preference Optimization. ICLR. K Ethayarajh, W Xu, N Muennighoff, D Jurafsky, D Kiela. 2024. KTO: Model Alignment as Prospect Theoretic Optimization. arXiv:2402.01306. R Rafailov, J Hejna, R Park, C Finn. 2024. From r to Q∗: Your Language Model is Secretly a Q-Function. arXiv:2404.12358

Slide 63

Slide 63 text

第4部:評価 62 評価 評価データ

Slide 64

Slide 64 text

LLMの評価 63 主な目的  LLMの能力を多様な観点から定量化する  LLMの開発の方向性が適切かを検証する  LLMの応答の安全性を検証する 様々な評価方法  人手評価: 正確(?)、高コスト  自動評価: 柔軟性に欠ける(?)、低コスト  参照あり: 正解を与えて(作成して)正誤を判定  参照なし: 正解を与えずに正誤を判定  絶対評価: LLMの個別の出力を採点  評価評価: 複数のLLMの出力の優劣をつける 評価タスクと主なデータセット  自然言語理解・言語知識  機械読解: RACE, SQuAD, MultiRC, BoolQ  自然言語推論: MRPC, MNLI, ANLI, STS  情報抽出: CoNLL-2003, SemEval 2010 Task 8  容認可能性: CoLA, BLiMP  知識・推論: MMLU, HellaSwag, OpenBookQA  自然言語生成  機械翻訳: WMT, IWSLT  自動要約: XL-Sum, CNN-DM, MultiNews  専門能力  数学: GSM8K, MGSM, MATH  コーディング: HumanEval, MBPP  医学: MedQA, MedMCQA, PubMedQA  アライメント  バイアス: BBQ, WinoBias, HolisticBias  有害性: RealToxicityPrompts, HarmfulQA  幻覚: TruthfulQA, FactCC, DialFact

Slide 65

Slide 65 text

質問応答の例(NIILC質問応答データセット[1]) 以下はタスクを説明する指示と、追加の背景情報を提供する入力の組み合わせです。要求を適切に満たす回答を書いてください。 ### 指示 質問に対する答えを出力してください。答えが複数の場合、コンマ(,)で繋げてください。 ### 入力: 質問:ワールドカップは何年に一度開催されるの? ### 回答: 4年 ### 入力: 質問:リアス式海岸は日本のどこにある? ### 回答: 三陸海岸の中部から南部,房総半島南部,若狭湾周辺,紀伊半島東部・南部,山陰海岸,宇和海,日豊海岸,日南海岸中部から南部,浅茅湾 (長崎県対馬),長崎県九十九島 ### 入力: 質問:ビートルズのメンバーの名前は? ### 回答: ジョン・レノン(ボーカル・ギター),ポール・マッカートニー(ボーカル・ベース),ジョージ・ハリスン(ギター・ボーカル), リンゴ・スター(ドラムス・ボーカル) ### 入力: 質問:サッカーのイエローカードはいつ出るの? ### 回答: 非紳士的行為等を行ったとき ### 入力: 質問:慶応大学を作った人は? ### 回答: 「福沢諭吉」と出力されることを期待 タスクの 指示 Few-shot 事例 解きたい 質問 [1] https://mynlp.is.s.u-tokyo.ac.jp/niilc-qa/j_index.html

Slide 66

Slide 66 text

Massive Multitask Language Understanding (MMLU) 65 D Hendrycks, C Burns, S Basart, A Zou, M Mazeika, D Song, J Steinhardt. 2021. Measuring Massive Multitask Language Understanding. ICLR. MMLUの57タスク (Hendrycks+ 2021) MMLUの問題の例 (Hendrycks+ 2021)  Graduate Record Examination (GRE) やUnited States Medical Licensing Examination (USMLE) など含む多値選択式57タスク (問題数は15,908件)のデータセット  検証セット(1,540件)と評価セット(14,079件)  人間の専門家の正解率は89.8%と推定される  AMTのクラウドワーカの正解率は34.5%

Slide 67

Slide 67 text

Beyond the Imitation Game Benchmark (BIG-bench) 66  204個以上のタスクからなる言語モデルの評価ベンチマーク(データセットのコレクション)  言語学、数学、常識推論、生物、物理、バイアス、ソフトウェア開発など、幅広いトピックをカバー  Github上でタスクの提案を受け付けており、データセットの構築に貢献したのは132機関、450人以上  (平均的な人間を上回ることができず)LLMには難しい23タスクを厳選したBIG-bench Hard (BBH) も存在  BBHに収録されているタスクはBoolean Expressions、Causal Judgment、Date Understandingなど Srivastava+ (2023) を改変 (Alphabetic order) A Srivastava, A Rastogi, A Rao, A A M Shoeb, A Abid, et al.. 2023. Beyond the Imitation Game: Quantifying and extrapolating the capabilities of language models. TMLR. M Suzgun, N Scales, N Schärli, S Gehrmann, Y Tay, et al. 2023. Challenging BIG-Bench Tasks and Whether Chain-of-Thought Can Solve Them. Findings of ACL. BIG-benchに収録されているタスクのキーワード 事例数の分布

Slide 68

Slide 68 text

HumanEval 67 M Chen, J Tworek, H Jun, Q Yuan, H P de O Pinto. 2021. Evaluating Large Language Models Trained on Code. arXiv:2107.03374. HumanEval: https://github.com/openai/human-eval JHumanEval: https://github.com/KuramitsuLab/jhuman-eval HumanEvalの問題と解答の例 (Chen+ 2021) LLMにプロンプトとして与える部分を白の背景、 LLMが正しく生成したコードを黄色の背景で示す  人手により作成された164件のコーディング問題  生成されたコードの正誤は参照コードとの類似度 ではなく、単体テストで確認する  ある問題に対してコードを𝑘𝑘候補生成したと き、 そのうちの1件でも単体テストに合格し た場合を成功とみなす  これを複数の問題に対して行ったときの成功 の割合であるpass@𝑘𝑘を評価尺度とする  評価を安定化させるため、各問題に対して コードを𝑛𝑛件生成し、そのうち𝑐𝑐件が単体テス トに合格した場合、次式でpass@𝑘𝑘を求める pass@𝑘𝑘 = 𝔼𝔼 problems 1 − 𝑛𝑛 − 𝑐𝑐 𝑘𝑘 𝑛𝑛 𝑘𝑘  サンドボックス環境上でコードを実行する  問題部分を日本語に翻訳したJHumanEvalが存在

Slide 69

Slide 69 text

Holistic Evaluation of Language Models (HELM) 68 P Liang, R Bommasani, T Lee, D Tsipras, D Soylu, et al. 2023. Holistic Evaluation of Language Models. TMLR. HELMのシナリオと評価尺度の構造 (Liang+ 2023)  言語モデルの利用ケースや達成目標を考慮することで、現状の評価ベンチマークを整理  シナリオ(タスク、何に対して、誰が、いつ、どの言語で)や評価方法、評価尺度(正解率、ロバスト性、 バイアス、有害性、効率性など)のタクソノミーを定義

Slide 70

Slide 70 text

MT-benchとChatbotArena 69  アライメントによる指示追従性や対話能力は、必 ずしもタスクの性能(MMLUやHELMなどのベン チマーク)から測定できる訳ではない(右図)  LLMのアライメント、つまり応答がどのくらい好 まれるかを重視した評価方法を提案  MT-bemch: GPT-4による自動評価  LLM-as-a-judgeと呼ばれる  ChatbotArena: クラウドによる人手評価  80個のマルチターン応答からなるデータセット  LLM-as-a-judgeの評価方法は以下の3つ  ペア比較: 2つのLLMからの応答を見せて、 どちらが良いか(同じか)を聞く  スコア付け: ひとつのLLMからの応答に対し てスコア付けを行う  スコア付け(参照あり): 正答例を見せなが らLLMからの応答にスコア付けを行う Assistant A (Llama-13B base) は従来のベンチマークで 高い性能を示すが、人間はファインチューニングを施した Assistant B (Vicuna-13B) を好む (Zheng+ 2023) L Zheng, W-L Chiang, Y Sheng, S Zhuang, Z Wu, et al. 2023. Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena. NeurIPS 2023 Datasets and Benchmarks Track.

Slide 71

Slide 71 text

MT-benchおよびChatbotArenaのデータセット 70  80個のマルチターン応答からなるデータセット  評価対象はライティング (writing)、ロールプレイ (roleplay)、抽出 (extraction)、推論(reasoning)、 数 学 (math)、コーディング (coding)、科学・技術・工学・数学の知識 (knowledge I (STEM))、 人文科学 と社会科学の知識 (knowledge II (humanities/social science)) L Zheng, W-L Chiang, Y Sheng, S Zhuang, Z Wu, et al. 2023. Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena. NeurIPS 2023 Datasets and Benchmarks Track. MT-benchの質問の例 (Zheng+ 2023)

Slide 72

Slide 72 text

Chatbot Arena 71 L Zheng, W-L Chiang, Y Sheng, S Zhuang, Z Wu, et al. 2023. Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena. NeurIPS 2023 Datasets and Benchmarks Track.

Slide 73

Slide 73 text

2024年5月23日時点のChatbotArenaの勝率 72 https://chat.lmsys.org/?leaderboard

Slide 74

Slide 74 text

MT-benchの限界 (1/2) 73  位置バイアス:特定の位置の応答を高く評価  冗長バイアス:冗長で繰り返しの多い応答を高く評価  自己評価バイアス:自分自身の応答を高く評価  数学や推論の評価が苦手:自分で問題を解くことがで きるのに、評価をさせると間違ってしまう 自己評価バイアス(この例ではGPT-4やClaudeは自分自身を高く評価する傾向がある) 数学や推論の評価を苦手としている例 L Zheng, W-L Chiang, Y Sheng, S Zhuang, Z Wu, et al. 2023. Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena. NeurIPS 2023 Datasets and Benchmarks Track.

Slide 75

Slide 75 text

MT-benchの限界 (2/2) 74 L Zheng, W-L Chiang, Y Sheng, S Zhuang, Z Wu, et al. 2023. Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena. NeurIPS 2023 Datasets and Benchmarks Track. 位置バイアス(最初に与えた応答の方を好む例) 冗長バイアス(長くて冗長な応答を好む例)

Slide 76

Slide 76 text

文脈内学習に投入する事例による評価スコアの変動 75 J Liu, D Shen, Y Zhang, B Dolan, L Carin, W Chen. 2022. What Makes Good In-Context Examples for GPT-3? The 3rd Workshop on Knowledge Extraction and Integration for Deep Learning Architectures (DeeLIO). 評価時のfew-shot事例は固定しなければならない(勝手に変えてはいけない) GPT-3に与えるfew-shot事例を評価事例に近いものから選ぶ例 (Liu+ 2022) 実験により、ランダムにfew-shot事例を選ぶよりも性能が良いことが報告されている

Slide 77

Slide 77 text

few-shot事例や選択肢の並び順による評価スコアの変動 76 Y Lu, M Bartolo, A Moore, S Riedel, P Stenetorp. 2022. Fantastically Ordered Prompts and Where to Find Them: Overcoming Few-Shot Prompt Order Sensitivity. ACL. C Zheng, H Zhou, F Meng, J Zhou, M Huang. 2024. Large Language Models Are Not Robust Multiple Choice Selectors. ICLR. Few-shot事例の並べ方を変え、それぞれの並び順 でプロンプトに入れ、文脈内学習でSST-2のタスク を解いたときの評価スコアの変動 (Lu+ 2022) ゼロショットでMMLUの多値選択式問題を解くとき、 正解の選択肢の場所をどこに置くかで、モデルの正 解率が大きく変動してしまう (Zheng+ 2024) 評価時のfew-shot事例の並び順や多値選択式の選択肢の並び順により、LLMの性能が大きく変動する (→公平性のためには並び順を固定すべきだが、これを正当な評価と呼べるのか?)

Slide 78

Slide 78 text

指示による評価スコアの変動 77 M Mizrahi, G Kaplan, D Malkin, R Dror, D Shahaf, G Stanovsky. 2024. State of What Art? A Call for Multi-Prompt LLM Evaluation. TACL (to appear). https://arxiv.org/abs/2401.00595 指示の言い換えによりモデルの評価スコアのケンドール順位相関係数(τ)が変動する例 (Mizrahi+ 2024) (P1のスコアの高い順にモデルを並べているため、P2の形は右肩下がりになることが期待されている)

Slide 79

Slide 79 text

プロンプトのフォーマットによる評価スコアの変動 78 M Sclar, Y Choi, Y Tsvetkov, A Suhr. 2024. Quantifying Language Models' Sensitivity to Spurious Features in Prompt Design or: How I learned to start worrying about prompt formatting. ICLR. プロンプトのフォーマットによりタスクの正解率が変動する例 (Sclar+ 2024)  問題を変えずにプロンプトのフォーマットだけを変えると、モデルの性能が変動する  モデルの評価を行うときは、異なるフォーマットによる分散も報告すべきと提案

Slide 80

Slide 80 text

文脈内学習におけるバイアス除去 79 T Z Zhao, E Wallace, S Feng, D Klein, S Singh. 2021. Calibrate Before Use: Improving Few-Shot Performance of Language Models. ICML. H Zhou, X Wan, L Proleev, D Mincu, J Chen, K Heller, S Roy. 2024. Batch Calibration: Rethinking Calibration for In-Context Learning and Prompt Engineering. ICLR.  文脈内学習による推論にバイアスが存在することは以前から指摘されていた (Zhao+ 2021)  LLMの出力の確率分布� 𝒑𝒑にアフィン変換を適用し、バイアス除去後の確率分布� 𝒒𝒒を計算 � 𝒒𝒒 = softmax(𝑾𝑾� 𝒑𝒑 + 𝒃𝒃)  Contextual Calibration (Zhao+ 2021): 𝑾𝑾 = diag � 𝒑𝒑cf −1, � 𝒑𝒑cf = 𝑃𝑃(𝑦𝑦|“N/A”, 𝐶𝐶) …入力に”N/A”を入れる  Batch Calibration (Zhou+ 2024): 𝑾𝑾 = 𝑰𝑰, 𝒃𝒃 = −𝔼𝔼𝑥𝑥 𝑃𝑃 𝑦𝑦 𝑥𝑥, 𝐶𝐶 …入力をデータからサンプリング プロンプトに入れる学習例の並び順(左)およびフォーマット(右)による正解率の変動 (Zhao+ 2021)

Slide 81

Slide 81 text

llm-jp-eval 80 Han, 植田, 大嶽, 勝又, 鎌田ら. 2024. llm-jp-eval: 日本語大規模言語モデルの自動評価ツール. 言語処理学会第30回年次大会. llm-jp-eval が対応している評価データセット (Han+ 2024) 日本語LLMに対する評価フレームワークで、8カテゴリ、12個の評価評価データセットに対して、評価に用いるプ ロンプトや評価指標が標準化されている

Slide 82

Slide 82 text

Nejumi LLMリーダーボード Neo 81 Nejumi LLMリーダーボード Neo(横軸がllm-jp-eval、縦軸がMT-bench) https://wandb.ai/wandb-japan/llm-leaderboard/reports/Nejumi-LLM-Neo--Vmlldzo2MTkyMTU0

Slide 83

Slide 83 text

まとめ  第1部:事前学習・継続事前学習  大量かつ多様な訓練データで事前学習を行い、基礎力をしっかり養う  訓練データの冗長性を取り除き、学習の効率を上げることが大切  第2部:指示チューニング  事前学習で獲得した能力を指示や対話を通して「引き出す」能力を養う  指示チューニングで新しい知識を教えようとすると、ハルシネーションが増える  第3部:アライメント  強化学習を用いて、言語モデルが人間の選好に沿うように調整(アライメント)する  DPOは人間のフィードバックに基づく強化学習(RLHF)を教師あり学習に変換  第4部:評価  様々なベンチマークデータが公開されているが、LLMの能力を評価できているとは言い難い  特に、LLMによる自動評価では様々な評価バイアスが存在する 82

Slide 84

Slide 84 text

参考資料 83  石上亮介. 2024. LLM評価の落とし穴 ~開発者目線で気をつけるポイント~. GENIACコミュニティ勉強会#1.  今城健太郎 (いもす). 2024. LLMの現在. Preferred Networks LLMオープンハウス.  岡崎直観, 荒瀬由紀, 鈴木潤, 鶴岡慶雅, 宮尾祐介. 2022. IT Text 自然言語処理の基礎. オーム社.  岡崎直観. 2023. 大規模言語モデルの驚異と脅威. 2022年度AIPシンポジウム成果報告会.  岡崎直観. 2023. 大規模言語モデル. 2023年度統計関連学会連合大会チュートリアルセッション.  小山田昌史. 2024. 大規模言語モデルを作る、拡張する.  鎌田啓輔, 山本祐也, シバタアキラ. 2024. 大規模言語モデル(LLM)評価のベストプラクティス. Weights & Biasesホワイト ペーパー.  西田京介, 西田光甫, 風戸広史. 2023. 大規模言語モデル入門. ソフトウェアエンジニアリングシンポジウム2023.  藤井一喜 (代理発表: 横田理央). 2023. 大規模言語モデル開発を支える分散学習技術. Weights & Biasesミートアップ.  松尾研究室. 2023. 大規模言語モデル. 東京大学サマースクール.  松田寛. 2024. 作って学ぶ日本語大規模言語モデル. 言語処理学会第30回年次大会チュートリアル.  Leshem Choshen, Ariel Gera, Yotam Perlitz, Michal Shmueli-Scheuer, and Gabriel Stanovsky. 2024. Navigating the Modern Evaluation Landscape: Considerations in Benchmarks and Frameworks for Large Language Models (LLMs). Tutorial of LREC-COLING 2024.  Mohit Iyyer. CS 685, Spring 2024, UMass Amherst.  Shervin Minaee, Tomas Mikolov, Narjes Nikzad, Meysam Chenaghlu, Richard Socher, Xavier Amatriain, Jianfeng Gao. 2024. Large Language Models: A Survey. arXiv:2402.06196.

Slide 85

Slide 85 text

謝辞 84  Swallow開発チームの東工大の皆さま、産総研の皆さま、特に本チュートリアルの内容についてご助言を頂いた 水木栄氏に感謝申し上げます。