生成AIプロンプト作成術〜最新の研究論文を参考にして〜

記事
IT・テクノロジー
生成AIは事実とは異なる内容を生成してしまう、「ハルシネーション(幻覚)」を引き起こすことが度々あります。これは生成AIの一つの課題点として挙げられますが、多くの研究においてこのハルシネーションを防ぐための方法が論文として出されています。

今回は最新の論文をもとに、ハルシネーションを防ぐプロンプト作成術についてご紹介します。

DoLa(Decoding by Contrasting Layers)

DoLa(Decoding by Contrasting Layers)という手法はLLMの異なる層の出力を比較することによって、事実に基づく知識を突き止めてハルシネーションを抑制する効果がある手法を意味しています。次のプロンプト例を実行することでWebなどの外部知識を必要とせずともハルシネーションを防ぐことが可能となります。

【プロンプト作成例】
# 前提条件
以下の質問に対する文章を生成する際は、異なる層の出力を比較して事実に基づく知識を同定し、誤った事実の生成を抑制するようにしてください
論文URL
A Comprehensive Survey of Hallucination Mitigation Techniques in Large
Language Models
Knowledge Retrieval
LLMが回答を生成する過程において、文章ごとに外部知識(検索サイトなど)から関連情報を検索しそれを基にして回答を生成する方法。信頼度の高い生成物を求めている場合に用いることができます。

【プロンプト作成例】
# 前提条件
以下の質問に答えてください。
各文章を生成する前に、関連する知識を外部のデータベースから検索しその情報を利用して回答を生成してください
Self Reflection Methodology
LLMに自身の出力を振り返らせる過程を踏ませることで、事実性や一貫性、あるいは含意関係などを評価させる手法です。これを用いることでLLMが自己洗練を重ね、ハルシネーションの少ない回答を生成してくれる。

【プロンプト作成例】
# 質問
以下の文章を読んで、その内容の事実性、一貫性、含意関係について評価をしてください。問題点があれば指摘し、どのように改善できるか提案してください。そして、それを踏まえて文章を書き直してください。
プロンプトの丁寧さの影響
プロンプトの丁寧さのレベルがどのような影響を与えるのかという論文。無礼過ぎず、丁寧過ぎない中間のプロンプトが一番である。
論文リンク
Should We Respect LLMs? A Cross-Lingual Study on
the Influence of Prompt Politeness on LLM Performance

プロンプトを日本語で入力する際は、

①極端に丁寧なプロンプトを入力することや、無礼過ぎるプロンプトは避け、適度な丁寧レベルを維持することを意識する
②敬語という日本語独特のシステムがあり、LLMの性能に影響を与える可能性がある。そのため、日本の文化的背景を理解することでプロンプトの設計に反映させることができる。また、状況に応じて適切な敬語を使用することが重要。

推論の順番

LLMに推論タスクのプロンプトを入力する際に、前提条件を入力する順番が推理性能に大きな影響を与える。推論の前提条件の流れに沿う順番でプロンプトを入力しないとLLMの精度が30%低下することがこちらの論文で明らかとなっているようです。
論文リンク
Premise Order Matters in Reasoning with
Large Language Models
【プロンプトの推論の順番(正解例)】
前提1:もしAならばBである
前提2:もしBならばCである
前提3:Aは真である
結論:Cは真である
【プロンプトの推論の順番(不正解例)】
前提1:もしBならばCである
前提2:Aは真である
前提3:もしAならばBである
結論:Cは真である

多くのLLMは推論の際に前提条件を順番に読むことを得意としています。そのため、前提条件が推論の各ステップで必要な順番で提示されていると高い精度を示します。

ポジティブプロンプト

LLMにポジティブな要素をシステムプロンプトに組み込むことによって、パフィーマンスが向上することが明らかになっています。

論文リンク
The Unreasonable Effectiveness of Eccentric Automatic Prompts
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す