[LLM, ChatGPT] プロンプトエンジニアリングの勘所
ChatGPTをはじめとした大規模言語モデル(Large Language Model=LLM)に対して、日本語などの自然言語で指示をあたえて欲しい出力を得ますが、どうしたら精度の高い出力が得られるかをまとめてみした。
「しないこと」ではなく「すること」を指示する
プロンプトを設計する際の一般的なヒントは、「しないこと」を言わず、「すること」を言うことです。これにより、より具体的になり、モデルから良い回答を得るための詳細に焦点が当てられます。
Chain-of-Thought(=COT)Prompting
とある規則に従い推論をさせる場合、まず具体例をひとつ示します。次に、推論させたい問題を記述することで、具体例から方法を推論して正当を導く手法です。
COT Promptingの例
このグループの奇数を合計すると偶数になります。: 4、8、9、15、12、2、1。
A: 奇数を全て加えると(9, 15, 1)25になります。答えはFalseです。
このグループの奇数を合計すると偶数になります。: 15、32、5、13、82、7、1。
A:
Zero-shot COT Prompting
Zero-shotでCOT Promptingを可能にする方法があります。「段階的に考えてください。」という文言を追加します。この手法は、例示できる内容が少ない場合に有効です。
Zero-shot COT Promptingの例
私は市場に行って10個のリンゴを買いました。隣人に2つ、修理工に2つ渡しました。それから5つのリンゴを買って1つ食べました。残りは何個ですか?段階的に考えてください。
随時加筆中...