Prompt Engineering Guide

ChatGPTを扱うようになって、プロンプトに入力する内容が出力結果に大きく影響する点について調べていくと、プロンプトエンジニアリングといわれる学問分野があることを知りました。今回はこのプロンプトエンジニアリングについて記載していきます。

私が参照したサイトは以下。

プロンプトエンジニアリングとは

  • プロンプトエンジニアリングは、LM(言語モデル)を効率的に使用するために、プロンプト(言語モデルへの入力)を開発・最適化する比較的新しい学問分野です。

  • プロンプトエンジニアリングを学ぶことで、LLM(大規模言語モデル)の能力と限界を理解することに役立ちます。

  • 研究者にとっては、複雑なタスクを解決するために言語モデルのパフォーマンスを最大限に引き出すことに役立ちます。

  • アプリケーション開発者にとっては、堅牢で効果的なプロンプトを検証・設計するために必要な技術です。

単にヒアリング能力を上げればよいという話ではなく、大規模言語モデルの仕組みを知ることでその能力を発揮できるための設定や質問を行うことが良いということですね。

基礎的なプロンプト

言語モデルの一般的なプロンプトは以下

・文章の要約
・情報の抽出
・質問と回答
・テキストの分類
・会話
・コード生成
・推論

応用的なプロンプト

以下は応用的なプロンプトとなります

・Zero-Shot Prompting
   Zero-shotとは、事前情報を与えずにいきなり質問を投げると言う意味です。 大量データでトレーニングされて、指示にしたがうようにチューニングされた言語モデルは、Zero-shotで正しい回答を導くことができます
・Few-Shot Prompting
  
モデルにいくつかの解答例を与えて、文脈の中で学習させる手法をFew-shot Promptingと言います。
・Chain-of-thought Prompting 
ステップ毎の思考の連鎖を Few-shot Prompting で事前に与えて回答の精度を上げるテクニックです。
・Zero-Shot CoT
Zero-shot CoT
は、Chain-of-Thought PromptingZero-shotで行うテクニックです。具体的に例を与えるのではなく「ステップ毎に考えてください」と言う一言を付け足すテクニックです。
・Self-Consistency
こちらも CoT(思考連鎖)プロンプトの効果をさらに高める方法です
・Generate Knowledge Prompting
言語モデルに知識が足りず回答できない課題に対して、先に一般的な知識を説明して正しい回答を得る手法です。


この記事が気に入ったらサポートをしてみませんか?