OpenAIの公式プロンプトエンジニアリングガイド:ChatGPTはこのようにプレイできます

OpenAIの公式プロンプトエンジニアリングガイド:ChatGPTはこのようにプレイできます

ChatGPT や GPT-4 などの大規模言語モデル (LLM) の出現により、迅速なエンジニアリングがますます重要になっています。多くの人々は、プロンプトを LLM のマントラとみなしており、その品質はモデルの出力に直接影響します。

良いプロンプトを書く方法は、LLM 研究の必修コースとなっています。

大規模モデル開発のトレンドをリードする OpenAI は最近、プロンプトエンジニアリングガイドを正式にリリースしました。このガイドでは、GPT-4 などの LLM でより良い結果を出力するためのいくつかの戦略の使用方法が紹介されています。 OpenAI によれば、これらの方法を組み合わせることで、より良い結果が得られることもあるという。

ガイドアドレス: https://platform.openai.com/docs/guides/prompt-engineering

より良い結果を得るための6つの戦略

戦略1: 明確な指示を書く

まず、モデルはユーザーの脳が何を考えているのか読み取れないため、ユーザーは指示を明確に記述する必要があります。たとえば、モデルの出力をそれほど単純化したくない場合は、「専門家レベルの文章が必要」という指示を記述できます。また、現在のテキスト スタイルが気に入らない場合は、指示を変更してわかりやすくすることができます。モデルがユーザーの希望を推測する回数が少ないほど、満足のいく結果が得られる可能性が高くなります。

以下のことを実行すれば、大きな問題にはなりません。

1 つ目は、以下に示すように、より関連性の高い回答を得るために、プロンプトに詳細なクエリ情報を含めることです。議事録を要約するための同じプロンプトは、「議事録を 1 つの段落に要約します。次に、スピーカーと各キー ポイントの Markdown リストを作成します。最後に、スピーカーが提案した次のステップまたはアクション項目 (ある場合) をリストします。」です。結果はより良くなります。

第二に、ユーザーは例を提供することができます。たとえば、明示的に記述するのが難しい応答スタイルをモデルに模倣させたい場合、ユーザーは少数の例を提供できます。

3 番目のポイントは、モデルがタスクを完了するために実行する必要がある手順を指定することです。一部のタスクでは、ステップ 1 や 2 などのステップを指定する方が適切です。これらのステップを明示的に記述すると、モデルがユーザーの希望に従いやすくなります。

4番目のポイントは、モデル出力の長さを指定することです。ユーザーは、単語、文、段落などで指定できる特定のターゲット長さの出力を生成するようにモデルに要求できます。

5 番目のポイントは、プロンプトのさまざまな部分を明確に区切るためにセパレーターを使用することです。 「""」、XML タグ、セクション見出しなどの区切り文字は、別々に処理する必要があるテキスト部分を区切るのに役立ちます。

6 番目のポイントは、モデルが生成するコンテンツを制御するためのさまざまな役割をモデルに果たさせることです。

戦略2: 参照テキストを提供する

言語モデルは時折幻覚を起こし、独自の回答を作り出すことがあります。これらのモデルに参照テキストを提供すると、誤った出力を減らすことができます。次の 2 つのことを行う必要があります。

1 つ目は、参照テキストを使用して質問に答えるようにモデルに指示することです。モデルに、現在のクエリに関連する信頼できる情報を提供できる場合は、提供された情報を使用して回答を作成するようにモデルに指示できます。たとえば、質問に回答するには、三重引用符で囲まれたテキストを使用します。記事の中に答えが見つからない場合は、「答えが見つかりません」と書いてください。

2 つ目は、モデルに参照テキストから回答を引用するように指示することです。

戦略3: 複雑なタスクをより単純なサブタスクに分割する

ソフトウェア エンジニアリングにおいて複雑なシステムがモジュール コンポーネントのセットに分解されるのと同様に、言語モデルに提示されるタスクもモジュール コンポーネントのセットに分解されます。複雑なタスクは単純なタスクよりもエラー率が高くなる傾向があり、複雑なタスクは単純なタスクのワークフローとして再定義されることがよくあります。以下の3点が含まれます。


  • 意図分類を使用して、ユーザーのクエリに最も関連性の高いコマンドを識別します。
  • 長い会話を必要とする会話型アプリの場合は、以前の会話を要約またはフィルタリングします。
  • 長いドキュメントをセクションごとに要約し、完全な要約を再帰的に構築します。

モデルのコンテキストの長さは固定されているため、非常に長いドキュメント (書籍など) を要約するには、一連のクエリを使用してドキュメントの各部分を要約できます。章の要約をリンクして要約すると、要約の要約を作成できます。このプロセスは、ドキュメント全体が要約されるまで再帰的に実行できます。後のセクションを理解するために前のセクションの情報を使用する必要がある場合、もう 1 つの便利なテクニックは、テキスト (書籍など) の特定のポイントの前にテキストの要約を追加し、そのポイントのコンテンツを要約することです。 OpenAI は以前の研究で GPT-3 の変種を使用してこのプロセスの有効性を研究しました。

戦略4: モデルに考える時間を与える

人間の場合、17 x 28 の結果を求められてもすぐには答えられませんが、時間をかけて計算することはできます。同様に、モデルが時間をかけて答えを出さずにすぐに答えると、推論エラーが増える可能性があります。答えを出す前に一連の思考を採用すると、モデルが正しい答えをより確実に推論できるようになります。次の 3 つのことを行う必要があります。

1 つ目は、結論を急ぐ前にモデルに独自の解決策を見つけるように指示することです。

2 つ目は、内部の独白または一連のクエリを使用して、モデルの推論プロセスを隠すことです。これまでの戦略は、モデルが特定の質問に答える前に問題について詳細に推論することが重要な場合があることを示しています。一部のアプリケーションでは、モデルが最終的な答えに到達するために使用する推論プロセスをユーザーと共有するのは適切ではありません。たとえば、個別指導アプリケーションでは、生徒が自分で答えを出すように促したい場合がありますが、生徒の解決策に関するモデルの推論によって、生徒に答えが明らかになる可能性があります。

内なる独白は、この状況を緩和するために使用できる戦略です。内部モノローグの背後にある考え方は、ユーザーからは隠されている出力の一部を、解析しやすい構造化された形式にするようにモデルに指示することです。次に、出力が解析され、その一部だけがユーザーに表示される前に表示されます。

最後のステップは、前のプロセスで見逃したものがあるかどうかをモデルに尋ねることです。

戦略5: 外部ツールを使用する

他のツールの出力をモデルに入力することで、モデルの弱点を補います。たとえば、テキスト検索システム (RAG または Retrieval-Augmented Generation と呼ばれることもあります) は、関連するドキュメントに関する情報をモデルに伝えることができます。 OpenAI のコード インタープリターは、モデルが数学演算を実行し、コードを実行するのに役立ちます。言語モデルではなくツールを使用すると、タスクをより確実かつ効率的に実行できる場合は、両方の活用を検討してください。

  • まず、埋め込みベースの検索を使用して効率的な知識検索を実現します。
  • 外部 API を呼び出します。
  • モデルに特定の機能へのアクセス権を付与します。

戦略6: システムの変更をテストする

場合によっては、プロンプトを変更するとパフォーマンスは向上しますが、より代表的な例のセットでは全体的なパフォーマンスが低下することがあります。したがって、変更が最終的なパフォーマンスに良い影響を与えることを確認するには、システム メッセージなどを使用して、包括的なテスト スイート (評価とも呼ばれます) を定義する必要がある場合があります。

詳細は元のブログを参照してください。

<<:  天一雲が大規模言語モデル微調整データコンテストで優勝しました!

>>: 

ブログ    
ブログ    

推薦する

NIOにおける時系列予測アルゴリズムの応用の検討

1. 事業背景1. NIOの紹介2014 年 11 月に設立された NIO は、ハイエンドのスマート...

自動運転列車が完成しました!しかし、あなたは座る勇気がありますか?

すべてが計画通りに進めば、鉱山大手リオ・ティントの貨物列車が8月にコロラド州プエブロ近郊の線路を走り...

...

Dynalang - 言語を使って世界のモデルを学習する新しいAIテクノロジー

翻訳者|朱 仙中レビュー | Chonglou導入この記事は、人工知能に関する最新の研究に関する当社...

運営:申し訳ありませんが、当社は責任を負いかねます

[51CTO.com より引用] 運用保守というと、多くの人が無意識のうちに運用保守担当者を「スケー...

AIを使って新薬を「発見」し、研究開発を加速させる

発見とは何でしょうか? 数学には古くからある疑問があります。新しい数学的手法が発見された、あるいは発...

...

機械学習を攻撃に利用する9つの方法

機械学習と人工知能 (AI) は、一部の脅威検出および対応ツールの中核技術になりつつあります。サイバ...

...

...

調査レポート:2021年の人工知能開発動向予測

人工知能は、幅広い議論を巻き起こすだけでなく、人々に未来への無限の夢を抱かせるようなさまざまなテクノ...

Stability AIがAIプログラミングツール「StableCode」をリリース

Stability AI は、プログラミング用の最初の生成 LLM AI 製品である StableC...

ChatGPTはプログラミングの楽しさを殺している

長年にわたり、プログラミングは私の人生における最も重要な喜びの源の 1 つでしたが、この喜びがどれだ...

写真を3Dに変換する品質が急上昇! GitHub がショートポジションをオープンしたところ、300 人以上がスターを付けました

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...