プロンプトエンジニアリング「Rephrase and Respond」の紹介
こんにちは、PKSHA Technology でアルゴリズムエンジニアをしている原田です。プロンプトエンジニアリングは LLM から期待する回答を引き出すための手法であり、これまで様々な手法が開拓されてきました。プロンプトエンジニアリングは簡単に取り入れることが可能なため、実用的に使える機会も多いのではないかと思います。私も業務で LLM を活用する際に、プロンプトエンジニアリングの知見が役に立ったと感じることがあります。本記事でご紹介する「Rephrase and Respond: Let Large Language Models Ask Better Questions for Themselves」という論文では、質問を一度 LLM に言い換えさせてから回答させる Rephrase and Respond(RaR)という手法を提案しています。以下、この論文の内容についてご紹介したいと思います。
着想の背景
人間同士のコミュニケーションでは、意図した通りに伝わらず話が噛み合わなくなることがありますが、本論文は人間と LLM のコミュニケーションの場合でも同様のことが起こることに着目しています。以下の図はミスコミュニケーションをの一例を表しています。
この例では、”Was Ludwig van Beethoven born in an even month?” のような、特定の人物が偶数月(even month)に生まれたかを問う質問を取り上げ、GPT-4 が時には人間とは異なる解釈をすることを指摘しています(この例では、12 月は 31 日あり、31 は奇数なので even month でないと判断したり、2 月は日数が他の月と比べて変わっているので、odd month と判断したりしています)。この原因として著者らは、人間同士でも思考フレームが人によって違うように、人と LLM でも思考フレームにギャップがあり、それが原因で解釈に違いが出てくるからだと主張しています。そのため、質問内容に曖昧さがあると、解釈の違いが発生してミスコミュニケーションが起きてしまうのです。そこで、著者らは LLM に質問を言い換えさせ、曖昧さがない質問に変換してから回答させることで、この問題の改善を図りました。さらに、著者らはこの研究が LLM のベンチマークデータセットが抱える問題点を改善するのにも役立つと考えています。LLM のベンチマークデータセットには曖昧な質問文が存在し、公平な評価の妨げとなっていますが、本論文の手法によってこの問題を改善できる可能性があると述べています。
提案手法
One-step-RaR と Two-step-RaR という 2 つの手法を提案しています。
One-step RaR
以下のプロンプトで、 LLM にとって意味が明確になるよう質問を言い換えてから回答するよう指示します。
"{question}"
Rephrase and expand the question, and respond.
人間もしばしば相手の質問に対して、質問を言い換えてから回答することがありますが、それに倣った手法となっています。
Two-step RaR
質問の言い換えと回答を別々のステップで行う手法も検証しています。
一段階目では、以下のプロンプトによって、質問を言い換えさせます。
"{question}"
Given the above question, rephrase and expand it to help you
do better answering. Maintain all information in the original question.
続いて、以下のプロンプトで、元の質問と言い換えさせた質問を用いて回答するよう指示します。
(original) {question}
(rephrased) {rephrased_question}
Use your answer for the rephrased question to answer the original question.
なお、元の質問も入れているのは、回答が元の質問から外れてしまう可能性を考慮してのことです。
後述するように、各ステップで別々のモデルを使うことも可能です。特に、質問文の言い換えはサイズの大きいモデルで行い、小規模のモデルが精度の高い回答をできるよう補助することも可能です。著者らは、Two-step RaR の一段階目のステップはベンチマークデータセットの質問文の質の向上にも活用できると主張しています。
ベンチマーク
本論文では以下のタスク、データセットに対して、accuracy で評価を行っています。
結果
GPT-4 での結果
下の図が示すように、one-step, two-step どちらの場合も、言い換えを行わない場合に比べどのタスクにおいても精度が向上することが見られました。特に、もともと低い精度を示していたタスクに対して、大幅な改善が見られます。この結果から RaR が LLM の性能を引き出す有効な手法であることがわかります。この結果を受けて、著者らは以下のように考察しています。
One-step-RaR は簡単に試すことができる手法でありながら、汎用的で効果も高い手法となっている。
Two-step-RaR では、外部から情報を付加することなく、質問文を言い換えただけで精度向上することをより直接的に示している。この結果は、LLM の評価において質問文の質がいかに重要かを示唆している。
モデル別の結果
RaR による質問の言い換えがモデルによらず有効な手法であることを確認するために、GPT-4 だけでなく、GPT-3.5-turbo や Vicuna-13b でも試しています。以下の図は Two-step-RaR に対するそれぞれのモデルの評価結果です。
全体的な傾向として、GPT-4 のような性能の高いモデルの方が改善幅が大きいことがわかります。GPT3.5 や Vicuna-13b ではタスクによっては精度が下がることもありますが、言い換えの段階で間違っていることが原因となっています(以下が具体例になります)。
この結果を見ると、GPT-4 のような性能の高いモデルの方がより良い言い換えを行なってくれると考えられます。著者らは言い換えタスクは GPT-4 で行い、回答を Vicuuna-13b に行わせた場合も検証しています。以下の図が示すように、Vicuuna-13b のみで言い換えと回答を行わせた場合に比べ精度向上しており、性能の高いモデルの方が言い換え能力が高いことを示唆しています。
Chain-of-Thought との比較
最後に、著者らは Chain-of-thought(CoT)との比較についても議論しています。CoT は推論ステップも回答させることで精度を高める手法ですが、本論文では Zero-shot-CoT と Few-shot-CoT それぞれの場合について RaR と比較をしています。著者らの主張をまとめると以下になります。
推論の性能を高める試みを行うよりも、質問の質を高めることの方が優先順位が高い(論文では、質問が曖昧な状態で推論ステップを回答させたところで正しい回答に辿り着かない事例を紹介している)
RaR は CoT と組み合わせることも可能
Zero-shot-CoT の場合は、“Let’s think step by step.” を RaR のプロンプトの末尾に加えるだけで実現できる。論文では Chinese Idiom task(四字熟語でマスクされた 1 文字を推測するタスク)という難易度の高いタスクに対して、精度向上していることを確認している。
Few-shot-CoT において、与えた例に問題がある場合、回答に悪影響を与えることがあるが、Two-step-RaR と組み合わせることによって、この問題を改善できる。具体的には、言い換えによって few-shot の例の誤りを訂正し、言い換えた例を含む質問で回答させることによって、精度向上に繋がる。論文では Last Letter Concatenation task(単語の末尾を結合させた文字列を取得するタスク)に対して、単語の先頭の文字を結合させた例を few-shot として与えた場合で実験を行い、精度向上していることを確認している。
上記の考察を通して、著者らは RaR は CoT を補完することが可能で、さらなる精度向上のために活用できると主張しています。
終わりに
本記事では、RaR というプロンプトエンジニアリングの手法について紹介しました。シンプルでありながら精度向上を期待できる手法であり、また、質問の質が LLM からより良い回答を引き出す上でいかに重要であるか再認識することができ、大変興味深い内容でした。一方で、社会実装の観点からは考慮すべき課題もあるので、最後にそれについて述べて本記事を終わりにしたいと思います。
まず、精度の高い質問の言い換えを実現するには GPT-4 のような比較的規模の大きいモデルが必要であり、そのコストの高さから適用可能なユースケースは限定されます。また、質問の言い換えを追加で実行しているので、その分レイテンシが増加することにも注意する必要があります。そのため、実務ではリアルタイム性がどこまで求められるかに応じて RaR を取り入れるかどうか決めることになると思います。
コストとレイテンシを考慮するといつでも使える手法というわけではないですが、ユーザーが入力する質問の質をサービス側で制御できないことも多く、そういったケースでは精度向上が最優先されることもあります。今後そのような機会には本手法を活用し、より優れたサービスを社会に提供していきたいと思います。
―INFORMATION―
PKSHA Technology では、共に働く仲間を募集しています。このような技術に興味を持っていただけた場合は、採用サイトや Wantedly から応募やカジュアル面談が可能ですので、是非ご覧ください!
▼ 26 新卒:アルゴリズムエンジニア インターンシップ
▼【中途採用】アルゴリズムエンジニア
▼カジュアル面談も受付中です!Wantedly はこちら