論文 · arXiv 2109.01652
Finetuned Language Models Are Zero-Shot Learners
3行まとめ
- 🎯 未調整の大規模言語モデルは、生のプロンプトが事前学習のトークン分布から逸脱するため、ゼロショットタスクで苦戦する。
- 🔧 Instruction tuning: 評価対象クラスタを除外しつつ、自然言語テンプレートで表現された62のNLPデータセットにわたり137BデコーダLMをファインチューニング。
- 📈 ゼロショットのFLANは、評価した25データセット中20でゼロショット175B GPT-3を上回り、ANLIやBoolQなどのタスクではフューショットGPT-3をも凌駕。
概要
本論文では、言語モデルのゼロショット学習能力を向上させるシンプルな手法を探究します。指示(instruction)を通じて記述されたタスク群で言語モデルをファインチューニングする「instruction tuning」が、未知のタスクにおけるゼロショット性能を大幅に改善することを示します。137Bパラメータの事前学習済み言語モデルを採用し、自然言語の指示テンプレートを介して表現された60以上のNLPタスクでinstruction-tuneを行いました。この指示調整済みモデルをFLANと名付け、未知のタスクタイプにおいて評価を行いました。FLANはベースとなる未調整モデルの性能を劇的に向上させ、評価した25タスク中20タスクでゼロショットの175B GPT-3を上回りました。さらに、ANLI、RTE、BoolQ、AI2-ARC、OpenbookQA、StoryClozeにおいて、フューショットのGPT-3を大差で凌駕しました。アブレーション研究により、ファインチューニングに用いるデータセット数、モデル規模、そして自然言語による指示がinstruction tuningの成功における鍵であることが明らかになりました。
英語の原文概要
This paper explores a simple method for improving the zero-shot learning abilities of language models. We show that instruction tuning -- finetuning language models on a collection of tasks described via instructions -- substantially improves zero-shot performance on unseen tasks. We take a 137B parameter pretrained language model and instruction-tune it on over 60 NLP tasks verbalized via natural language instruction templates. We evaluate this instruction-tuned model, which we call FLAN, on unseen task types. FLAN substantially improves the performance of its unmodified counterpart and surpasses zero-shot 175B GPT-3 on 20 of 25 tasks that we evaluate. FLAN even outperforms few-shot GPT-3 by a large margin on ANLI, RTE, BoolQ, AI2-ARC, OpenbookQA, and StoryCloze. Ablation studies reveal that number of finetuning datasets, model scale, and natural language instructions are key to the success of instruction tuning.
論文解説
問題設定と動機
大規模言語モデル(GPT-3 175Bなど)は、コンテキスト内の事例(in-context exemplars)を活用したフューショット学習に長けています。しかし、読解、自然言語推論(NLI)、質問応答などの複雑なNLPベンチマークにおけるゼロショット能力は大幅に劣ったままです。未調整のモデルは、事前学習データの続きとしてフォーマットされたプロンプトに依存しており、これは明示的な指示や質問として提示されるタスクに対して不自然で脆弱な形式です。
著者らは、自然言語の指示として明確に記述された多様で広範なNLPタスク群に対して教師ありファインチューニングを行うことで、推論時に完全に未知のタスクタイプへゼロショットで汎化できるようになるかを検証しました。
主要なアイデア
- Instruction Tuning: 自然言語プロンプトテンプレートを用いて既存のNLPデータセットを指示・応答フォーマットに変換し、マルチタスクの教師あり学習とプロンプティングを融合。
- タスククラスタのホールドアウト: データセットをテーマ別のクラスタ(NLI、Closed-Book QA、翻訳、感情分析など)にグループ化。ターゲットクラスタ 上でゼロショット汎化をテストする際、真のゼロショット・クロスタスク評価を保証するため、(および密接に関連するクラスタ)に属するすべてのデータセットを訓練から除外。
- 選択肢付き分類(Classification with Options): 分類タスクにおいて、プロンプトの末尾に有効な候補ラベルを直接列挙する
OPTIONS:接尾辞を追加し、生成モデルの出力分布を純粋なランク分類ロジット比較に制限することなく誘導。
手法
ベースモデルは LaMDA-PT です。これは1370億パラメータを持つ高密度(dense)な左から右へのデコーダオンリーTransformerで、Webドキュメント、コード、Wikipedia、対話データからなる2.49T BPEトークン(非英語が約10%)で事前学習されています。
- データの集約: TensorFlow Datasetsの62のデータセットを12のクラスタに分類。各データセットに対して10種類の独自の自然言語指示テンプレートを作成(感情からテキストを生成するなど、最大3つの「反転」テンプレートを含む)。
- 学習設定: データセットあたりの訓練サンプル数を最大3万件に制限。大規模データセットによる過学習を防ぐため、最大混合レートを3,000とするサンプル数比例混合スキームを用いてバッチを構成。Adafactorオプティマイザ(学習率 )を用い、バッチサイズ8,192トークン、シーケンス長1024(入力)および256(ターゲット)のシーケンスパッキングを採用して、3万勾配ステップ学習を実行。
- 評価プロトコル: 個のホールドアウトクラスタを評価するために、 個の異なるFLANモデルを訓練。性能はすべての指示テンプレートの平均、および検証セットで選択された最良テンプレートの両方で報告。
- フューショット事例を用いた推論: 個の事例 が利用可能な場合、入力は次のようにフォーマットされます: ここで は区切りトークンによる連結を表し、最大16事例かつ960トークンまでに制限されます。
結果
- GPT-3とのゼロショット比較: 最良の開発用テンプレートを用いた場合、ゼロショットFLAN 137Bは評価対象の25ベンチマーク中20でゼロショットGPT-3 175Bを上回り、ANLI R1–R3、RTE、BoolQ、OpenbookQA、StoryClozeを含む10のデータセットでフューショットGPT-3を凌駕しました。
- タスクタイプ: 指示として自然に定式化できるタスク(NLI、読解、Closed-Book QA、翻訳など)で大幅なゲインが確認されました。RTEにおいて、FLANは84.1%(最良開発テンプレート)を達成し、ゼロショットGPT-3の63.5%、フューショットGPT-3の72.9%を上回りました。BoolQでは、FLANは82.9%に達し、GPT-3のゼロショット60.5%、フューショット77.5%を凌駕しました。
- モデル規模への依存性: 422M、2B、8B、68B、137Bパラメータにわたるアブレーションにより、 パラメータのモデルでは、instruction tuningが未知タスクへのゼロショット汎化を悪化させることが判明しました。正の転移は大規模モデル( および )でのみ発現します。
- 指示の重要性: 指示テンプレートなし(入力と出力のみ:4クラスタ平均37.3%)やデータセット名のみ(46.6%)でのファインチューニングは、自然言語による指示(55.2%)に比べて大幅に低いゼロショット性能となりました。
- Prompt Tuningとの親和性: パラメータ効率の高いPrompt TuningをFLANに適用すると、未調整のLaMDA-PTベースモデルに適用した場合よりも高いSuperGLUE精度が得られ、特に32サンプルの低リソース領域で顕著でした。
限界点と今後の課題
- 文完成タスク: Winograndeや常識推論における文完成など、言語モデリング形式であり指示が冗長となるタスクでは、instruction tuningの恩恵はごくわずか(場合によっては逆効果)でした。
- 指示の複雑さ: 本論文では、人間の評価者に通常与えられるような長くて詳細なプロンプトのガイドラインではなく、短い単一文の指示のみを調査しています。
- コンテキストウィンドウと計算資源: FLANの1024トークンというコンテキスト長のため、要約タスクの厳密な評価は行えませんでした。さらに、137Bパラメータの高密度モデルの実行および推論提供には膨大な計算リソースが必要です。
重要用語
- instruction tuning
- 未知のタスクへの汎化性能を向上させるため、自然言語の指示テンプレートを用いてフォーマットされた多様なデータセット群で事前学習済み言語モデルをファインチューニングする手法。
- FLAN
- Finetuned Language Netの略。LaMDA-PTのデコーダオンリーアーキテクチャに基づく、137Bパラメータの指示調整済みモデル。
- task clusters
- ゼロショットテストにおいて厳格なleave-one-cluster-out(1クラスタ除外)評価分割を実施するために使用される、タスクタイプ別(NLI、Closed-Book QAなど)のNLPデータセットのグループ。
- LaMDA-PT
- Webドキュメント、コード、Wikipedia、対話データからなる2.49Tトークンで事前学習された、137Bパラメータの高密度な左から右へのデコーダオンリーTransformer。
- classification with options
- 自由形式のテキスト生成を誘導するために、分類プロンプトの末尾に「OPTIONS:」トークンと候補クラスを直接追加する出力フォーマット戦略。
- examples-proportional mixing
- マルチタスク学習時に、指定された上限(3,000サンプル)までデータセットのサイズに比例してサンプリングを行うデータセット重み付け戦略。
- data contamination analysis
- 性能向上が単なる暗記によるものではないことを確認するため、事前学習コーパスとベンチマークテストセットとの間のn-gram重複を測定する事後評価。
よくある質問
Instruction tuningは通常のマルチタスクファインチューニングとどう違うのですか?
従来のマルチタスクファインチューニングは、特定の訓練タスク全体での性能最適化や新しいドメインへの適応を目的としています。一方、instruction tuningは自然言語の指示を用いてモデルにタスクの記述を理解させ、訓練中に完全に除外された未知のタスクタイプに対するゼロショット汎化を狙うものです。
なぜ小規模な言語モデルではinstruction tuningが悪影響を及ぼすのですか?
8Bパラメータ以下のモデルでは、約40種類の異なるinstruction tuningタスクを学習するだけでモデルのパラメータ容量が使い果たされ、未知タスクへの汎化能力が低下すると考えられます。タスクの実行と一般的な指示追従の両方を学習する容量が確保できるのは、約68Bおよび137Bパラメータになって初めてです。
FLANが未調整のベースモデルを上回れなかったタスクは何ですか?
共参照解決(例:Winogrande)や常識推論ベンチマークの文継続など、言語モデリングの穴埋めとして直接定式化されているタスクでは、指示プロンプトがベースの事前学習目標と重複して冗長となるため、instruction tuningの恩恵はほとんど見られませんでした。
事前学習コーパス内のデータ汚染(データリーク)にはどのように対処しましたか?
著者らはテスト事例と2.49Tトークンの事前学習データセットとの間で13-gramの重複を検索し、重複のないクリーンなサブセットを作成しました。このクリーンなサブセット上での性能と性能低下との間に相関は見られず、FLANのゼロショットでの向上は暗記によるものではないことが示されました。
このページの解説は AI が論文から作成したもので、誤りを含む場合があります。詳細は原文をご確認ください。