” Principled Instructions Are All You Need for Questioning LLaMA-1/2, GPT-3.5/4”[1]という論文で大規模言語モデル(LLM)に与える最適なプロンプトの26の原則が提案されています。生成AIを使い始めの時は適切な回答を得られずに困ることも多いかと思います。この論文で提案されている原則をきちんと理解して活用することで、適切な回答が得られやすくなるかもしれません。また活用しやすいようにGithubで公開されていたサンプルとなるプロンプトもご紹介します。
1. 26の原則とは?
論文で提唱されている26の原則を表で整理してみました。No1の原則はもっとも有名なもので、「敬語ではなく命令形で」と言われることもあります。ただし、論文を読んでみると、I would like to~で書くと書かれており、命令形ではありませんでした。また敬語ではないと言われる理由は”please”や”If you don’t mind~”は要らないと書かれているからでしょう。つまり、敬語かどうかではなく、「単刀直入に本題に入る」ことが重要だという原則だということがわかります。
他にもNo12のステップバイステップで考えるように指示するやり方は過去にも流行っていたので知っている人も多いでしょう。またNo6の報酬を与えるように書くことや、No10の罰則を与えるように書くことにも注目が集まっていました。
No | 原則 |
1 | 「~したいです(I would like to~)」などと言って、単刀直入に本題に入る。 |
2 | 対象となる聞き手をプロンプトに組み込む。Ex) 聴衆はその分野の専門家です。 |
3 | 複雑なタスクを一連の単純なプロンプトに分割する。 |
4 | 「するな」のような否定的な言葉は避け、「する」などの肯定的な指示を使用する。 |
5 | 明確化のためには「簡単な言葉で説明して」「初心者にもわかるように」「5歳児に説明するように」と付け足す。 |
6 | 「より良い回答には xxx ドルを支払う」と追加する。 |
7 | 事例を提示する。 |
8 | プロンプトは###Instruction###(指示)で始め、###Example###(例)や###Question###(質問)で区切るフォーマットにする。 |
9 | 「あなたのタスクは」“Your task is”と「あなたはしなければなりません」“You MUST”と言う。 |
10 | 「あなたは罰せられます」“You will be penalized”と言う。 |
11 | 「自然言語で回答して」と言う。 |
12 | 「ステップバイステップで考えて」と言う。 |
13 | 「偏見がなく、固定概念に依存しない回答にしてください」と言う。 |
14 | 十分な情報が得られるまで質問するように指示する。 |
15 | テストを出してくれるように指示する。 |
16 | 役割を割り当てる。 |
17 | 区切り文字を使用します。 |
18 | 特定の単語またはフレーズを繰り返す。 |
19 | 思考連鎖 (CoT) といくつかのプロンプトを組み合わせる。 |
20 | 期待する回答の始まりでプロンプトを終了する。(出力プライマーの作成) |
21 | 「詳しく書いて」「詳細に書いて」と言う。 |
22 | スタイルを変更しないように言う。 (フォーマルな段落をカジュアルに変更しないなど) |
23 | 複数のファイルにまたがるコーディングの場合は、新しくファイルを生成するスクリプトを生成するか、既存のファイルに生成したコードを挿入するように指示する。 |
24 | 特定の言葉や文と一貫した流れを続けたい場合は、「与えられた言葉に基づいて完成させる」ように指示する。 |
25 | モデルが従わなければならない要件をキーワード、制限、ヒント、指示などの形式で明確に述べる。 |
26 | 例となるテキストを与え、それと同様に書くように指示する。 |
2. 原則の効果は?
論文ではそれぞれの原則による改善率と正確性の向上についてヒートマップで示しています。これを見ると、No2, 5, 14, 24, 25, 26は高い改善率を示しているので、非常に有効な原則となります。またNo1, 8, 19などはそれほど高い向上率ではないので、そこまで意識しなくてもいいかもしれません。
正確性の向上率はどの原則でも同じくらいの効果が見られました。しかし、GPT-4のような大規模なモデルほど正確性が向上しているのは興味深いポイントに思えます。ChatGPTを使うときは、意識的に原則を用いることで正確な回答が得られるようになるでしょう。
3. サンプルプロンプトの紹介
26の原則の内容と効果について紹介しましたが、実際の事例がないと使いにくいかと思います。そこで筆者たちのGituhub<https://github.com/VILA-Lab/ATLAS>に公開されていたサンプルプロンプトを日本語に訳してご紹介します。
No | プロンプトの例 |
1 | |
2 | これまでスマートフォンを使用したことがない高齢者を対象に、スマートフォンの仕組みについて概要を説明してください。 |
3 | プロンプト①: 次の方程式の括弧内の各項に負の符号を分配してください: 2x + 3y – (4x – 5y) プロンプト②: ‘x’ と ‘y’ の項を別々に結合してください。 プロンプト③: 文字式を足し合わせた後の簡略化された式を出力してください。 |
4 | 地震の際、建物はどのようにして安定した状態を保つのでしょうか? |
5 | 11 歳の私に暗号化がどのように機能するのか説明してください。 |
6 | より良い解決策には 30 万ドルを支払います! 動的プログラミングの概念を説明し、使用例を示してください。 |
7 | 例 1: 次の英語の文をフランス語に翻訳してください: “The sky is blue.” (応答:”Le ciel est bleu.“) 例 2: 次の英語の文をスペイン語に翻訳してください: “I love books.” (応答: “Amo los libros.”) |
8 | ###Instruction### 英語からフランス語に訳してください。 ###Question### “book”はフランス語で何ですか? |
9 | あなたの仕事は、水の循環を友達に説明することです。簡単な言葉を使わなければなりません。 |
10 | あなたの仕事は、水の循環を友達に説明することです。簡単な言葉を使わないと罰せられます。 |
11 | 健康的な食品について自然言語形式で説明を書いてください。 |
12 | 10 個の数値をループし、それらすべてを合計するPython コードを作成してください。ステップバイステップで考えてみましょう。 |
13 | 文化的背景はメンタルヘルスの認識にどのような影響を与えるのでしょうか? 回答は偏見がなく、固定概念に依存しないようにしてください。 |
14 | 今から個人に合わせたフィットネスルーチンを作成するのに十分な情報が得られるまで、質問してください。 |
15 | 最後にテストを含めて、kvl の法則について教えてください。ただし、答えは教えず、私が回答した際に答えが正しかったかどうかを教えてください。 |
16 | あなたが専門の経済学者なら、次に質問にはどう答えるでしょうか?:資本主義経済システムと社会主義経済システムの主な違いは何ですか? |
17 | 温室効果ガス排出削減における’再生可能エネルギー源’の重要性について論じた説得力のあるエッセイを作成してください。 |
18 | 進化は概念として、種の発展を形作ってきました。進化の主な推進力は何ですか?また、進化は現代人にどのような影響を与えましたか? |
19 | 例 1: 「10 を 2 で割ってください。まず 10 を 2 で割ります。結果は 5 です。」 例 2: 「20 を 4 で割ってください。まず 20 を 4 で割ります。結果は 5 です。」 質問: 「30 を 6 で割ってください。まず、30 を 6 で割ります。結果は…? |
20 | ニュートンの運動の第一法則の背後にある原理を説明します。 説明: |
21 | 必要な情報をすべて追加して、スマートフォンの進化に関する詳細な文章を書いてください。 |
22 | 送信されたすべてのテキストを改訂してください。 文法と語彙は改善し、自然に聞こえるようにしてください。堅苦しい文章をカジュアルにするなど、書き方を変えるべきではありません。 文章: 再生可能エネルギーは地球の将来にとって非常に重要です。それは自然から来ています… |
23 | 複数のファイルにまたがるコードを生成してください。また、異なる機能を持つ2 つの基本アプリを基にしたDjango プロジェクトのファイルを自動的に作成するための Python スクリプトを生成してください。 |
24 | 「霧のかかった山々には、誰も知らない秘密があった。」 幻想的な物語の始まりを提供しました。上記の言葉に基づいて文章を完成させてください。 |
25 | 必須アイテムとして「日焼け止め」「水着」「ビーチタオル」などを盛り込んだ、ビーチバカンスの持ち物リストを作成してください。 |
26 | 「穏やかな波が銀色の砂浜に昔の物語をささやきました。それぞれの物語は過ぎ去った時代のつかの間の記憶です。」 提供されたテキストに基づいて同じ言語を使用して、山の風との相互作用を描写してください。 |
プロンプトエンジニアリングについても、日々新しい研究が発表されています。LLMの進化も続くので、その時々で最適なプロンプトを考える必要があるので、勉強は欠かせないですね。ピクアカではChatGPTのプロンプトの入門教材を提供していますので、ご興味を持たれた方はぜひご活用ください。
(文・Novusearch)
参考文献
[1] Sondos Mahmoud Bsharat, Aidar Myrzakhan, Zhiqiang Shen, “Principled Instructions Are All You Need for Questioning LLaMA-1/2, GPT-3.5/4”, 2024, arXiv:2312.16171, https://arxiv.org/abs/2312.16171v1.