プロンプトエンジニアリング
類推・ステップバック・プロンプティング:Google DeepMindの最新研究を詳しく解説

はじめに
プロンプトエンジニアリングは、GPT-4などの大規模言語モデル(LLM)が望ましい応答を生成するように導くための効果的なプロンプトを設計することに焦点を当てています。よく設計されたプロンプトは、漠然としたまたは不正確な回答と正確で洞察的な回答の違いとなる可能性があります。
AIのより広いエコシステムでは、プロンプトエンジニアリングは、言語モデルからより正確でコンテキストに適した情報を抽出するために使用されるいくつかの方法の1つです。他の方法には、フューショット学習(few-shot learning)があり、モデルにタスクを理解するのに役立ついくつかの例が与えられ、ファインチューニング(fine-tuning)があり、モデルがより小規模なデータセットでトレーニングされ、応答が特化されることがあります。
Google DeepMind (GOOGL ) は最近、プロンプトエンジニアリングとその潜在的な応用について2つの論文を発表しました。
これらの論文は、AIコミュニティが言語モデルとのコミュニケーションを改善し、最適化するための継続的な探索の一部です。プロンプトを構造化して、クエリの処理とデータベースの相互作用を改善するための新しい洞察を提供します。
この記事では、これらの研究論文の詳細に焦点を当て、提案されたテクニックの概念、方法論、および意味を明らかにし、AIおよびNLPの知識が限られている読者でも理解できるようにします。
論文1:類推推論を行う大規模言語モデル
最初の論文「類推推論を行う大規模言語モデル」は、アナロジー・プロンプティング(Analogical Prompting)と呼ばれる新しいプロンプティング・アプローチを紹介しています。著者のMichihiro Yasunaga、Xinyun Chenらは、人間が過去の経験を利用して新たな問題に取り組む認知プロセスである類推推論から着想を得ています。
重要な概念と方法論
アナロジー・プロンプティングは、LLMが問題を解決する前に、関連する例や知識を自己生成することを促します。このアプローチにより、ラベル付けされた例は不要になり、汎用性と便利性が提供され、生成された例は各問題に適応され、より適切なガイダンスが提供されます。

左:従来のLLMのプロンプティング方法は、汎用的な入力(0ショットCoT)またはラベル付けされた例(フューショットCoT)に依存しています。右:新しいアプローチは、LLMが問題を解決する前に関連する例を自己生成することを促します。ラベル付けの必要性を排除し、各問題にカスタマイズされた例を提供します
自己生成された例
論文で提示された最初のテクニックは自己生成された例です。アイデアは、LLMがトレーニング中に獲得した豊富な知識を利用して、新しい問題を解決するのを支援することです。プロセスには、ターゲット問題に指示を追加して、モデルが関連する問題と解決策を思い出すまたは生成することを促すことが含まれます。
例えば、問題が与えられた場合、モデルは3つの異なる関連問題を思い出すように指示され、説明し、解決策を説明します。このプロセスは1回のパスで実行されるように設計されており、LLMが関連する例を生成し、初期の問題を無理なく解決できるようにします。プロンプト内の‘#’記号の使用により、応答が構造化され、モデルが従いやすくなります。
論文で強調されている重要な技術的決定には、関連性と多様性のある例を生成することの重要性、1回のパスアプローチの採用、3〜5つの例を生成することが最も効果的であることが含まれます。
自己生成された知識+例
2番目のテクニックである自己生成された知識+例は、コード生成などのより複雑なタスクに取り組むために導入されました。このようなシナリオでは、LLMは低レベルの例に過度に依存し、ターゲット問題を解決する際に一般化するのに苦労する可能性があります。対策として、著者は、モデルが問題の核心概念を特定し、高レベルのチュートリアルまたは概要を提供することを促す追加の指示をプロンプトに追加することを提案しています。
重要な考慮事項の1つは、知識と例が生成される順序です。著者は、知識を例よりも先に生成することで、LLMが単に表面的な類似性を見るのではなく、根本的な問題解決の方法に焦点を当てられ、より良い結果が得られることを発見しました。
利点と応用
アナロジー・プロンプティング・アプローチにはいくつかの利点があります。ラベル付けされた例を必要とせずに、推論の詳細な例を提供し、0ショットおよびフューショット・チェーン・オブ・ソート(CoT)方法に関連する課題に対処します。さらに、生成された例は個々の問題に合わせてカスタマイズされ、固定の例を使用する従来のフューショットCoTよりも、個々の問題に関連性の高い指針を提供します。
論文では、このアプローチの有効性を、数学問題の解決、コード生成、およびBIG-Benchの他の推論タスクを含むさまざまな推論タスクで実証しています。
以下の表は、さまざまなモデルアーキテクチャでのさまざまなプロンプティング方法のパフォーマンスメトリックを示しています。注目すべきは、「自己生成された例」方法が精度の点で他の方法を一貫して上回っていることです。GSM8Kの精度では、PaLM2モデルで81.7%の最高性能を達成しています。同様に、MATHの精度では、GPT3.5-turboで37.3%の最高性能を達成しています。
2番目の表では、GPT3.5-turbo-16kとGPT4のモデルで、「自己生成された知識+例」が最高のパフォーマンスを示しています。
論文2:ステップバック:大規模言語モデルの抽象化による推論の喚起
概要
2番目の論文「一歩引く:大規模言語モデルにおける抽象化を通じた推論の喚起」は、ステップバック・プロンプティング(Step-Back Prompting)と呼ばれるテクニックを提示しています。このテクニックは、LLMが詳細なインスタンスから高レベルの概念と原理を抽象化し、問題の解決に適用することを促します。著者であるHuaixiu Steven Zheng、Swaroop Mishraらは、LLMの推論能力を向上させることを目的とし、正しい推論パスに従うようにLLMを導きます。
基本的な数学の問題を使用して「ステップバック質問」テクニックを示すより簡単な例を作成してみましょう。
元の質問:列車が60 km/hの速度で移動し、120 kmの距離を移動した場合、どのくらいの時間がかかりますか?
オプション:
3時間
2時間
1時間
4時間
元の回答[不正解]:正解は1)です。
ステップバック質問:距離と速度が与えられたときに時間を計算するための基本的な式は何ですか?
原理:
時間を計算するには、次の式を使用します:
時間 = 距離 / 速度
最終的な回答:
式を使用すると、時間 = 120 km / 60 km/h = 2時間となります。
正解は2) 2時間です。
現在のLLMは簡単に上記の質問に答えることができますが、この例はステップバック・テクニックの動作方法を示すために使用されます。より挑戦的なシナリオでは、同じテクニックを適用して問題を体系的に分解して対処できます。以下は論文で示されているより複雑なケースの例です。
重要な概念と方法論
ステップバック・プロンプティングの本質は、LLMが詳細にではなく、高レベルの概念と原理に焦点を当てるように促すことです。これは、LLMが詳細なインスタンスから抽象化された情報を導き出すことを促す一連の慎重に設計されたプロンプトを使用して実現されます。
プロセスは、LLMが与えられたインスタンスから詳細を抽象化することを促すことから始まります。これは、LLMが問題に、より情報に基づいた観点からアプローチするための重要なステップです。
高レベルの概念が導き出されたら、それらはLLMを推論ステップを通じて解決策に向かわせるために使用されます。このガイダンスは、LLMが論理的で一貫性のあるパスに従い、高レベルの概念と原理に基づいて推論することを保証します。
著者は、PaLM-2Lモデルを使用して、さまざまな課題のある推論タスク(STEM問題、知識に関する質問応答、複数の情報をつなぐマルチホップ推論など)でステップバック・プロンプティングの有効性を検証する一連の実験を実施しています。
タスク全体での大幅な改善
結果は印象的で、ステップバック・プロンプティングはすべてのタスクで大幅なパフォーマンスの向上をもたらします。例えば、このテクニックは、MMLU PhysicsとChemistryのPaLM-2Lのパフォーマンスをそれぞれ7%と11%向上させます。同様に、TimeQAのパフォーマンスを27%、MuSiQueのパフォーマンスを7%向上させます。
これらの結果は、LLMの推論能力を大幅に向上させるためのステップバック・プロンプティングの潜在性を強調しています。
結論
Google DeepMindの両方の論文は、プロンプトエンジニアリングの革新的なアプローチを提示し、LLMの推論能力を向上させることを目指しています。アナロジー・プロンプティングは、アナロジー推論の概念を利用し、モデルが独自の例と知識を生成することを促します。これにより、より適応性と効率的な問題解決が可能になります。一方、ステップバック・プロンプティングは抽象化に焦点を当て、モデルが高レベルの概念と原理を導き出し、それらを問題の解決に適用することを促します。
これらの研究論文は、さまざまなドメインに適用できる貴重な洞察と方法論を提供し、より高度で洗練されたAIシステムを実現するための重要なステップとなります。プロンプトエンジニアリングの複雑さを探求し、理解するにつれて、これらのアプローチは、より先進的で高度なAIシステムを達成するための重要な基盤となります。

















