プログラミング

プロンプトエンジニアリング:Generated Knowledge Prompting

Champ

どうも、Champです🙌

最近、Chat型の生成系AIサービスが増加傾向にありますね。
社内でもChat型の生成系AIサービスに関する部活動が発足され、活動の一環として自然言語処理にブレークスルーをもたらしたと言われているTransformerを基礎から勉強する会などが開催されています。

ところで皆様はChat型の生成系AIサービスに入力するプロンプトによって出力(AIからの回答)にブレがあると感じたことはありますか?

プロンプトとは、AIに対する指示や質問のことで、実は出力結果を大きく左右します。そして、プロンプトエンジニアリングとは、最適なプロンプトを設計し、AIから最適な結果を引き出すための技術のことを指します。

そこで今回はプロンプトエンジニアリングの1つである「Generated Knowledge Prompting(生成知識プロンプト)」についてお話しします。

Generated Knowledge Promptingとは?

Generated Knowledge Promptingとは論文「Generated Knowledge Prompting for Commonsense Reasoning」で提唱された、大規模な言語モデルが新しい情報を「作り出す」能力を強化する方法です。

この手法は、モデルが既存の知識を活用して新しい知識を生成し、それを利用して質問に答える能力を強化します。これにより、モデルはより複雑な質問にも対応できるようになります。

この手法は主に2つのフェーズから成ります。

  1. 最初の「知識生成フェーズ」では、モデルに対して、解かせたい問題に関連する知識を生成させるプロンプトを提供します。
  2. 次の「知識統合フェーズ」では、生成された知識を質問の一部としてモデルに提供します。
    これにより、モデルはその知識を利用して質問に答えることができます。

簡単に説明すると

タスクの関連情報をプロンプトに含めることで回答の正確性が上がる🙌
でも、関連情報をプロンプトに含めるのは面倒!
じゃあ、関連情報の生成も言語モデルにやってもらおう!

ということです。

Generated Knowledge Promptingを活かしたプロンプト例

では、具体的にどのようなプロンプトになるのでしょうか?
まず、解かせたい問題に関連情報を生成させるプロンプトをモデルに提供します。

知識生成フェーズ プロンプト例:

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

出力例:

<解決して欲しいタスクに関連する情報が出力される>

これはFew-Shotプロンプティングのテクニックを活用して、 言語モデルに解決して欲しいタスクに関連する情報を出力させています。

ここで出力された情報を次の知識統合フェーズで使用し、言語モデルにタスクを依頼します。

知識統合フェーズ プロンプト例:

知識:<解決して欲しいタスクに関連する情報>
質問:<言語モデルに解決して欲しいタスク>

まとめ

Generated Knowledge Promptingは言語モデルに情報を生成させ、その情報を利用することで、回答の正確性を高める手法です。
Chat型の生成系AIサービスでより正確性の高い情報が欲しい際、是非利用してみてください。

記事を読んでいただきありがとうございました🙌🏼

AUTHOR
champ
champ
記事URLをコピーしました