言語モデルは、自然言語処理分野の研究と実践を大きく変えました。近年、大型モデルは多くの分野で重要な進歩を遂げています。下流のタスクで微調整する必要がなく、適切な指示やプロンプトがあれば、優れたパフォーマンス、場合によっては驚くべきパフォーマンスを達成できます。
たとえば、GPT-3 [1] はラブレターやスクリプトを作成し、データを使用して複雑な数学的推論の問題を解決できます。また、PaLM [2] はジョークを解釈できます。上の例は、大規模モデルの機能の氷山の一角にすぎません。多くのアプリケーションは大規模モデルの機能を使用して開発されています。OpenAI Web サイト [3] で多くの関連デモを見ることができますが、これらの機能が小規模モデルに反映されることはほとんどありません。
本日ご紹介した論文では、小規模モデルにはなく大きなモデルにはある能力を創発能力(Emergent Abilities)と呼んでいますが、これはモデルの規模が十分に大きいことを意味します。後になって突然身についた能力。これは、量的な変化が質的な変化を生み出すプロセスです。
新しい機能の出現を予測するのは困難です。なぜスケールが大きくなるにつれてモデルが突然特定の機能を獲得するのかはまだ未解決の疑問であり、答えるためにはさらなる研究が必要です。この記事では、著者が大規模モデルの理解における最近の進歩をいくつか整理し、それに関連する考えをいくつか示します。
関連論文:
大規模モデルとは何ですか?どのくらいのサイズが「大きい」とみなされるのでしょうか?これには明確な定義がありません。
一般的に言えば、小規模モデルのゼロショットや数ショットの能力とは大きく異なる能力を示すには、モデル パラメーターが 10 億レベルに達する必要がある場合があります。近年では、数千億、数兆のパラメータを持つ複数のモデルが登場し、一連のタスクで SOTA パフォーマンスを達成しています。一部のタスクでは、スケールの増加に伴ってモデルのパフォーマンスが確実に向上しますが、他のタスクでは、特定のスケールでモデルのパフォーマンスが突然向上します。異なるタスクを分類するために 2 つの指標を使用できます [4]:
これら 2 つの指標はモデル サイズとモデルのパフォーマンスの関数です。具体的な計算の詳細については、[4] を参照してください。以下の図は、高い直線性と高いブレークスルーネスのタスクの例をいくつか示しています。
高線形性タスクはほとんどが知識ベースです。つまり、トレーニングで存在する知識を暗記することに主に依存しています。データ:事実に関する質問への回答などの情報。通常、モデルが大規模になると、トレーニングに使用するデータが増え、より多くの知識を記憶できるため、モデルは規模が大きくなるにつれて、そのようなタスクにおいて着実な改善を示します。画期的なタスクには、数学的推論など、正しい答えに到達するために複数の異なる能力を使用したり、複数のステップを実行したりする必要がある、より複雑なタスクが含まれます。小規模なモデルは、そのようなタスクを実行するために必要なすべての機能を取得するのに苦労します。
次の図は、いくつかの画期的なタスクにおけるさまざまなモデルのパフォーマンスをさらに示しています。
特定のモデル規模に達する前は、これらのタスクに対するモデルのパフォーマンスはランダムですが、特定の規模に達すると大幅な改善が見られます。
先ほど見たのは、スケールが特定のレベルに増加した後、モデルが突然特定の機能を獲得したということです。タスク固有の指標の観点からは、これらの機能は創発的ですが、別の観点から見ると、モデルの機能の潜在的な変化がよりスムーズになります。この記事では、(1) よりスムーズなインジケーターの使用、(2) 複雑なタスクを複数のサブタスクに分解するという 2 つの観点について説明します。
次の図 (a) は、いくつかの高ブレークスルーネス タスクにおける実際のターゲットの対数確率の変化曲線を示しています。モデル サイズが大きくなるにつれて、実際のターゲットの対数確率は徐々に増加します。 。
#図 (b) は、特定の多肢選択タスクについて、モデル サイズが増加するにつれて対数確率が増加することを示しています。正解のログ確率は徐々に増加しますが、不正解のログ確率は一定のサイズまで徐々に増加し、その後横ばいになります。このスケールを超えると、正解の確率と不正解の確率の差が広がり、モデルのパフォーマンスが大幅に向上します。 さらに、特定のタスクについて、完全一致と BLEU を使用してモデルのパフォーマンスを評価できるとします。BLEU は完全一致よりもスムーズな指標であり、異なる指標が使用されます。 . 見られる傾向には大きな違いがある可能性があります。 一部のタスクでは、モデルはこのタスクをさまざまなスケールで実行するための部分的な機能を獲得する場合があります。下の図は、絵文字の文字列から映画の名前を推測するタスクです。 次のことがわかります。モデルはいくつかのスケールで映画のタイトルを推測し始め、より大きなスケールで絵文字の意味を認識し、最大のスケールで正解を導き出します。 大規模モデルはタスクがどのように形式化されるかに敏感です モデルの機能が突然向上する規模は、タスクがどのように形式化されるかにも依存します。たとえば、複雑な数学的推論タスクで、標準的なプロンプトを使用して質問と回答のタスクとして扱う場合、モデルのサイズが大きくなるにつれてパフォーマンスの向上は非常に限定的になります。下図のように使用すると、質疑応答タスクとして扱われ、複数ステップの推論タスクとして扱われるため、一定の規模で大幅なパフォーマンスの向上が見られます。さらに、研究者らは、「考えてみましょうステップ」という単純なプロンプトを追加することで、 by step" は、以下の図に示すように、GPT-3 のゼロショット推論能力 [6] を大幅に向上させることができます。 #これが私たちにインスピレーションを与えたのは、大きなモデルが特定のタスクをうまく実行できない場合があるということです。実際にうまくできないのではなく、その能力を刺激する適切な方法が必要なのかもしれません。
モデルが大きいほど強いのは必然ですか?
前の説明では、モデルのサイズが大きくなるにつれてパフォーマンスを向上させる必要があると直感的に感じますが、本当にそうなのでしょうか?実際、一部のタスクでは、以下の図に示すように、モデルが大きくなるにつれて実際にパフォーマンスが低下する可能性があります
#ニューヨーク大学の研究者数名も、モデルが大きくなるにつれてパフォーマンスが低下するタスクを見つけるコンテストを企画しました。#たとえば、質問と回答のタスクで、質問とともに自分の信念を追加すると、大規模なモデルがより影響を受けやすくなります。興味のある学生は注目してみてください。
以上がGoogle とスタンフォードは共同で、「なぜ大規模なモデルを使用しなければならないのか?」という記事を発表しました。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。