つらねの日記

プログラムの進捗やゲームをプレイした感想などを書き連ねる日記。

論文読み 「Improving Language Understanding by Generative Pre-Training」

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

前置きと感想

LLM触ることになりそうな気配がしたので、下の方から読んでいく感じ。

この論文自体にはこれと言ったことが書いてなくて、Transformersとlanguage model組み合わせましたーみたいな感じがした。 後半ちゃんと読めてないので、そっちの方には疑問に思っている箇所が書いてあるのかも。

--

GPT-1の画期的な点は当時ラベルなしコーパスで事前学習を行い、各タスクに対してfinetuneを行った最初の大規模言語モデルであるという点にある。

モチベーション

NLPはtextual entailment(含意認識)、question answering(質問応答)、semantic similarity assessment(意味的類似性評価)、document classification(文書分類)など色々なタスクがある

ラベルなしのテキストコーパスは多いが、特定タスク用のデータは少ない

手動ラベリングは大変なので、ラベルなしテキストコーパスから良い初期値を学習できれば、教師あり学習でも少ないデータで良いパフォーマンスを得ることができる

ただし、ラベルなしのテキストから単語以上の情報を学習するのは困難 単語レベルじゃなくて、高次の意味論を捉えたい→できてる証明は?

  1. 事前学習としてのテキスト表現の特徴量を学習するための効果的な最適化目標が不明確
  2. 学習したテキスト表現を適切に転移学習させる方法が不明確

既存技術は各タスクに転移させる際に、モデルを変更したり[43, 44]、複雑な学習[21]、補助的な学習目標を追加[50]などの工夫が必要で、これらの不確性が学習難易度を高めている

手法

unsupervised(教師なし) generative pretrainとsupervised(教師あり) discriminative finetuneを各タスクでやって言語理解を図る

unsupervised generative pretrainによって、広範なタスクに転移可能な普遍的な表現を学習する 良い初期化点をみつけることが目標

target taskは事前学習データと同じドメインでなくても良い→なぜ?

ロバストな転移が可能なTransformer[62]を使用 実際にはmulti-layer Transformer[34]

事前学習

出現したtokenから次のtoken列の尤度を最大化する

転移学習

transformerの活性化層hを線形出力に渡してラベルを予測する

さらにfinetune時にもlanguage modelingを補助的な目的として追加すると、精度も収束も良い方向に向かう

テキスト分類(Classification)では直接モデルをfinetuneできる。

QAや、テキスト含意(Entailment)は構造化された入力がある

事前学習の重みは連続シーケンスからなるため、修正が必要 [44]スタイルではなくて、traversal-style[55]でやることで、タスク間でアーキテクチャに大きな変更を加えなくて良くなる

ここで、Textual entailment, Natural Language Inferenceとは PremiseとHypothesisが与えられ、Entailment(含意)、Contradiction(矛盾)、Neutral(中立)の分類を行う