さらにもう 1 つのプロンプト戦略は Few-shot プロンプトです。これは基本的に、モデルに実行させたいことのいくつかの例 (shot と呼ばれます) を表示するだけです。
Few-shot の例を考えてみましょう。この例では、顧客からのフィードバックをポジティブまたはネガティブに分類しようとしています。ポジティブ/ネガティブの分類結果の例を 3 つ示してから、It doesn't work!:
というまだ分類されていない新しい文を示します。モデルは、最初の 3 つの例が positive
または negative
に分類されたことを確認し、この情報を使用して新しい例を negative
に分類します。
例を構成する方法は非常に重要です。これら 3 つの例を 入力: 分類結果
として構成したため、モデルは、this review is positive
のような完全な文ではなく、最終行の後に 1 つの単語を出力します。
Few-shot プロンプトの主な使用例は、出力をモデルに説明するのが難しい特定の方法で構造化する必要がある場合です。これを理解するために、関連する例を考えてみましょう。地元の新聞記事を分析して、近くの町の有名な市民の名前と職業をまとめる必要があるとします。モデルに各記事を読み込み、名前と職業のリストを Last, First [OCCUPATION]
形式で出力させたいとします。モデルにこれをさせるために、いくつかの例を示すことができます:
(プロンプトの日本語訳)
にぎやかなエメラルドヒルズの町では、さまざまな人々が活躍していました。献身的な看護師であるサラ・マルティネスは、地元の病院での思いやりのあるケアで知られていました。革新的なソフトウェアエンジニアであるデイヴィッド・トンプソンは、テクノロジー業界に革命をもたらす画期的なプロジェクトにたゆまぬ努力を重ねてきました。一方、才能あるアーティストであり壁画家であるエミリー・ナカムラは、建物やギャラリーの壁を同様に飾る活気に満ちた示唆に富む作品を描きました。最後に、野心的な起業家であるマイケル・オコンネルは、ユニークで環境に優しいカフェをオープンし、すぐに町のお気に入りの待ち合わせ場所になりました。これらの各個人は、エメラルドヒルズコミュニティの豊かなタペストリーに貢献しました。
町の中心部で、シェフのオリバー・ハミルトンは、農場から食卓へのレストラン、グリーンプレートで料理シーンを一変させました。地元の有機食材を調達するというオリバーの献身は、食品評論家や地元の人々から絶賛されています。 通りのすぐ下にはリバーサイドグローブライブラリーがあり、主任司書のエリザベスチェンが熱心に取り組んで、すべての人にとって居心地の良い包括的な空間を作り出しています。図書館の提供物を拡大し、子供向けの読書プログラムを確立するという彼女の努力は、町の識字率に大きな影響を与えました。 魅力的な町の広場を散歩していると、壁を飾る美しい壁画に魅了されるでしょう。これらの傑作は、有名なアーティスト、イザベラ・トーレスの作品です。彼の才能は、リバーサイドグローブの本質を捉え、町に命を吹き込みました。 元オリンピック水泳選手からコーチに転向したマーカス・ジェンキンスのおかげで、リバーサイド・グローブの運動成績も注目に値します。マーカスは彼の経験と情熱を使って町の若者を訓練し、リバーサイドグ・ローブ水泳チームをいくつかの地域選手権に導きました。
魅力的な小さな町であるオークバレーには、そのスキルと献身によってコミュニティに永続的な影響を与えてきた、注目に値する 3 人の個人が住んでいます。
町のにぎやかなファーマーズマーケットでは、おいしい、持続可能な方法で栽培された農産物で知られる情熱的な有機農家、ローラ・シモンズを見つけることができます。彼女の健康的な食事の促進への献身は、町がより環境に配慮したライフスタイルを受け入れるように促しました。 オークバレーのコミュニティセンターでは、熟練したダンスインストラクターであるケビン・アルバレスが、あらゆる年齢の人々に動きの喜びをもたらしました。彼のインクルーシブなダンスクラスは、住民の一体感と自己表現を育み、地元のアートシーンを豊かにしています。
最後に、精力的なボランティアであるレイチェル・オコナーは、さまざまな慈善活動に時間を費やしています。他の人々の生活を改善するという彼女のコミットメントは、オークバレー内に強いコミュニティ意識を生み出すのに役立ちました。 ユニークな才能と揺るぎない献身を通じて、ローラ、ケビン、レイチェルはオークバレーの構造に織り込まれ、活気に満ちた繁栄する小さな町の創造に貢献しています。
(出力の日本語訳)
正しい出力形式のモデル例を示すことで、新しい記事の正しい出力を生成できます。
代わりに命令プロンプトを使用してこの同じ出力を生成することもできますが、Few-shot プロンプトを使用すると、出力の一貫性が大幅に向上します。
「ショット」という言葉は「例」と同義です。Few-shot プロンプトの他に、2 つのタイプのショットプロンプトが存在します。これを考えすぎないでください!これらのバリエーションの唯一の違いは、モデルを表示する例の数です。
バリエーション:
0-shot プロンプトは、プロンプトの最も基本的な形式です。モデルに例のないプロンプトを表示し、応答を生成するように求めているだけです。そのため、これまでに見たすべての指示と役割のプロンプトは 0-shot プロンプトです。0-shot プロンプトの追加の例は次のとおりです。
Add 2+2:
モデルに完全な例を示していないため、0-shot です。
1-shot プロンプトは、モデルに 1 つの exemplar を表示する場合です。たとえば、0 ショット プロンプト Add 2+2:
の 1 ショット アナログは次のとおりです。
Add 3+3: 6
Add 2+2:
モデルは 1 つの完全な exemplar (Add 3+3: 6
) のみを示したので、これは 1 回限りのプロンプトです。
Few-shot プロンプトは、モデルに 2 つ以上の exemplar を使用する場合のことを指します。このセクションより前のプロンプトはすべて Few-shot プロンプトです。Few-shot の例は次のとおりです。
Add 3+3: 6
Add 5+5: 10
Add 2+2:
これは、2 つの完全な exemplar (Add 3+3: 6
および Add 5+5: 10
) をモデルに示しています。通常、モデルに表示する exemplar が多いほど、出力が向上するため、ほとんどの場合、0-shot および 1-shot プロンプトよりも Few-shot プロンプトの方が好ましいです。
Few-shot プロンプトは、モデルが正確で適切にフォーマットされた出力を生成するための強力な手法です。