e4exp / paper_manager_abstract

0 stars 0 forks source link

The Power of Scale for Parameter-Efficient Prompt Tuning #401

Open e4exp opened 3 years ago

e4exp commented 3 years ago

本研究では、"プロンプトチューニング "と呼ばれる、シンプルかつ効果的な学習メカニズムを開発しました。 GPT-3で使用されている離散的なテキストプロンプトとは異なり、ソフトプロンプトはバックプロパゲーションによって学習され、任意の数のラベル付き例からの信号を取り込むように調整することができます。 エンド・ツー・エンドで学習するアプローチは、GPT-3の「数回の学習」よりも大きな差で上回っています。 さらに、T5を用いたモデルサイズの削減により、プロンプトチューニングがスケールに応じて競争力を増すことを示しました。 モデルのパラメータ数が数十億を超えると、我々の手法は「ギャップを縮め」、モデルチューニング(すべてのモデルの重みを調整する)の強力なパフォーマンスに匹敵します。 この発見は、大規模なモデルの共有や提供にはコストがかかりますが、1つの凍結されたモデルを複数の下流のタスクに再利用することができれば、この負担を軽減することができるという点で、特に重要です。 我々の手法は、最近提案されたLi and Liang (2021)の「prefix tuning」を単純化したものと見ることができ、この手法や他の同様のアプローチとの比較を行う。 最後に、ソフトプロンプトを用いて凍結モデルを調整することで、完全なモデルチューニングと比較して、ドメイン移行に対するロバスト性にメリットがあることを示す。

e4exp commented 3 years ago

1 はじめに

事前学習された大規模な言語モデルの幅広い成功に伴い、これらの汎用モデルを下流のタスクに適応させるための様々な技術が生まれています。 ELMo (Peters et al., 2018) は、事前学習されたモデルを凍結し、その層ごとの表現のタスク固有の重み付けを学習することを提案した。 しかし、BERT(Devlin et al., 2019)以降は、適応時にすべてのモデルパラメータを調整する「モデルチューニング」(または「ファインチューニング」)が主流となっている。 最近では、Brownら(2020)が、短いテキストプロンプトを介して凍結したGPT-3モデルの動作を調整するのに、「プロンプトデザイン」(または「プライミング」)が驚くほど効果的であることを示した。 プロンプトは通常、タスクの説明および/またはいくつかの規範的な例で構成される。 説明文の選択は重要であり(Jiangら、2020年)、プロンプトに含まれる例が多いほどパフォーマンスが向上する(Brownら、2020年)。 このように、事前に訓練されたモデルの「凍結」に戻ることは、特にモデルのサイズが増加し続けている中では魅力的です。 下流のタスクごとにモデルの別のコピーを必要とするのではなく、1つのジェネラリストモデルが同時に多くの異なるタスクに対応することができます。

残念ながら、プロンプトベースの適応には、いくつかの重要な欠点がある。 第一に、タスクの記述はエラーになりやすく、人間の関与が必要である。 第二に、プロンプトの効果は、モデルの最大入力長に収まる条件付け例の数によって制限される。 第三に、最も重要なことは、下流のタスクの品質が、チューニングされたモデルよりもはるかに遅れているということです。 例えば、SuperGLUEにおけるGPT-3 175Bの数撃ちゃ当たるパフォーマンスは、16倍のパラメータを使用しているにもかかわらず、微調整されたT5-XXL(Raffel et al.2020)よりも17.5ポイント低い(71.8 vs. 89.3)。

最近、プロンプト設計を自動化する取り組みがいくつか提案されている。 Shinら(2020)は、下流のアプリケーションのトレーニングデータに導かれて、単語の離散的な空間上の検索アルゴリズムを提案している。 この手法は手動でのプロンプト設計を上回るものの、モデルチューニングに比べてまだギャップがある。 これは、プロンプトトークンの関数としての損失が非微分であり、実際には確実に最適化することが難しいためであると考えられる。 Li and Liang (2021)は、"prefix tuning "を提案し、生成タスクで素晴らしい結果を示しています。 この方法では、言語モデルのパラメータを凍結し、チューニング中の誤差を、入力層を含むエンコーダスタックの各変換層に前置されたプレフィックス活性化にバックプロパゲーションする。 Hambardzumyanら(2021)は、学習可能なパラメータをマスクされた言語モデルの入力サブネットワークと出力サブネットワークに限定することで、この手法を単純化し、分類タスクで妥当な結果を示しています。

本論文では、言語モデルを適応させるためのさらなる簡易化として、プロンプトチューニングを提案する。 事前に学習したモデル全体をフリーズさせ、下流のタスクごとにk個のチューニング可能なトークンを追加で入力テキストに付加することのみを許可する。 この「ソフトプロンプト」はエンド・ツー・エンドで学習され、ラベル付きの全データセットからの信号を凝縮することができるため、本手法は「few-shot」プロンプトを凌駕し、モデルチューニングによる品質の差を縮めることができます。 同時に,事前に学習した単一のモデルをすべての下流のタスクに再利用するため,図2に示すように,フローズンモデルによる効率的なサービスの利点を維持することができます. 我々は、Li and Liang (2021)やHambardzumyan et al. (2021)と同時に我々の手法を開発したが、我々はプロンプトチューニングだけで(中間層の接頭辞やタスク固有の出力層などの更なる複雑さを伴わずに)モデルチューニングと競合するのに十分であることを初めて示した。 2-3節の詳細な実験を通して、言語モデルの能力が、これらのアプローチが成功するための重要な要素であることを示しています。 図1が示すように、プロンプトチューニングは規模が大きくなるほど競争力が高まります。セクション4では、類似のアプローチとの比較を行います。

タスクに特化したパラメータを「ジェネラリスト」パラメータ(一般的な言語理解に必要なパラメータ)から明示的に分離することで、さまざまな利点が得られる。 セクション5では、タスクの定義をプロンプトに取り込み、ジェネラリストのパラメータを固定しておくことで、新しいドメインに適応する際に、より良い伝達学習を実現できることを示す。 セクション6では、「プロンプトのアンサンブル」(同じタスクに対する複数のプロンプトの学習)が、従来のモデルのアンサンブルよりも品質を向上させ、より効率的であることを示す。

要約すると、我々の主な貢献は以下の通りである。

  1. プロンプトチューニングを提案し、大規模な言語モデルの領域でモデルチューニングとの競争力を示す。
  2. 多くの設計上の選択を排除し、品質とロバスト性が規模に応じて向上することを示す。
  3. ドメインシフト問題において、プロンプトチューニングがモデルチューニングよりも優れていることを示す。
  4. prompt ensembling」を提案し、その有効性を示す。
e4exp commented 3 years ago

2 プロンプトチューニング

T5 (Raffel et al., 2020)の「テキストからテキストへ」というアプローチにしたがって、すべてのタスクをテキスト生成とみなします。 Xは一連のトークンであり、yは単一のクラスラベルであるが、ある入力が与えられたときの出力クラスの確率p(y|X)として分類をモデル化する代わりに、Yはクラスラベルを表す一連のトークンであるため、条件付き生成としてモデル化する。 これは、T5がエンコーダ・デコーダモデルであることから、自然に適合します。 T5は、そのエンコーダとデコーダを構成する変換器(Vaswani et al.2017)の重みθによってパラメータ化されたpθ(Y|X)として分類をモデル化します。 プロンプティングとは,モデルがYを生成する際に,条件となる余分な情報を追加するアプローチである. 通常、プロンプトは、モデルのパラメータθを固定したまま、モデルが正しいYの尤度を最大化するように、一連のトークンPを入力Xに前置することで行われます。 GPT-3では,プロンプトトークンの表現であるP = {p0, p1, ... ... , pn}はモデルの一部である. p0, p1, ... , pn}は、モデルの埋め込みテーブルの一部であり、凍結したθによってパラメータ化される。 そのため、最適なプロンプトを見つけるには、手動検索または非差分検索法のいずれかによって、プロンプトトークンを選択する必要がある(Jiang et al.2020; Shin et al.2020)。 プロンプトチューニングは、プロンプトPがθによってパラメータ化されるという制限を取り除き、代わりにプロンプトは、更新可能な独自の専用パラメータθPを有する。 プロンプトデザインでは、凍結された埋め込みの固定語彙からプロンプトトークンを選択しますが、プロンプトチューニングでは、特別なトークンの固定プロンプトを使用し、これらのプロンプトトークンの埋め込みのみを更新することができると考えることができます。 我々の新しい条件付き生成は、pθ;θP (Y |[P; X])となり、バックプロパゲーションによってYの尤度を最大化しながら、θPにのみ勾配更新を適用することで学習することができる。

一連のn個のトークン、{x0, x1, .. . xn}が与えられると,T5はまずトークンを埋め込み,行列Xe∈R n×e(eは埋め込み空間の次元)を形成します. 私たちのソフトプロンプトは,パラメータPe∈R p×eとして表現されます(pはプロンプトの長さ). プロンプトは,埋め込まれた入力に連結され,単一の行列[Pe; Xe]∈R (p+n)×eを形成し,通常通りにエンコーダとデコーダを通過します。 我々のモデルは、Yの確率を最大化するように学習されますが、プロンプトのパラメータPeのみが更新されます。

e4exp commented 3 years ago

2.1 設計上の決定事項

プロンプト表現を初期化する方法は様々な可能性があります。 最も単純な方法は、ランダムな初期化を使用してゼロからトレーニングすることです。 より洗練されたオプションは、各プロンプト・トークンを、モデルの語彙から抽出された埋め込みに初期化することです。 概念的には、我々のソフトプロンプトは、入力の前にあるテキストの文脈と同じようにフローズンネットワークの動作を変更するので、単語のような表現が初期化スポットとして役立つかもしれません。 分類タスクでは、Schick and Schütze (2020)の「verbalizers」のように、出力クラスの列挙を表す埋め込みでプロンプトを初期化するという方法があります。 モデルがこれらのトークンを出力することを望んでいるので、有効なターゲットトークンの埋め込みでプロンプトを初期化することで、モデルが合法的な出力クラスに出力を制限するように「プライム」することができます。 もう一つの設計上の考慮点は、プロンプトの長さです。我々の手法のパラメータコストはEPであり、Eはトークンの埋め込み次元、Pはプロンプトの長さである。 プロンプトが短ければ短いほど,新たに調整しなければならないパラメータの数が少なくなるので,強力なパフォーマンスを維持できるプロンプトの最小の長さを見つけることを目指しています.

e4exp commented 3 years ago

2.2 スパン・コラプションの学習解除

GPT-3のような自己回帰型言語モデルとは異なり、我々が実験したT5モデルは、エンコーダー・デコーダー・アーキテクチャーを使用し、スパン・コラプションを目的とした事前学習を行います。 具体的には、T5は、入力テキスト文字列中のマスクされたスパンを「再構築」することを課題としている。 このスパンは、ここではhXi、hYi、hZiで示される固有のセンチネルトークンでマークされている。 ターゲットとなる出力テキストは,センチネルで区切られたすべてのマスクされたコンテンツに,最後のセンチネルを加えたものである. 例えば,"Thank you for inviting me to your party last week "というテキストから,"Thank you hXi me to your party hYi week "を入力とし,"hXi for inviting hYi last hZi "を出力とする事前学習例を作成することができる. Raffelら(2020)は、このアーキテクチャと事前学習の目的が、従来の言語モデリングよりも効果的であるとしていますが、我々は、この設定が、プロンプトチューニングによって容易に制御できる「凍結された」モデルを生成するのには適していないという仮説を立てています。 特に、T5.1.1のようなスパン・コーラルのみで事前学習されたT5モデルは、真に自然な入力テキスト(センチネル・トークンを含まない)を見たことがなく、真に自然なターゲットを予測することを求められたこともありません。 実際、T5のspan corruptionの前処理の詳細により、全ての事前学習のターゲットはセンチネルhXiで始まることになる。 センチネルを出力するというこの「不自然な」傾向は、微調整によって容易に克服することができますが、デコーダのプライアを調整することができないため、プロンプトだけでこれを覆すことは非常に困難であると思われます。

このような観点から、我々はT5モデルを3つの設定で実験しました。 1つ目のケース("Span Corruption")では、事前に学習されたT5を冷凍モデルとして使用し、下流のタスクで期待される自然なテキスト出力をもたらすプロンプトをどの程度まで学習できるかをテストします。 2番目のケース("Span Corruption + Sentinel")では、同じモデルを使用しますが、すべての下流タスクのターゲットテキストの前にセンチネルhXiを付けて、事前学習で見られたターゲットに近づけるようにします。 最後に、3つ目のケース(「LM適応」)では、T5の自己教師付き学習を少数の追加ステップで継続するが、Raffelら(2020)が議論した「接頭辞LM」目的を使用している。 重要なのは、この適応ステップは下流のタスクに依存せず、一度だけ行われることで、単一の凍結モデルが生成され、様々なタスクの迅速なチューニングに再利用できることです。 この適応により、T5を、常にリアルなテキストを出力し、プロンプトによく反応することで知られるGPT-3に近いモデルに「素早く」変換することができると考えています。 しかし、このような変換は、(ゼロからの事前学習と比較して)どの程度成功するのかすぐには分からず、我々の知る限りではこれまで調査されていません。 そこで、10Kステップから100Kステップの間で、様々な長さの適応を実験してみました。

e4exp commented 3 years ago

7 結論と今後の課題

本論文では,プロンプトチューニングが,凍結したプリト レント言語モデルを下流のタスクに適応させるための競争力の ある手法であることを示した. 一般的なベンチマークであるSuperGLUEにおいて、そのタスク性能は従来のモデルチューニングに匹敵し、モデルサイズが大きくなるにつれてその差はなくなっていく。 ゼロショットのドメイン転送では、迅速なチューニングが一般化能力の向上につながることがわかりました。 これは、汎用的な言語理解パラメータを解放し、下流の学習を軽量なパラメータフットプリントに制限することで、特定のドメインへのオーバーフィッティングを回避できることを示していると考えられます。 タスクの品質評価だけでなく、事前学習したモデルを凍結させておくことの魅力についても述べました。 この移行により、効率的なマルチタスクサービスと、効率的で高性能なプロンプトアンサンブルの両方が可能になります。 我々のプロンプトがモデルチューニングのパフォーマンスと一致する能力は、タスクの定義が独自のパラメータの部分空間に存在することを示唆しています。 今後、タスク定義のパラメータを一般的な言語モデリングのパラメータとは異なるものとして因数分解することは、新しい研究の道を切り開くエキサイティングなステップであると考えています。