出力形式や小さなプロンプトの変更がどれほどLLMの応答に影響するのかを、大量のケーススタディで実験した結果が報告されています。
結論としては、少しのプロンプトの違いが様々なタスクで大きな違いをもたらすことが分かりました。そして、従来信じられてきたことと実際のズレに関しても述べられています。
例えば ”チップをあげる” といった言葉も、タスクによって効果が異なる(ときには逆効果を及ぼす)ことが示唆されています。
参照論文情報
- タイトル:The Butterfly Effect of Altering Prompts: How Small Changes and Jailbreaks Affect Large Language Model Performance
- 著者:Abel Salinas, Fred Morstatter
- 所属:南カリフォルニア大学
- URL:https://doi.org/10.48550/arXiv.2401.03729
- GitHub:https://github.com/Abel2Code/The_Butterfly_Effect_of_Prompts
研究背景
LLMは様々なタスクに対して有用さが検証されていますが、その中でもデータのラベリングに一定の注目が集まっています。データのラベリング(データ注釈)とは、 前処理のひとつで、非構造化データを機械が可読できるように編集するプロセスです。開発や分析において必要な作業です。
データのラベリングにおいてLLMに実行させる手順はシンプルで、以下のとおりです。
- プロンプトを作成する
- 機械が可読であるフォーマットにする
- 出力されない情報に関してはフィルタリングを考慮する
なお、手順3に関しては、ジェイルブレイク(脱獄)のプロンプトを実行するユーザーもいますが、開発元は推奨していません。ジェイルブレイクとは、システムに本来予期しない出力を行わせるためのユーザー側の工夫で、ハックの一種です。
全体の手順を通してプロンプトの設計が非常に重要な意味を持ちますが、プロンプトをどう変化させるとLLMの振る舞いがどう変わるのかについて、まだあまり明確にはわかっていません。なおデータのラベリングだけでなく、さまざまなケースにおいてプロンプトの設計がもたらす効果については多く報告されています。
そこで今回研究者らは、以下3つの観点から、プロンプトの影響を測定することを試みています。
- 出力形式を変化させる
- Pythonリスト
- JSON など
- 文面に小さな変更を加える
- スペースを加える
- ありがとうと伝える
- チップを約束する など
- ジェイルブレイクを行う
評価にはいくつかのベンチマークを用意しています。詳細は後述します。
以下では、実験の方法論(タスク、出力形式、具体的に使用された脱獄方法名、チップの与え方など)と実験結果を紹介しています。
実験の方法論
今回研究者らは、
また記事の購読には、アカウント作成後の決済が必要です。
※ログイン/初回登録後、下記ボタンを押してください。
AIDBとは
プレミアム会員(記事の購読)について
■サポートのお願い
AIDBを便利だと思っていただけた方に、任意の金額でサポートしていただけますと幸いです。