ホームページ >テクノロジー周辺機器 >AI >考えのチェーンプロンプト:LLMSを使用したステップバイステップの推論
大規模な言語モデル(LLMS)は、自動網取りと呼ばれる手法を使用してテキストを生成します。これには、以前の単語に基づいたシーケンスで最も可能性の高い次の単語を予測します。 ChATGPTなどのLLM駆動エージェントは、ユーザーの意図に従うように微調整されています。したがって、彼らは入力シーケンスを完了するだけでなく、入力に対するユーザーの意図をキャプチャし、それに応じて応答を生成します。
しばらくChatGptを試してみた場合、特定の回答のの品質
LLMは一般化する能力で知られていますが、モデルの機能はタスクに依存します。 LLMSを使用する場合、各モデルは巨大でありながら限られたデータベースでトレーニングされており、特定のタスクに合わせて最適化されていることを考慮することが重要です。したがって、モデルは特定のドメインで非常にパフォーマンスを発揮できますが、他のドメインでは失敗する可能性があります。
モデル機能もタイミングに依存します。人間のように、あなたが私に5桁の合計を与えた場合、あなたは正しい答えで考えて答えてくれる時間が必要です。急いでそれを行うと、簡単に計算して応答に失敗する可能性があります。同様に、次のトークンを計算するのにかかる時間には複雑すぎるタスクを言語モデルに与えると、正解を提供できない場合があります。
しかし、人間に似ていますが、それは必ずしもモデルがタスクを受けられないことを意味するわけではありません。cotの起源
標準プロンプトとCOTプロンプトの比較。左側では、モデルは最終的な回答(標準プロンプト)を直接提供するように指示されます。右側では、モデルが最終的な回答に到達するように推論プロセスを示すように指示されています(COTプロンプト)。
考えられたチェーンプロンプト作業はどのように機能しますか?
プロセスは、モデルが段階的な方法で問題を介して考えることを奨励するプロンプトのクラフトから始まり、最終的な回答に直接ジャンプせずに中間ステップを生成します。これは、異なる戦略を使用して実行できます:
明示的な指示を与えるということは、ユーザープロンプト自体の問題を分解することを意味します。たとえば、「最初に、考慮する必要がある」などの文を使用して、モデルにその思考プロセスを詳述するように促します。
アクションで見てみましょう! 私のスペインの母が私に冷たい醸造を準備するための家族のレシピを送ってくれたと想像してください:
コーヒー関連のすべての言葉を英語に翻訳することに興味があるとしましょう。タスクにchatgptを使用したいと思います。
input_text = """ ¡Preparar café Cold Brew es un proceso sencillo y refrescante! Todo lo que necesitas son granos de café molido grueso y agua fría. Comienza añadiendo el café molido a un recipiente o jarra grande. Luego, vierte agua fría, asegurándote de que todos los granos de café estén completamente sumergidos. Remueve la mezcla suavemente para garantizar una saturación uniforme. Cubre el recipiente y déjalo en remojo en el refrigerador durante al menos 12 a 24 horas, dependiendo de la fuerza deseada. """
このプロンプトへの応答は次のとおりです
prompt = f""" Give me a numbered list of all coffee-related words in English from the text below: Text: <{input_text}> """ response = chatgpt_call(prompt) print(response)
このタスクをすぐに実行するようにモデルに依頼すると、タスクを誤って実行することがわかります。非関連するコーヒーの単語を出力するだけでなく、英語ではなくスペイン語でも出力します。
このタスクは2つのステップが必要なため、複雑であると考えることができます。
コーヒー関連の単語を識別します。
代わりに、モデルはコーヒー関連の単語を識別する最終タスクにまっすぐジャンプし、翻訳ステップがありません。翻訳を中間タスクとして指定するか、メインの2つのステップでタスクを分解することにより、モデルを正しい出力に導くことができます。
時々、プロンプトで問題を分解する必要はありません。東京大学は、Googleの調査とともに、元のプロンプトの最後に「段階的に考えよう」を追加することからなるLLM応答を改善する素晴らしい方法を提案しました。
prompt = f""" Give me a numbered list of all coffee-related words in English from the text below: The task requires the following actions: 1 - Translate the given text into English. 2 - List each coffee-related word from the English text. Text: <{input_text}> """ response = chatgpt_call(prompt) print(response)この単純な文は、モデルに大声で推論し、タスクを実行するために必要なすべての手順を実行するように促します。
著者が元の論文で提案した例の1つを分析しましょう。
[a]
最初の例では、著者はモデルに算術の問題を解決するように依頼しますが、このタスクでは失敗します。[b]その後、元の質問に「ステップバイステップで考えましょう」を追加することにより、モデルは答えが大声で成功する理由を理由にします。 この単純なトリックをマルチアリス数学データセットに適用すると、著者は、この暗黙の指導が18%から79%の精度を4倍にしていることを発見しました!
興味がある場合は、この手法の詳細については、「この短いプロンプトを使用してChatGptの結果を高めてください。」
>#3。実証的な例
。 これは、新しい、以前に見えなかったタスクに対する適切な応答を一般化して生成するモデルの能力に依存しています。つまり、ChatGptのユーザーインターフェイスを開いてすぐに質問をすると、ゼロショットプロンプトを実行しています。 それにもかかわらず、私たちが解決したい類似のタスクのいくつかの例をモデルに示す方法があります。一連の実証的な例を提供することは、提供された例の数に応じて、ワンショットおよび少数のプロンプトとして知られています。
ワンショットプロンプトワンショットプロンプトには、ガイダンスのターゲットタスクに似たモデルの1つの例を示す
たとえば、記事の最初の数字を参照すると、プロンプトで提供された実証例のおかげで、モデルが思考の連鎖を生成することを観察できます。
少数のプロンプト与えられた例の数は、通常は約100です。モデルのパフォーマンスは、例の数とともに直線的に増加します。 少数のショットプロンプトは、Jason WeiとDenny Zhou et alによって研究されました。 Googleから。このアプローチは、モデルにゼロショットまたはワンショットプロンプトを使用してタスクを実行するのに十分な背景知識を持たない場合がある、より専門的またはドメイン固有の知識を必要とするタスクに特に役立ちます。
少数のプロンプトは、新しいまたは特別なデータのコレクションでモデルの小さな微調整と見なされることがあります。
このモデルには、その推論プロセスを導くための段階的なソリューションとともに、問題のいくつかの例が提供されています。
検索された生成やインタラクティブクエリなどの他の手法と少数のショットのコットプロンプトを組み合わせることで、モデルのパフォーマンスと信頼性をさらに高めることができます。外部知識のベース、データベース、または情報検索システムを統合することで、モデルは事実と最新の情報で推論を強化することができます。
実践におけるチェーンオブ考えのプロンプトの実装
数学的な問題の迷路COTが、モデルが知識空間をナビゲートし、複雑なタスクを解決するのに役立つ方法を説明します。 CHATGPT 4Oの生成を使用した自己生成画像次のプロンプト「数学的問題の迷路を通して言語モデルエージェントを想像してください」 プロンプトにベッドを含める方法は複数あります:
構造化されたテンプレート問題を小さく管理可能な手順に分解することにより、モデルは複雑なタスクをより正確に処理できます。中間ステップは、潜在的なエラーをキャッチして修正できるチェックポイントを提供し、より正確な最終回答につながります。 数学的な問題、論理パズル、マルチホップの質問応答などのタスクがこのアプローチの恩恵を受ける理由は、
がすでに推論の複数のステップを必要とするためです段階的な推論プロセスは透明であり、ユーザーはモデルがどのように結論に達したかを理解できるようにします。この透明性は、モデルの出力に対する信頼を構築します
また、ユーザーはその推論でモデルが間違っている可能性のある場所をより簡単に見つけることができるため、デバッグのデバッグにも役立ちます。 制限と考慮事項
もちろん、他のテクニックと同様に、検討する価値のある特定の欠点が常にあります。COTはモデル依存技術
であると考えることが重要です。したがって、COTの有効性は、基礎となる言語モデルの機能に大きく依存します。効果的なCOTプロンプトを作成することも困難な場合があります。プロンプトが推論プロセスを通じてモデルを正しく導くようにするために、慎重な設計が必要です。さまざまな種類のタスクとドメインのプロンプトの更新と維持は時間がかかり、絶え間ない改良が必要になる場合があります。 パフォーマンス
COTプロンプトの段階的な説明を提供することで解釈可能性が向上しますが、は、すべてのアプリケーションで常に望ましいとは限らない、より長くより冗長な出力につながる可能性があります。
結論プロンプトテンプレート、インタラクティブプロンプト、またはフィードバックループを使用するかどうかにかかわらず、これらのアプローチの背後にあるアイデアは、推論プロセスを通じてモデルを導き、その機能を活用することです。
以上が考えのチェーンプロンプト:LLMSを使用したステップバイステップの推論の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。