見出し画像

【論文を読む】プロンプトレポート:プロンプト技術の体系的調査 4

前回は、論文のセクション3「英語以外のテキストプロンプティング」をご紹介してきました。セクション3の内容は、英語以外の多言語プロンプトや画像、音声、動画などのマルチモーダルプロンプトについてそれぞれ定義し、分析していました。
まだお読みでない方は下記よりお読みください。

今回は、セクション4「プロンプティングの拡張」をご紹介します。


4 プロンプティングの拡張

これまでに議論した技術は非常に複雑であり、多くのステップや反復を含むことがよくあります。しかし、外部ツール(エージェント)へのアクセスや複雑な評価アルゴリズムを追加することで、プロンプティングをさらに進化させることができます。

4.1 エージェント

LLMの能力が急速に向上する中、企業や研究者は、外部システムを活用する方法を模索しています。これは、数学的計算、推論、事実性の分野でLLMが持つ限界によるものであり、プロンプティング技術の大幅な革新を促しています。これらのシステムは、しばしばプロンプトやプロンプトチェーンによって駆動され、エージェントのような動作を可能にするために高度に設計されています。

エージェントの定義
GenAIの文脈では、エージェントを、GenAI自体の外部システムと対話するアクションを通じてユーザーの目標を達成するGenAIシステムと定義します。通常、このGenAIはLLMです。簡単な例として、次の数学問題を解くように指示されたLLMを考えます:

Annieが4,939個のブドウを持っていて、そのうち39%をAmyにあげた場合、彼女には何個残っていますか?

適切にプロンプトされると、LLMは「CALC(4,939*.39)」という文字列を出力するかもしれません。この出力を抽出して計算機に入力することで、最終的な答えを得ることができます。

これはエージェントの例です。LLMがテキストを出力し、それが下流のツールを使用します。エージェントLLMは単一の外部システム(上記のように)を含む場合もあれば、使用する外部システムを選択するためのルーティング問題を解決する必要がある場合もあります。このようなシステムは、行動に加えて、しばしばメモリや計画を含みます。

エージェントの例には、計算機などの外部ツールを使用するためにAPI呼び出しを行うLLM、ジムのような環境でアクションを実行する文字列を出力するLLM、および計画を作成し記録し、コードを書いて実行し、インターネットを検索するなどのLLMが含まれます。OpenAI Assistants、LangChain Agents、LlamaIndex Agentsも追加の例です。

4.1.1 ツール使用エージェント

ツール使用はGenAIエージェントにとって重要な要素です。シンボリック(例:計算機、コードインタープリタ)およびニューラル(例:別のLLM)外部ツールの両方が一般的に使用されます。ツールは専門家またはモジュールと呼ばれることもあります。

モジュラー推論、知識、言語(MRKL)システム
Karpas et al. (2022) はエージェントの最も簡単な定式化の1つです。複数のツールへのアクセスを提供するLLMルーターを含みます。ルーターは天気や現在の日付などの情報を取得するために複数の呼び出しを行い、これらの情報を組み合わせて最終的な応答を生成します。Toolformer、Gorilla、Act-1、その他も同様の技術を提案しており、その多くは微調整を伴います。

ツールインタラクティブな批評を行う自己修正(CRITIC)
Gou et al. (2024a) は、外部呼び出しなしにまずプロンプトへの応答を生成します。次に、同じLLMがこの応答を可能なエラーについて批評します。最後に、インターネット検索やコードインタープリタなどのツールを使用して、応答の一部を検証または修正します。

4.1.2 コード生成エージェント

コードの記述と実行は、多くのエージェントにとって重要な能力です。

プログラム支援言語モデル (PAL)
Gao et al. (2023b) は、問題を直接コードに翻訳し、そのコードをPythonインタープリタに送信して答えを生成します。

ツール統合推論エージェント (ToRA)
Gou et al. (2024b) はPALに似ていますが、単一のコード生成ステップではなく、問題を解決するために必要な限りコードと推論ステップを交互に行います。

タスクウィーバー
Qiao et al. (2023) もまたPALに似ており、ユーザーのリクエストをコードに変換しますが、ユーザー定義のプラグインも利用できます。

4.1.3 観察ベースのエージェント

一部のエージェントは、トイ環境との対話を通じて問題を解決するように設計されています。これらの観察ベースのエージェントは、プロンプトに挿入される観察を受け取ります。

推論と行動 (ReAct)
(Yao et al. (2022)) は、問題を解決するために思考を生成し、アクションを実行し、観察を受け取り(このプロセスを繰り返す)、すべての情報をプロンプトに挿入して過去の思考、アクション、観察の記憶を保持します。

Reflexion
Shinn et al. (2023) は、ReActに内省の層を追加します。行動と観察の軌跡を取得し、成功/失敗の評価を受け、その後、行ったことや何が間違っていたかについての反省を生成します。この反省が作業メモリとしてプロンプトに追加され、プロセスが繰り返されます。

4.1.3.1 終身学習エージェント

LLM統合Minecraftエージェントに関する研究は、印象的な結果を生み出し、このオープンワールドのビデオゲームの世界をナビゲートする中で新しいスキルを習得するエージェントがいます。これらのエージェントは、マインクラフトに対するエージェント技術の単なる応用ではなく、実世界の終身学習が必要なタスクに応用できる新しいエージェントフレームワークと見なします。

ボイジャー
Wang et al. (2023a) は3つの部分で構成されています。まず、自分自身にタスクを提案し、世界について学ぶためのアクションを生成します。次に、これらのアクションを実行するコードを生成します。最後に、これらのアクションを長期記憶システムの一部として後で利用するために保存します。このシステムは、ツールやウェブサイトと対話する必要がある実世界のタスク(例:ペネトレーションテスト、ユーザビリティテスト)に適用できます。

マインクラフトの幽霊 (GITM)
Zhu et al. (2023) は、任意の目標から始まり、それをサブゴールに再帰的に分解し、構造化されたテキスト(例:「equip(sword)」)を生成して計画とアクションを実行します。GITMは、分解を支援するためにマインクラフトアイテムの外部知識ベースを使用し、過去の経験の記憶も利用します。

4.1.4 検索強化生成 (RAG)

GenAIエージェントの文脈では、RAGは外部ソースから情報を検索し、それをプロンプトに挿入するパラダイムです。これは知識集約型タスクのパフォーマンスを向上させることができます。検索自体が外部ツールとして使用される場合、RAGシステムはエージェントと見なされます。

検証と編集
Zhao et al. (2023a) は、自己一貫性を改善し、複数のCoTを生成し、一部を編集することによって行います。これを行うために、CoTに関連する外部情報を検索し、それに応じてLLMが強化することを許可します。

実証-検索-予測
Khattab et al. (2022) は、質問をサブクエスチョンに分解し、それらを解決するためにクエリを使用し、最終的な答えに結合します。問題を分解し、応答を結合するためにFew-Shotプロンプティングを使用します。

インターリーブ・チェーン・オブ・ソート(IRCoT)による検索
Trivedi et al. (2023) は、複数のホップ質問応答のための技術であり、CoTと検索をインターリーブします。IRCoTは、CoTを利用して取得する文書をガイドし、検索を利用してCoTの推論ステップを計画します。

反復検索強化
FLARE (Forward-Looking Active Retrieval Augmented Generation) Jiang et al. (2023) やIRP (Imitate, Retrieve, Paraphrase) Balepur et al. (2023) などの技術は、長文生成中に複数回検索を行います。これらのモデルは一般的に、次の出力文のコンテンツプランとして一時的な文を生成し、それをクエリとして外部知識を検索し、取得した知識を次の出力文に注入するという反復的な3ステッププロセスを実行します。これらの一時的な文は、長文生成タスクで提供される文書タイトルよりも優れた検索クエリであることが示されています。

4.2 評価

LLMの情報抽出や推論、ユーザーの意図理解能力は、評価者としての強力な候補となります。たとえば、エッセイの品質や以前のLLMの出力を、プロンプトに定義されたメトリクスに従って評価するようにLLMに指示することが可能です。ここでは、堅牢な評価者を構築するために重要な評価フレームワークの4つの要素について説明します:プロンプティング技術(セクション2.2で説明)、評価の出力形式、評価パイプラインのフレームワーク、およびその他の方法論的設計決定。

4.2.1 プロンプティング技術

評価プロンプトで使用されるプロンプティング技術(例:単純な指示 vs CoT)は、堅牢な評価者を構築するために重要です。評価プロンプトは、タスクの役割、指示、評価基準の定義、インコンテキストの例を含む、通常のテキストベースのプロンプティング技術から利益を得ることがよくあります。技術の完全なリストは付録A.5にあります。

インコンテキスト学習
他のアプリケーションと同様に評価プロンプトにも頻繁に使用されます。

役割ベースの評価
評価を改善し多様化させるための有用な技術です。同じ評価指示を持つプロンプトを作成し、異なる役割を持たせることで、効果的に多様な評価を生成できます。さらに、役割はマルチエージェント設定で使用でき、LLMが評価されるテキストの有効性について議論します。

Chain-of-Thought(CoT)プロンプティング
評価性能をさらに向上させることができます。

モデル生成ガイドライン
Liu et al. (2023d, h) は、評価のためのガイドラインを生成するようにLLMに指示します。これにより、不十分なスコアリングガイドラインや出力スペースの問題から生じる評価の不整合や誤った評価が減少します。Liu et al. (2023d) は、モデルが評価を行う前に実行すべき詳細な評価ステップのCoTを生成します。Liu et al. (2023h) はAutoCalibrateを提案し、専門家の人間による注釈に基づいて評価基準を導出し、評価プロンプトの一部としてモデル生成基準の精緻化されたサブセットを使用します。

4.2.2 出力形式

LLMの出力形式は評価性能に大きく影響します。

スタイリング
XMLやJSONのスタイリングを使用してLLMの応答をフォーマットすることは、評価者によって生成される判断の精度を向上させることが示されています。

リニアスケール
非常にシンプルな出力形式はリニアスケール(例:1-5)です。多くの研究では1-10、1-5 、さらには0-1の評価を使用します。モデルは、境界内で離散的または連続的なスコアを出力するようにプロンプトされます。

例:

次のストーリーを1-5のスケールで、よく書けているか悪く書けているか評価してください:
{INPUT}

バイナリスコア
モデルに「Yes」または「No」、「True」または「False」のようなバイナリ応答を生成するようにプロンプトする形式も頻繁に使用されます。

例:

次のストーリーは高校レベルでよく書かれていますか(はい/いいえ)?:
{INPUT}

リッカートスケール
GenAIにリッカートスケールを使用するようにプロンプトすることで、スケールの意味をよりよく理解させることができます。

例:

次のストーリーを次のスケールに従って評価してください:
- Poor
- Acceptable
- Good
- Very Good
- Incredible
{INPUT}

4.2.3 プロンプティングフレームワーク

LLM評価
Lin and Chen (2023) は最もシンプルな評価フレームワークの1つです。評価する変数のスキーマ(例:文法、関連性など)、各変数に対するスコアを特定の範囲内で出力するように指示するプロンプト、そして評価する内容を含む単一のプロンプトを使用します。

G評価
Liu et al. (2023d) はLLM評価に似ていますが、プロンプト自体にAutoCoTステップを含みます。これらのステップは評価指示に従って生成され、最終プロンプトに挿入されます。これにより、トークン確率に基づいて回答が重み付けされます。

Chat評価
Chan et al. (2024) は、それぞれ異なる役割を持つマルチエージェントディベートフレームワークを使用します。

4.2.4 その他の方法論

ほとんどのアプローチは、LLMに品質評価を生成させる(明示的)直接的なプロンプトを使用しますが、モデルの予測に対する信頼度を使用して品質スコアを導き出す暗黙的なスコアリング、生成出力の可能性、モデルの説明に基づく評価(例:エラーの数を数える、プロキシタスクでの評価(事実の一貫性を含意を通じて評価))なども使用されます。

バッチプロンプティング
計算およびコスト効率を改善するために、一部の研究では評価のためにバッチプロンプティングを使用し、複数のインスタンスを一度に評価します。または、同じインスタンスを異なる基準や役割の下で評価します。ただし、1つのバッチで複数のインスタンスを評価すると、性能が低下することがよくあります。

ペアワイズ評価
Chen et al. (2023g) は、2つのテキストの品質を直接比較することが最適な結果をもたらさないことを発見し、個々の要約に対してスコアを生成するようにLLMに明示的に指示する方法が最も効果的で信頼性が高い方法であるとしています。ペアワイズ比較の入力順序も評価に大きな影響を与えることがあります。

最後に

今回もお読みいただきありがとうございました。もし前の記事をお読みでない方は、下記よりマガジンとしてまとめていますのでどうぞ併せてお読みください。

もしかしたら専門家から見れば稚拙な表現などがあるかもしれませんが、その点はご容赦いただいた上で、次回以降もお読みいただければと存じます。

読んでいる方へのお願い

この内容が役に立ったという方は、「♡(スキ)」や「フォロー」をお願いします。「X」「facebook」「LINE」でシェアいただけるとさらに嬉しいです。

また日考塾Mediaでは、サポートをお受けしています。活動を継続させていくために、どうかお願い申し上げます。

日考塾Sapientiaでは、読んでいただいた方々に良質な記事をお届けするために日々励んでおります。しかし、良質な記事をお届けするためには、出ていくものも多いのが現状です。どうか、活動を継続させていくために、サポートををお願い申し上げます。