GPTを理解したい
GPTを理解したい記事です。
GPTはtransformerを基礎としたモデルです。transformerの解説記事はこちら。
元論文「Improving Language Understanding by Generative Pre-Training」をベースにまとめていきます。
凄いポイント
- 様々なタスクをモデルの構造をほとんど変えずに行える。しかも12タスク中9つでSOTA。
GPTの構造
Transformer Decoder (T-D)
GPTは[2]で提案されたTransformer Decoder (T-D)を用いたモデルで、以下のような構造をしています(下図左側)。
[1] Figure 1 より引用
初期のTransformerもそうですが、当時の言語モデルはencoder-decoderネットワークが主流でした。例えば英語をドイツ語に変換する翻訳タスクでは、encoderに英語の単語列(入力)を、decoderに過去のドイツ語の単語列(過去の出力)を入力し、次単語予測を行います。
Transformer Decorderはパラメータを半減することができる半面、decoder側の入力しか受け付けません。その為、入力列と過去の出力列を結合した系列を作り学習を行います。つまり、
これらを結合して
教師なし事前学習
トークンの集合が
ここで、
GPTは先述したTransformer Decoderの構造を利用しており*、以下のように定義されます。
ここで、
*transformer blockはmulti-headed self-attentionが使われていることに注意してください。
教師ありファインチューニング
式 (1) を最大化するように学習した後、目標タスクの教師あり学習を行います。
目標タスクの学習データセット
GPTでいうところのファインチューニングでは、事前学習したモデルの最終層のみパラメータ更新します。つまり、入力トークン列を事前学習したモデルへ通し、transformer blockの最終出力
auxiliary objective
auxiliary objective(補助目的)を含めてファインチューニングを行うと、汎化性能と収束性が向上する事が分かったと筆者らは言っています。具体的には、新たな目的関数
を導入してファインチューニングを行います。ここで、
タスクに合わせた入力設計
分類タスクであれば、上記のようなファインチューニングを素直に行えば良いのですが、文章とそれに対する質問に対して回答を得るタスクや、文章間の類似度評価を行うためには入力を工夫する必要があります。GPTモデルは1系列での学習にしか対応しておらず、2系列の入力が必要な文の類似度評価や、3系列の入力が必要になる文章とそれに対する質問に対して回答を得るタスクはそのままでは学習できないためです。
[1]ではTextual entailement、Similarity、Question Answering and Commonsense Reasoningでの例が紹介されています。
再掲:[1] Figure 1 より引用
上図の右側でそれぞれのタスクにおける学習方法の模式図があるので、適宜確認すると以下の説明が分かりやすくなると思います。
Texutual entailement
日本語では、テキスト含意タスクと言います。前提トークン
Similarity
2つの文の類似度を評価します。デリミタトークンを文間に挟みこむのはTextual entailementと同様です。ただ、2つの文間に順序関係は無いので、順序の異なる2つの入力系列を用意し、それぞれの独立にモデルへ渡して隠れ状態を得ます。得られた2つの隠れ状態の要素ごとの和をとり、最後にlinear layerへ渡します。
Question Answering and Commonsense Reasoning
文
GPTの性能
最後に様々なタスクに対するGPTの性能を見て終わりましょう。
自然言語推論タスクの性能
[1] table 2 より引用
6つの自然言語推論タスクで、当時のSOTAモデルとの性能比較を行っています。ファインチューニング後のGPTモデルは6つ中5つでSOTAを達成しています。
Question Answering and Commonsense Reasoningの性能
これは質問に対する回答を得るタスクでした。全てのタスクでSOTAを達成しています。
[1] table 3 より引用
Semantic similarity and classificationの性能
6つ中4つでSOTAです。
[1] table 4 より引用
まとめ
- GPTはTransformerのDecoder側を変形したモデル。
- ほとんどモデル構造や目的関数を変えることなく様々なタスクでSOTAを達成
にわかには信じがたい威力のモデルですが、GPT-nと総称される後継モデルが人間とほぼ同じクオリティの文章を生成できるなるなど、このモデルの威力は十分実証されていますね。
参考文献
- Radford, A., Narasimhan, K., Salimans, T. & Sutskever, I. (2018). Improving Language Understanding by Generative Pre-Training.
- Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., Kaiser, L. & Polosukhin, I. (2017). Attention Is All You Need. arXiv. https://doi.org/10.48550/arxiv.1706.03762
Discussion