BioErrorLog Tech Blog

試行錯誤の記録

初代GPTを理解する | 論文メモ: Improving Language Understanding by Generative Pre-Training

最初のGPT論文"Improving Language Understanding by Generative Pre-Training" の要約メモです。

はじめに

今回まとめる論文はこちら:

Improving Language Understanding by Generative Pre-Training

OpenAIによる初代GPT論文。

なお本記事で掲載する図は全て上記論文からの引用です。

Improving Language Understanding by Generative Pre-Training

概要

  • 背景
    • 世の中にはラベルなしのテキストデータは大量にあるが、ラベルありの学習用データは限られた量しかない
  • 課題
    • 現状、用意が大変なラベルあり学習データへの依存度が高い
    • ラベルなしテキストデータをいい感じに活用する方法がまだわかっていない
  • やったこと
    • ラベルなしテキストデータによる汎用事前学習(Generative Pre-Training)の後に、特定タスクに対応するためのラベルあり学習データによるfine-tuning、の二段構えによるモデル構築
    • アーキテクチャはTransformerベース: Decoder部分のみ
  • 結果
    • 幅広い言語タスクで当時のSOTA達成

手法

モデルアーキテクチャとfine-tuningの構成

  • Transformer decoderをベースにしたアーキテクチャ
  • ラベルなしテキストデータでpre-training
  • 教師ありfine tuningではTransformerにlinear+softmaxを追加
    • 目的関数には、pre-trainingの目的関数を重みづけ加算したauxiliary objectiveを採用
    • タスクに応じて、入力の形態をTransformerが処理できる一続きのtoken列に変換
    • タスクに応じて、複数のTransformerを並列に組み合わせる

結果

Natural Language Inferenceタスク

Natural Language Inferenceタスク結果

  • テキストの論理包含認識タスク
    • ふたつの文章について、包含、矛盾、中立のいずれかを判断する
  • RTE以外で既存モデルを上回った

Question answering / commonsense reasoningタスク

  • RACE: 中学高校の英語(国語)の試験文章を元にしたQAタスク
  • Story Cloze: ストーリーの正しい結末を選ぶタスク
  • いずれも既存モデルを上回った
    • 長コンテキストの文章を扱う能力を示している

Semantic Similarity / 分類タスク

Semantic similarityと分類タスク結果

  • Semantic Similarity: 二つの文が意味的に等価かを判断
    • 3つのうち2つで既存を上回った
  • Classification/テキスト分類
    • CoLAで既存SOTAを大きく上回り、SST2で既存SOTAに近い結果を出した

分析

Pre-trainingは本当に意味があったのか?

転移学習させた事前学習layer数とタスク精度

  • 転移学習に使った事前学習layerが多ければ多いほど、タスク精度は高かった
    • 事前学習で習得した知識がタスク実行に役立っている

モデルablation検証結果

  • Pre-trainintを行わないと、一貫して結果は悪化した

おわりに/所感

以上、論文"Improving Language Understanding by Generative Pre-Training"の要約メモでした。

以下は私の個人的なメモです。

  • 筆者たちは何を成し遂げようとしてるのか
    • ラベルなしテキストデータの有効活用方法の提示
  • アプローチの鍵となる要素は何か
    • ラベルなしテキストデータによる汎用事前学習を行なったのち、タスク特有のラベルあり学習データでfine-tuningを行う二段構成
    • Transformer decoderアーキテクチャの採用
  • 次に読みたい引用論文は何か
  • その他所感
    • ラベルなしテキストデータでの事前学習が有効なアプローチである、を示したこの発見と、この先発表されるScaling lowが合わさって、昨今のテキストデータによる大量学習の方向性が定まることになったんだろうか。 今までなんとなく固有名詞として見ていたGPT/Generative Pre-Trainingの意味も、ようやくこの論文を読んで腑に落ちた。

[関連記事]

www.bioerrorlog.work

www.bioerrorlog.work

www.bioerrorlog.work

参考

https://cdn.openai.com/research-covers/language-unsupervised/language_understanding_paper.pdf

Improving language understanding with unsupervised learning

GitHub - openai/finetune-transformer-lm: Code and model for the paper "Improving Language Understanding by Generative Pre-Training"