

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 基盤モデルのプロンプトエンジニアリング
<a name="jumpstart-foundation-models-customize-prompt-engineering"></a>

プロンプトエンジニアリングとは、言語モデルが特定の種類の出力を生成するためのプロンプトまたは入力刺激を設計し、改良するプロセスです。プロンプトエンジニアリングとは、適切なキーワードを選択し、コンテキストを提供し、モデルが望ましいレスポンスを生成するように促す方法で入力を形成することを含み、基盤モデルの動作と出力を積極的に形成するための不可欠な手法です。

モデルの動作を指示し、望ましいレスポンスを達成するには、効果的なプロンプトエンジニアリングが重要です。プロンプトエンジニアリングにより、微調整のような複雑なカスタマイズ手段なしで、モデルのトーン、スタイル、ドメインの専門知識をコントロールできます。追加データでモデルを微調整することを検討する前に、プロンプトエンジニアリングに時間を割くことをお勧めします。目標は、モデルに十分なコンテキストとガイダンスを提供することで、目に見えないデータシナリオや限られたデータシナリオでもモデルを一般化してうまく機能させることです。

## ゼロショット学習
<a name="jumpstart-foundation-models-customize-prompt-engineering-zero-shot"></a>

ゼロショット学習とは、見えないクラスやタスクを一般化して予測できるようにモデルをトレーニングすることです。ゼロショット学習環境でプロンプトエンジニアリングを実行するには、ターゲットタスクと目的の出力形式に関する情報を明示的に提供するプロンプトを作成することをお勧めします。例えば、モデルがトレーニング中に見えなかった一連のクラスについて、ゼロショットテキスト分類の基盤モデルを使用する場合、よく設計されたプロンプトは次のようになります。「`"Classify the following text as either sports, politics, or entertainment: [input text]."`」ターゲットクラスと期待される出力形式を明示的に指定することで、見えないクラスでも正確な予測を行うようにモデルを導くことができます。

## 少量データ学習
<a name="jumpstart-foundation-models-customize-prompt-engineering-few-shot"></a>

少量データ学習では、新しいクラスやタスクに対して、限られた量のデータを使ってモデルをトレーニングします。少量データ学習環境でのプロンプトエンジニアリングは、利用できる限られたトレーニングデータを効果的に使用するプロンプトを設計することに重点を置いています。例えば、画像分類タスクに基盤モデルを使用していて、新しい画像クラスの例がわずかしかない場合は、ターゲットクラスのプレースホルダーを使用して、使用可能なラベル付きの例を含むプロンプトを設計できます。例えば、プロンプトは次のようになります。`"[image 1], [image 2], and [image 3] are examples of [target class]. Classify the following image as [target class]"`。限られたラベル付きの例を取り組み、ターゲットクラスを明示的に指定することで、最小限のトレーニングデータでもモデルを一般化して正確な予測を行えるように導くことができます。

## サポート対象の推論パラメータ
<a name="jumpstart-foundation-models-customize-prompt-engineering-inference-params"></a>

推論パラメータを変更すると、プロンプトへの応答にも影響する可能性があります。プロンプトにできる限り具体性と文脈 (コンテキスト) を持たせるように努めることができますが、サポートされている推論パラメータを試してみることもできます。以下は、一般的にサポートされている推論パラメータの例です。


| 推論パラメータ | 説明 | 
| --- | --- | 
| `max_new_tokens` | 基盤モデルの応答の最大出力長。有効な値: 整数、範囲:正の整数。 | 
| `temperature` | 出力のランダム性を制御します。温度 (temperature) が高いほど低確率の単語を含む出力シーケンスになり、低いほど高確率の単語を含む出力シーケンスになります。`temperature=0` の場合、応答は最も確率の高い単語のみで構成されます (貪欲法)。有効な値: 浮動小数点数、範囲: 正の浮動小数点数 | 
| `top_p` | テキスト生成の各ステップでは、モデルは累積確率が `top_p` の可能な限り小さな単語の集合からサンプリングします。有効な値: 浮動小数点数、範囲: 0.0、1.0 | 
| `return_full_text` | `True` の場合、入力テキストが生成された出力テキストの一部となります。有効な値: ブール値、デフォルト: False | 

基盤モデルの推論の詳細については、「[公開されている基盤モデルを `JumpStartModel` クラスでデプロイする](jumpstart-foundation-models-use-python-sdk-model-class.md)」を参照してください。

基盤モデルを特定のビジネスニーズ、ドメイン固有の言語、ターゲットタスク、またはその他の要件に適合させるのにプロンプトエンジニアリングだけでは不十分な場合は、追加データに基づいてモデルを微調整するか、取得拡張生成 (RAG) を使用して、アーカイブされたナレッジソースからの拡張コンテキストでモデルアーキテクチャを補強することを検討できます。詳細については、[ファインチューニング用の基盤モデルとハイパーパラメータ](jumpstart-foundation-models-fine-tuning.md)または[検索拡張生成](jumpstart-foundation-models-customize-rag.md)を参照してください。