あなたの最善の努力にもかかわらず、LLMはまだ期待通りに動いていません。あなたは次に何を試すべきですか? あなたはプロンプトを編集しますか? モデルを変更しますか? フィンタウン? これらのいずれかが有効なオプションであり、これらの修正を試すための順序があります。
Principle V: Follow Prompt-Fix Escalation Ladder
原則 V: Prompt-Fix Escalation Scale に従う(これは現在進行中のAIエンジニアリングの原則シリーズの一部です。
プロンプトが予想通りに動作しない場合は、以下の修正を優先順に試してみます。
-
Expanding and rephrasing instructions.
-
Adding examples.
-
Adding an explanation field.
-
Using a different model.
-
Breaking up a single prompt into multiple prompts.
-
Fine-tuning the model.
-
Throwing the laptop out the window in frustration.
いくつかのケースでは、試すべき順序は異なりますが、デフォルトパスを持つことは時間を節約し、デバッグのための精神的能力を維持します。
最初の3つはプロンプトエンジニアリングのバケットに入り、次の章でより深くカバーされます。
Lightweight Approaches
軽量アプローチAdding Instructions
最初に試すことは、リフラッシュ、または移動指示を追加し、より明確な指示を試してみてください。
複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複
Adding Examples
トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > (
2 ショットインベレンス(言語検出)のプロンプトの例:
Detect the language of the text and output it in the JSON format: {“language”: “name_of_language”}. If you don’t know the language, output “unknown” in the language field.
Example I:
Input: Hello
Output: {“language”: “English”}
Example II:
Input: EjnWcn
Output: {“language”: “Unknown”}
Text: {{text}}
たとえば、1~3個のサンプルを使用する場合もありますが、いくつかのケースでは、より多くのサンプルを追加することができます。
Adding an Explanation Field
LLMsは、人間と同様に、思考を説明する必要から恩恵を受ける。出力JSONに「説明」フィールドを追加し、出力は通常より良いものになります。これはまた、モデルが特定の決定を下している理由を特定し、指示や例を調整するのに役立ちます。
文書を書くときには、文書を書くときには、文書を書く時には、文書を書く時には、文書を書く時には、文書を書く時には、文書を書く時には、文書を書く時には、文書を書く時には、文書を書く時には、文書を書く時には、文書を書く時には、文書を書く時には、文書を書く時には、文書を書く時には(
また、Aを使ってみることもできます。
Changing the Model
異なるモデルは異なる種類のタスクで優れています。OpenAIのo3モデルはコードを分析する上で優れていますが、古い4oは、トークンごとに安くなるにもかかわらず、より良い書き込みを生み出す傾向があります。
この実験は、タスクに対する各モデルの「適合性」を測定するための自動テストとメトリクスを有する場合、より速く、より安全に機能します。
Heavyweight Approaches
重量型アプローチこれまでのあらゆるアプローチは比較的低コストで試してみました。
Breaking Up the Prompt
1 つのプロンプトが作業を完了できない場合は、なぜ 2 つ以上のプロンプトのシステムを試さないのですか? これは、いくつかのケースでは効果的に機能します。
-
Splitting the prompt by area of responsibility.
-
Using a new prompt as a guardrail reviewing output of the previous one.
両方のアプローチが導入された。
Fine-Tuning
Fine-tuning は複数のプロンプトを使用するよりもさらに重いアプローチです. ほとんどの問題のために、私はそれを最後の手段として使用します。
なぜ私はほとんどの場合にフィンタリングを推奨することを躊躇しているのでしょうか?フィンタリングは基本的に機械学習のアプローチです。
「Fine Tuning」は、
- 他の技術は目標を達成できなかった。
- 問題は非常に複雑で専門的であり、デフォルトLLMの知識は不十分です。
- あなたは大量の使用ケースを持っており、低端のモデルを使用してお金を節約したいです。
- 低い遅延が必要なので、複数のプロンプトは連続的に実行できません。
Conclusion
結論希望するに、この記事は、プロンプトが意図されたように動作しないときに取るべきステップの順序を明確にします。最初に、あなたは通常、プロンプトエンジニアリングアプローチを試すでしょう。それがうまくいかない場合は、モデルを切り替え、それが役に立ったかどうかを確認してください。次のステップは、複数の相互作用のプロンプトを使用することです。最後に、他のすべての方法が失敗した場合に、細かい調節を検討してください。
あなたがこの投稿を楽しんだ場合は - 追加のためのサブスクリプション。