Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

GPT series

モデル公開年パラメータ数データサイズ備考
GPT-120181.2億5GB自己教師あり事前学習+fine-tuning
GPT-2201915億40GB文章生成以外は性能が低め
GPT-320201750億570GBpromptによる追加学習(in-context learning)の提案
GPT-42023非公開非公開マルチモーダル(画像も処理できる)

GPT

GPTのTransformer

デコーダー型Transformer([1801.10198] Generating Wikipedia by Summarizing Long Sequences

前処理

h0=UWe+Wph_0 = U W_e + W_p
  • U=(uk,,u1)U = (u_{-k}, \dots, u_{-1}):トークンの文脈ベクトルたち

  • WeW_e: token embedding matrix

  • WpW_p: potision embedding matrix

Text & Position Embedding

  • text embedding

    • 少なくともEncoder-Decoder型のTransformerでは、ここの単語埋め込みも他のパラメータと同時に学習される

  • position embedding

Masked Multi Self Attention

  • Masked: 次の単語予測

  • Multi: データを分割して複数のAttentionで評価

residual conneciton

1つ前の層の結果を現在の層の出力結果に足し合わせる処理

ll番目のレイヤーの入力をpt(l)\boldsymbol{p}^{(l)}_t、出力をot(l)\boldsymbol{o}^{(l)}_tとすると、残差結合では

pt(l)=ot(l)+pt(l1)\boldsymbol{p}^{(l)}_t = \boldsymbol{o}^{(l)}_t + \boldsymbol{p}^{(l-1)}_t

Layer Norm

Layer Normalizationは、学習中に過剰に値が大きくならないようにベクトルの各要素を正規化する([1607.06450] Layer Normalization

スケールを調整するパラメータa=(a1,,ad)\boldsymbol{a} = (a_1, \dots, a_d)^\topと平行移動を調整するb=(b1,,bd)\boldsymbol{b} = (b_1, \dots, b_d)^\topを用いてx\boldsymbol{x}x\boldsymbol{x}'に変換する。

xk=ak(xkμxσx+ϵ+bk)x'_k = a_k \left( \frac{ x_k - \mu_{\boldsymbol{x}} } { \sigma_{\boldsymbol{x}} + \epsilon } + b_k \right)

ここで

μx=1dk=1dxkσx=1dk=1d(xkμx)2\mu_{\boldsymbol{x}} = \frac{1}{d} \sum_{k=1}^d x_k\\ \sigma_{\boldsymbol{x}} = \sqrt{ \frac{1}{d} \sum_{k=1}^d (x_k - \mu_{\boldsymbol{x}})^2 }

Feed Forward

DNNだが

  • 中間層は入力層の4倍程度大きくすることが多い

  • 系列ではなく入力位置ごと(position-wise)に計算する

という違いが有る

ii番目の隠れベクトルをhih_iとすると

h^i=W2hi+b2hi=f(W1hi+b1)\hat{h}_i = W_2 h'_i + b_2\\ h'_i = f(W_1 h_i + b_1)

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だが、まだ学習不足

    • まだまだ性能は低いが可能性は見た、という感じ

  • 文章生成以外はパフォーマンスが低い?

in-context learning

promptによってモデルの振る舞いを変える・新たなタスクに適応させるという考え方

例示の数に応じてzero-shotやfew-shotに分かれる

→ prompt engineeringの考え方はこれがベース