🦔

Prompt Engineering Guideを読んだメモ

2023/05/13に公開
2

はじめに

Prompt Engineering Guideとは、
DAIR.AI
のプロジェクトで、研究者や実践者に教育することを目的としたプロンプトエンジニアリングを学ぶためのガイド。

プロンプトエンジニアリングとは、タスクを実行するために最適なプロンプトを設計するアプローチをプロンプトエンジニアリングと呼びます

LLMの設定

  • Temperature
    • この値が低ければ低いほど、最も確率が高い回答が常に選ばれる
    • 事実に基づくQAなどでは、この値を低くして、より事実に基づいた簡潔な回答を促す
    • 逆に、詩の生成やその他の創造的なタスクでは、temperatureを上げると効果的かも
  • Top_p
    • 正確で事実に基づいた回答を求めるのであれば、この値を低くする
    • より多様な回答を求めるのであれば、より高い値にする

プロンプトの要素

命令 - モデルに実行してほしい特定のタスクまたは命令
文脈 - 外部情報や追加の文脈が含まれる場合があり、モデルをより良い応答に導くことができます。
入力データ - 応答を見つけたい入力または質問
出力指示子 - 出力のタイプや形式を示します。

指示

指示はプロンプトの最初に配置し、指示と文脈を区切るために「###」のような明確な区切り記号を使用することが推奨されています

プロンプト
### 指示 ###
以下のテキストをスペイン語に翻訳してください。
Text: "hello!"

不正確さを避ける

よくない例

プロンプト
プロンプトエンジニアリングの概念を説明してください。説明は短く、数文で、あまり詳しくしないでください。

いい例

プロンプト
高校生に対して、プロンプトエンジニアリングの概念を2〜3文で説明してください。

会話

プロンプト
以下はAI研究アシスタントとの会話です。アシスタントのトーンは技術的で科学的です。
人: こんにちは、あなたは誰ですか?
AI: ご挨拶!私はAI研究アシスタントです。今日は何をお手伝いできますか?
人: ブラックホールの生成について教えてもらえますか?
AI:
プロンプト
以下はAI研究アシスタントとの会話です。アシスタントの回答は小学生でも理解できるようになっています。
人: こんにちは、あなたは誰ですか?
AI: ご挨拶!私はAI研究アシスタントです。今日は何をお手伝いできますか?
人: ブラックホールの生成について教えてもらえますか?
AI: 

zero-shot prompting

直接タスクを投げる

プロンプト
Q: <質問>?
A: 

few-shot prompting

いくつかのサンプルを渡した後に、タスクを投げる

プロンプト
<質問>?
<答え>
<質問>?
<答え>
<質問>?
<答え>
<質問>?

Chain-of-Thoughtプロンプティング

chain-of-thought (CoT)プロンプティングは、中間的な推論ステップを介して複雑な推論能力を可能にします。few-shot promptingと組み合わせることで、推論が必要なより複雑なタスクでより良い結果を得ることができます。

例えば以下のようにfew-shot promptingを使用してタスクを指示した場合はうまくいかない

プロンプト
このグループの奇数を合計すると偶数になります:4、8、9、15、12、2、1。
A: 答えはFalseです。
このグループの奇数を合計すると偶数になります:17、10、19、4、8、12、24。
A: 答えはTrueです。
このグループの奇数を合計すると偶数になります:16、11、14、4、8、13、24。
A: 答えはTrueです。
このグループの奇数を合計すると偶数になります:17、9、10、12、13、4、2。
A: 答えはFalseです。
このグループの奇数を合計すると偶数になります:15、32、5、13、82、7、1。 
A: 

(出力)
=> 答えはTrueです。

推論ステップが提供された場合、正確な結果が得られる

プロンプト
このグループの奇数を合計すると偶数になります。: 4、8、9、15、12、2、1。
A: 奇数を全て加えると(9, 15, 1)25になります。答えはFalseです。
このグループの奇数を合計すると偶数になります。: 17、10、19、4、8、12、24。
A: 奇数を全て加えると(17, 19)36になります。答えはTrueです。
このグループの奇数を合計すると偶数になります。: 16、11、14、4、8、13、24。
A: 奇数を全て加えると(11, 13)24になります。答えはTrueです。
このグループの奇数を合計すると偶数になります。: 17、9、10、12、13、4、2。
A: 奇数を全て加えると(17, 9, 13)39になります。答えはFalseです。
このグループの奇数を合計すると偶数になります。: 15、32、5、13、82、7、1。
A:

(出力)
=> 奇数を全て加えると(15, 5, 13, 7, 1)41になります。答えはFalseです。

Zero-shot COT Prompting

プロンプトに使用できるショット(例)があまりない場合は、以下のような簡単なプロンプトを追加するだけでも効果的な結果が得られる。

プロンプト
ステップバイステップで考えてみましょう。

こちらの方がパフォーマンスは高くなるらしい

プロンプト
正しい答えを得るために、ステップバイステップで考えてみましょう。

知識生成プロンプティング

入力:ギリシャはメキシコよりも大きい。
知識:ギリシャは約131,957平方キロメートルであり、メキシコは約1,964,375平方キロメートルであり、メキシコはギリシャよりも1,389%大きい。
入力:眼鏡は常に曇ります。
知識:冷たい表面に汗、呼気、および周囲の湿度から水蒸気が着陸し、冷却されて液体の微小な滴に変化して、あなたが霧として見るフィルムを形成すると、眼鏡レンズに結露が生じます。あなたのレンズは、特に外気が寒い場合、あなたの呼気に比べて比較的冷たくなります。
入力:魚は考えることができる。
知識:魚は出現よりも知能が高い。記憶などの多くの分野で、魚の認知能力は、非人間の霊長類を含む「より高い」脊椎動物と同等またはそれ以上です。魚の長期記憶は、彼らが複雑な社会的関係を追跡するのを助けます。
入力:一生にたくさんのタバコを吸うことの共通の影響の1つは、肺がんの発生率が高くなることです。
知識:生涯にわたり平均して1日に1本未満のタバコを吸った人は、非喫煙者に比べて肺がんで死亡するリスクが9倍高かった。一日あたり1〜10本のタバコを吸った人の中で、肺がんで死亡するリスクは、非喫煙者の約12倍高かった。
入力:岩と小石は同じ大きさです。
知識:小石は、堆積学のUdden-Wentworthスケールに基づく4〜64ミリメートルの粒子サイズを持つ岩塊です。小石は、一般的に粒度(直径2〜4ミリメートル)よりも大きく、コブル(直径64〜256ミリメートル)よりも小さいと見なされます。
入力:ゴルフの一部は、他の人よりも高いポイント総数を得ようとすることです。
知識:

参考文献

Prompt Engineering Guide

Discussion

FioFio

よく分からないですが、
Prompt Engineering Guideを公表した「DAIR.AI」と、
元Googleの倫理研究者Timnit氏が立ち上げた研究所「DAIR Institute」は別組織っぽいです。
↓DAIR InstituteのPJ一覧で探しても、DAIR.AIとそのFounder・Elvis氏の情報が出ないので…
果たしてどうでしょうか:
https://www.dair-institute.org/research/
https://dair.ai/