| モデル | 公開年 | パラメータ数 | データサイズ | 備考 |
|---|---|---|---|---|
| GPT-1 | 2018 | 1.2億 | 5GB | 自己教師あり事前学習+fine-tuning |
| GPT-2 | 2019 | 15億 | 40GB | 文章生成以外は性能が低め |
| GPT-3 | 2020 | 1750億 | 570GB | promptによる追加学習(in-context learning)の提案 |
| GPT-4 | 2023 | 非公開 | 非公開 | マルチモーダル(画像も処理できる) |
GPT¶
モデルはデコーダー型Transformer([1801.10198] Generating Wikipedia by Summarizing Long Sequences)
次の単語を予測する問題として事前学習
BERTのようにタスクに合わせて教師あり学習でFine-tuningする
このあとにBERTが出て注目されにくかった模様
GPTのTransformer¶
デコーダー型Transformer([1801.10198] Generating Wikipedia by Summarizing Long Sequences)
前処理
:トークンの文脈ベクトルたち
: token embedding matrix
: potision embedding matrix
Text & Position Embedding
text embedding
少なくともEncoder-Decoder型のTransformerでは、ここの単語埋め込みも他のパラメータと同時に学習される
position embedding
Masked Multi Self Attention
Masked: 次の単語予測
Multi: データを分割して複数のAttentionで評価
residual conneciton
1つ前の層の結果を現在の層の出力結果に足し合わせる処理
番目のレイヤーの入力を、出力をとすると、残差結合では
Layer Norm
Layer Normalizationは、学習中に過剰に値が大きくならないようにベクトルの各要素を正規化する([1607.06450] Layer Normalization)
スケールを調整するパラメータと平行移動を調整するを用いてをに変換する。
ここで
Feed Forward
DNNだが
中間層は入力層の4倍程度大きくすることが多い
系列ではなく入力位置ごと(position-wise)に計算する
という違いが有る
番目の隠れベクトルをとすると
GPT-2¶
Language Models are Unsupervised Multitask Learners
GPTとほとんど同じモデル
データは新たに作ったWebTextデータセットで、数百万のテキスト
fine-tuneしないzero-shot learningが可能
Whenconditioned on a document plus questions, the answers generated by the language model reach 55 F1 on the CoQA dataset
achieves state of the art results on 7 out of 8 tested language modeling datasets in a zero-shot settingbut still underfits WebText.
ゼロショットの設定では7/8のデータセットでSOTAだが、まだ学習不足
まだまだ性能は低いが可能性は見た、という感じ
文章生成以外はパフォーマンスが低い?
GPT-3¶
in-context learning¶
promptによってモデルの振る舞いを変える・新たなタスクに適応させるという考え方
例示の数に応じてzero-shotやfew-shotに分かれる
→ prompt engineeringの考え方はこれがベース
