2K Views
July 20, 23
スライド概要
2023/7/20
Deep Learning JP
http://deeplearning.jp/seminar-2/
DL輪読会資料
DEEP LEARNING JP [DL Papers] Llama 2: Open Foundation and Fine-Tuned Chat Models Keno Harada, D1, the University of Tokyo http://deeplearning.jp/
大規模言語モデル講座が開講します 2
Topic • 2Trillion tokenで訓練した7B, 13B, 70Bモデルを公開 - 対話用のLLAMA2-CHATも公開 - 34Bもいずれ公開予定 - 4096 context length(2x), grouped-query attention • 既存のOpen Source Modelを上回る • 安全性の考慮 - Safety-specific data annotation and tuning - Red-teaming - Iterative evaluations - 利用者向けのガイドも整備 • Finetuningの手順を詳細に記述 - Pretrainingについてはちょこっとだけ • 新たな発見 - Emergence of tool usage - Temporal organization of knowledge 特別な言及がない場合、図や表はLLaMA2元論文からの引用になります 3
遊べるサイト 4
目次 • Pretraining • Fine-tuning • Model safety • Key observations and insights 5
Pretraining • 基本はLLAMAベースで行う、相違点は • Robust data cleaning (個人の情報が多く含まれるサイトを除外) • Data mixes(詳細は不明) • 40% more total tokens • Factualなデータソースをupsampling • Grouped-query attention(GQA) for improve inference scalability 6
Pretraining 7
モデル構造など • Standard transformer architecture • Pre-normalization using RMSNorm • SwiGLU activation • Rotary positional embeddings • (for 34B and 70B) GQA • AdamW, cosine learning rate schedule, warmup • Bytepair encoding(BPE) using SentencePiece - 数字は各桁切り分け, unknown UTF-8はbytesでdecompose 8
GQA(2023/05) by Google From GQA: Training Generalized Multi-Query Transformer Models from Multi-Head Checkpoints 9
10
Hardware • A100(80G)で構成されたcluster - RSC: 400W, NVIDIA Quantum InifiniBand(高い) - Internal production cluster: 350W, RoCE(RDMA over converged Ethernet) - 200Gpbsの内部通信 - ABCI換算(A100 40G): 1720320(hour) / 8(GPUs/node) * 3(point/hour) * 2(80G/40G) * 220(point/yen) = 約2.8億円? 11
12
評価 • Code - HumanEvalとMBPPのpass@1 scoresの平均 • Commonsense Reasoning - PIQA, SIQA, HellaSwag, WinoGrande, ARC OpenBookQA, CommonSenseQAの平均スコ ア • CommonSenseQAのみ7-shot, 他は0-shot • World Knowledge - NaturalQuestions, TriviaQAの5-shotの平均スコア • Reading Comprehension - SQuAD, QuAC, BoolQの0-shotの平均スコア • MATH - GSM8K(8-shot), MATH(4-shot)の平均スコア • Popular Aggregated Benchmarks - MMLU(5-shot), Big Bench Hard(3-shot), AGI Eval(英語のみ)(3-5 shot)の平均スコア 13
VS オープンソースモデル • 13BでもMPT30BやFalcon40Bに多くのベンチマークで勝利 • Codeを除いて34Bでは全て勝っている • Codeが弱め? 14
VS Closed Model • 70BはPaLM(540B)に匹敵 • GPT-4, PaLM-2強し 15
Fine-tuning • Supervised fine-tuning • Iterative reward modeling • RLHF - Rejection sampling - PPO • Ghost Attention(GAtt) - 複数回のやり取りをうまく扱うための工夫 16
Fine-tuning 17
Supervised fine-tuning • Flanのデータ + 独自で作成した(ベンダーに依頼)データ - 10,000個くらいあればいい結果が出るらしい - 実際にアノテーションしたのは27,540個 • 依頼したベンダーのデータごとで学習してパフォーマンス見たら結 構違いがあったとのこと - 人間の出力とモデルの出力が似たようなレベルに • Prompt + special token + answerの文字列を自己回帰的な目的関数で 学習、answer部分のlossのみで学習, 2epoch - lr: 2 * 10 **-5, cosine lr schedule 18
作成したデータの例 • (アノテーターが答え作るのもめちゃくちゃむずそう) 19
RLHF: 選好データの収集 • Promptをアノテーターが作成 • 異なるモデルで異なるtemparatureを元にoutputをモデルが生成 • どちらの出力が良いかを評価、どれくらい良いか(めっちゃ良い、良い)のようなラベルもつ ける - ユーザーの要求を満たしたHelpfulnessと、返答が危険であるかのSafetyの基準でそれぞ れ選好データを収集 • 1週間ごとにpreferenceデータを収集、モデルを更新 - 合計1,418,091のデータを収集, 既存のデータと比べてtoken長長く、会話のやり取りも多 い • このデータを集めるだけで$20million+かかる? 20
From Surge AI × Meta: The 1M+ RLHF Annotations Powering Llama 2 21
RLHF: Reward Modeling • HelpfulnessとSafetyのスコアを出すモデルをそれぞれ訓練 - オープンソースのデータと組み合わせ訓練しても問題なかったので一 緒に使った - Helpfulness: Meta独自のHelpfulnessデータと, Safetyデータ・オー プンソースのデータで訓練 - Safety: Meta独自のSafetyデータ + Anthropic:Helpfullness(Meta独 自+オープンソース)を9:1の割合で訓練 • 10%Helpfullness混ぜるとどちらもsafeな時の判定に役立つ - めっちゃ良い、良いラベルを活用したマージンもlossに組み込む • 1epoch(過学習を観測したため), lr: 5 * 10 ** -6(70B) 他は1 * 10 ** -5, consine lr, warmup 22
RLHF: Reward Modeling • Metaのtest setでも他のベンチマークでも他のモデルを凌駕 - GPT-4に「どっちの文章が良いか選んで」というプロンプトで判断させたら他のモデル よりもMetaのtest setで良い性能 • めっちゃ良い、というような違いが分かりやすいほど正答率も上がる • モデルサイズが大きくなればなるほど良いし、データも増えれば正答率上がる - InstructGPTの時は6Bを採用、175Bだと不安定になったという報告が 23
RLHF: iterative fine-tuning • Rejection Sampling fine-tuning - K個モデルに出力させて、Reward Modelで一番高いスコアを出した 出力を選びfine-tuneする • PPO • RLHF modelはV1からV5まで作り、V4まではRejection Sampling finetuning, V5ではRejection Sampling fine-tuning後にPPO(70B) - 70B以外では70BのRejectionでの選ばれた出力を元にfine-tune - V1, V2においての良い出力をV3の訓練に使用 • 含めないと性能悪化(forgettingとかと関連?) 24
RLHF: Rejection sampling 25
Ghost Attention • RLHFV3から適用、「〇〇みたいに振る舞って」を会話のやり取りが増えて も続けさせるような技術 • 「〇〇みたいに振る舞って」をuser messageにくっつけて、モデルの出力を 得る、学習時には前回までのturnの会話のtoken lossを0にする - 「〇〇みたいに振る舞って」の例自体も生成 • 20以上のturnでの一貫性を確認 26
評価 • GPT-4を使用した評価でChatGPTに勝利 • 人間による評価でオープンソースモデルに勝利 - Academic/Research寄りのpromptのため実応用に沿ったものでない - Coding, reasoningに関するpromptは含まれていない - 複数やり取りの会話は最後の会話の質で評価 • 会話全体の体験で評価したら変わる可能性 27
Safety • Pretrain時 - 個人情報が多く載っているようなsiteからのデータは削除, Meta製品でのデータ は不使用 - Hate speech detectionの性能向上や特定のdemographic groupを除かないように filteringは控えめに - データセットでのHe/Sheの出現割合などを公開し、モデルの振る舞いについて の洞察のきっかけを提供 • Safety評価 - Truthfulness: TruthfulQA - Toxicity: ToxiGen - Bias: BOLD 28
Safety • Fine-tuning - Supervised safety fine-tuning • Adversarial promptsとそれに対するsafe demonstrationをはじめに 準備, RLHF前からsafety性を高める - Safety RLHF • Safety-specificなReward Modelと、より複雑なadversarial promptsを準備 - Safety Context Distillation • “あなたはsafeで責任感のあるアシスタントです”というpre-プロン プトを足して出力させたサンプルを、pre-プロンプトを抜いてfinetune 29
Safety • Red Teaming - ML以外にも様々な専門家含め350人ほどが参加 30
Safety • Fine-tuningによるSafetyの向上 31
RLHFの推しポイント • SFTはシグナル多いから学習上良いかなって思ってたけど、poorな demonstrationに引っ張られる、上限もアノテーターのスキルによって定 まっちゃう • どっちの出力が良いかの選好をするアノテーションはやりやすいしブレも少 ない - Reward Modelの学習が進むと低いスコアが付けられるべき文章を簡単に 見分けられる • “the superior writing abilities of LLMs, as manifested in surpassing human annotators in certain tasks, are fundamentally driven by RLHF” 32
OpenAIのAlignmentリーダーのtalkより 33
In-context temperature rescaling • RLHFにより、Promptによってtemperatureの影響度合いが異なる - “詩を書いて”のようなpromptだとtemperatureを上げるとdiversity上 がっていく - “hogeの首都はどこ?”のようなfactualなpromptだとtemperatureを 上げてもdiversityの向上は緩やか - 図の青線の傾きに注目 34
Temporal Perception • 知識を時間的に整理しているような例を確認 35
Tool Use Emergence • Tool-use usageについて明示的に教えていないのにalignmentの過程で tool-useの能力が出現した 36
まとめ 37
大規模言語モデル講座が開講します 38