GPT-2 & 3 & Instruct-GPT

17.3K Views

April 15, 23

スライド概要

GPT-2から、Chat-GPTのベースであるInstruct-GPTまでを一気に駆け抜けます!
前回までのスライドでGPTの構造さえ掴めていれば、ここは苦しみなく理解できると思います
Chat-GPTのレシピは公開されていないため、LLMの解説スライドは一旦ここで区切ります
また新情報が出たら、その時はまた続きを作成しようと思います

profile-image

大学院でFederated Learningの研究を行なっています。

シェア

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

GPT-2 & 3 & Instruct-GPT 図だくさん解説 ~計算量節約とIn Context Learning~ 1

2.

⾃⼰紹介 ROCMan • 来年春から新卒GPUエンジニアの修士2年生 • 深層学習とGPUプログラミングがちょっとわかる • たまに深層学習系の論文読んでスライドにまとめてます twitter垢: https://twitter.com/ROCmannn 2

3.

⽬次 • 前回までのおさらい • GPT-2 • モデル構造 • 汎用モデルとしての使い方 • GPT-3 • モデル構造 • Sparse Masked Multi-Head Attention • In-Context Learning • Instruct-GPT • fine tune 3

4.

前回までのおさらい 前々回のTransformer解説はこちら 前回の初代GPT解説はこちら 4

5.

Output Probabilities Transformer softmax Linear Layer Norm 並列性の高い計算フローを持つ Encoder-Decoder型DNN 本来は翻訳家 Nx だが、意味解釈能力が超凄い これ、何にでも応用できない? + Feed Forward Layer Norm Layer Norm + + Feed Forward Multi-Head Attention Layer Norm Layer Norm + + Multi-Head Attention Masked Multi-Head Attention 〜 + 〜 xN + Input Embedding Output Embedding Inputs Outputs 5

6.

GPT誕⽣の背景 Transformer凄い! NLPは全部Deepで行ける? LDLは学習コストが大きすぎる • 大量の解答付き学習データ • タスク毎に別々のモデルが必要 Ø全部できるやつ作れない? 分類AI ペットの話題 仕事の話題 類似判断AI 同じ主張 異なる主張 6

7.

汎⽤モデルを作るためには︖ L真の意味での汎用モデルは困難 Øタスク毎に入出力の要求が異なるため • 分類:文章 -> 確率分布 • Q&A: 質問文 -> 回答文 入力文の意味解釈は共通して必要なはず 1. 入力文から意味ベクトルを作るモデルを学習(Pre-train) 2. あとはタスク毎に微調整して!(Fine-tune) 何かしら自然言語AI作りたい人は2だけやればok! 7

8.

GPT Outputs ほぼTransformerのdecode部() Fine-tune Linear Pre-train • 前半の大部分のパラメタを学習、固定 Fine-tune • 最終層を交換、タスクに応じ追加学習 Pre-train Layer Norm + x12 Feed Forward Layer Norm + Masked Multi-Head Attention 〜 + Word Embedding Inputs 8

9.

GPTまとめ 多様な自然言語タスクを解ける汎用モデルの需要 Ø文章解釈力を持つ基盤モデルを作り、タスク毎に微調整しよう Pre-train • 次単語予測の大量学習でモデルに解釈力を! Fine-tune • モデルの最終層だけ取り替え、そこだけ追加学習 9

10.

真の汎⽤モデルの誕⽣ 10

11.

やっぱり真の汎⽤モデル欲しい GPTは理解力だけ鍛えた基盤モデル L結局タスク毎のfine-tuneは必要 Øこれもだるい。真の汎用モデル欲しい これを真剣にやってみたのがGPT-2 朝 ご飯 を ? 私は犬を ? GPT for taskA for taskB for taskC Linear Linear Linear GPT GPT GPT 11

12.

GPT-2 “Language Models are Unsupervised Multitask Learners” (Alec Radford et al. @Open AI) 巨大なGPTを大規模なデータセットで学習 Ø真の汎用モデルになれる可能性を示した 12

13.

モデル構造 GPT GPT-2 Output Probabilities Output Probabilities softmax softmax Linear Linear ブロック構造ほぼ不変 Layer Norm Layer Norm 層の数が4倍に (最大モデルの場合) + Feed Forward Layer Norm + 1024トークン入力可能に 結局巨大な次単語予測器 Masked Multi-Head Attention 〜 + Word Embedding Inputs + x12 Feed Forward Layer Norm x48 + Masked Multi-Head Attention Layer Norm 〜 + Word Embedding Inputs 13

14.

多様なタスクどう解く︖ 実は次単語予測だけでいい! GPT-2 Output Probabilities softmax Linear Layer Norm + • 要約タスク Ø入力文の最後に「要は」を付けて後続文予測 Feed Forward Layer Norm x48 + • 翻訳 Ø「英文=仏文」のペアをいくつか並べ、最後に 「翻訳したい英文=」をつけて後続文予測 Masked Multi-Head Attention Layer Norm 〜 ü全部、後続文予測というタスクに落とせる + Word Embedding Inputs 14

15.

学習データセット GPTと同様、次単語予測の学習をさせる 真の汎用モデルを作りたい Ø一層広範な知識を与える必要性 WebText dataset • Reddit(米のネット掲示板)の投稿を収集 • 3karma(いいね的な)以上ついたもののみ抜粋 • 40GBくらいの英語投稿(10MBくらい仏語) 15

16.

実際、性能もすごかった • 要約 Ø定量的評価ではイマイチ。人の目には凄くできてそう • 翻訳 Ø当時の最強モデルには負けたけど、かなり優秀 • 長文についてのQ&A Ø同上 • 一問一答 Ø正解率4.1%...だけど、最小モデルは1%(デカくしてけばもっと?) 16

17.

GPT-2の何が凄い︖ 現状、各タスクの特化型モデルには勝ててなさそう? GPT-2の凄いとこ • 次単語予測しか勉強してない • モデルサイズ増加による性能の伸びに限界が見えない • 特に翻訳は、仏語はdatasetの0.02%だけなのに結構できてる üモデルとdatasetデカくすれば無限に賢くなるのでは? 17

18.

GPT-3 18

19.

計算量でぶん殴れ︕︕ “Language Models are Few-Shot Learners” (Alec Radford et al. @OpenAI) GPT-2凄かったけど、まだ性能が物足りない!! Øモデルとdata setのサイズぶち上げんぞ! 19

20.

GPT-3の構造 ブロック数 GPT-3 Output Probabilities softmax Linear Layer Norm Ø48 → 96 + Feed Forward 入力トークン数 Layer Norm x96 + Ø1024 → 2048 Sparse Masked MHA 総パラメタ数 Ø15億 → 1750億 (4倍でないのはMHA内の次元数も変更の為) Layer Norm 〜 + Word Embedding Inputs 20

21.

再掲)GPT-2の構造 GPT-2 Output Probabilities softmax Linear Layer Norm + Feed Forward Layer Norm x48 + Masked Multi-Head Attention Layer Norm 〜 + Word Embedding Inputs 21

22.

Sparse Masked MHA トークン数増加により、計算量が爆増 GPT-3 Output Probabilities softmax Linear Layer Norm + Øその節約のための機構がついたMMHA Feed Forward Layer Norm x96 + Sparse Masked MHA Layer Norm 〜 + Word Embedding Inputs 22

23.

ざっくりMasked MHA(通常) sparseとの違いは、mask機構が主 MMHA Ø一旦MHAはblack boxと見てok mask機構のお気持ち …GPTは次単語予測器 Ø常に手前の文脈だけから解釈させたい Ø各単語ベクトルの生成には、 手前の単語ベクトル全部を利用 L後方の単語のベクトル生成が重い Layers… MMHA Layers… I am a cat . I do not have a name . 23

24.

ざっくり Sparse Masked MHA 途中のベクトルに手前の情報を集約 Øそこより前の単語は見ない MMHA こういうbreak pointを各所に設置 層を経て、文末側にも文頭情報が伝播 Layers… MMHA J精度落とさずに計算量削減 Layers… I am a cat . I do not have a name . 24

25.

In-Context Learning 25

26.

いかに汎⽤モデルといえど GPT-3は大量データで大規模学習してる Ø広範なタスクを解く教養は既にあるはず mouse user A mouse is an animal … Lでも前情報全くなしは流石にきつい 訳せって ことだよ!! 振られてるタスクを解らせる必要あり Ø但し、学習(パラメタ変更)はさせずに 使い方の工夫だけで実現しよう user GPT-3 えぇ... GPT-3 26

27.

In-Context Learning 和訳せよ cat = 猫 dog = 犬 mouse = Learningとは言いつつ学習ではない GPTは文脈を読む達人 Ø何のタスクか解らせる為の助走があればok user ねずみ 指示と、答えの例を幾つか入力の頭につける Øこれを丸ごと入力と見做させ、後続文を予測 GPT-3 ü空気を読ませる助走を入力文につけること! 27

28.

In-Context Learning In-Context Learningは大まかに3種類 • Few shot : 指示と10~20個の例を与える • One shot : 指示と1個の例だけ • Zero shot: 指示だけ 和訳せよ cat = 猫 dog = 犬 mouse = user ねずみ GPT-2の翻訳実験で似たことはやってた GPT-3 このやり方で効率も変わる為、名前がついた 28

29.

性能評価 • 一問一答 ØJ1shot GPT-3でSoTA記録更新(Few shotは更に高い) • 翻訳 ØJFew shotが教師なし版SoTAに匹敵(教師あり版には敗北) • NLI(後の文は前の文に反対?賛成?的なタスク) ØLほぼrandom selectと同じ精度 • 算術(2桁の加減算) ØJ正解率99%(乗算、括弧付き式などは20%くらい) • ニュース記事生成 ØJ機械生成かどうかを人間に評価させたところ、正解率52% 29

30.

不思議なところ 元論文では、様々なサイズのモデルで性能評価 特定の大きさのモデルから急に精度が出始めるタスクが多発 (算術系など) Øモデルサイズを大きくすると、突発的に新能力が発現 30

31.

GPT-3まとめ GPT-2に対して以下の改善を施したモデル • モデルサイズ増大 • 学習data set増大 • Sparse Masked Multi-Head Attentionで計算量削減 In-Context Learningで入力にタスクの文脈を入れて使おう! 31

32.

Instruct-GPT 32

33.

GPT-3を微調整してbrush up! GPT-3には、人が使う上での問題が幾つか残存 • 情報のでっち上げ • 不適切な文章生成 • 簡単な質問でも長文で返す Ø人間にとって好ましい文生成をするように微調整しよう 33

34.

⼈の⼿による採点で強化学習 GPT-3に、2つのfine tuneを実施 1. 好ましい応答data set作ってfine tune 2. GPTの出力を評価する採点モデルを作成 Ø採点モデルの評価をもとに、GPT-3を強化学習 34

35.

①好ましい応答data setでfine tune 日本について教えて GPT-3のAPIで使われた入力を収集 user GPT-3 人の手で正解の応答を作成 日本は東アジアに 位置する島国で… これらでfine tune 日本について教えて 日本は東アジアに 位置する島国で… 35

36.

②-1 採点モデルを学習 就活だるい 1. 各入力への応答をGPT-3が2個ずつ作成 user 頑張ろう! GPT-3 草 2. 人の手でどちらが良い応答かlabeling 頑張ろう! 3. 入出力から良いor悪い(2値)を予測する 採点モデルを学習 草 就活だるい 頑張ろう! good! 就活だるい 草 bad... 36

37.

②-2 採点モデルでGPT-3を学習 GPT-3の出力を採点モデルがfeed back 天気いいね Øgood評価を貰えるようGPT-3を強化学習 せやな user GPT-3 bad... 37

38.

Instruct-GPTまとめ GPT-3に対して以下の改善を施したモデル • 人力で作った応答datasetでfine tune • 応答の良し悪し採点モデル作って強化学習 38

39.

読了感謝︕ twitter垢: https://twitter.com/ROCmannn ↑少しでもわかりやすいと思ってくれたらフォローお願いします 39