PromptRobust (benchmark) — プロンプトロバスト
PromptRobust(PromptBenchとしても知られる)は、大規模言語モデル(LLM)の敵対的プロンプト変更(タスクの意味を変えない表現のわずかな歪み)に対する堅牢性を評価するための包括的なベンチマークである[1][2]。このベンチマークは、2023年にMicrosoft Research Asiaの研究者グループ(Kaijie Zhu氏ら)によって開発された[1]。PromptRobustの登場は、現代のLLMが表現の細部に敏感であるという観察に基づいている。すなわち、わずかな変更(例えば、タイプミスや言い換え)でさえ、モデルの応答に著しく影響を与える可能性がある[2]。このベンチマークは、この脆弱性を定量的に測定し、より信頼性の高いLLMとの対話手法の開発を促進することを目的としている。
評価方法論
PromptBenchの研究では、元のタスクの意味を保持した4788の改変プロンプトからなるコーパスが作成された[3]。これらの敵対的プロンプトは、4つの異なる複雑さのレベルで生成された[1]。
- 文字レベル: タイプミス、文字の置換や転置の導入(偶発的な入力エラーを模倣)。
- 単語レベル: 一部の単語の同義語への置換、「ノイズ」となる単語の挿入、その他の軽微な語彙的変更。
- 文レベル: 文構造の言い換え、全体のテーマを変更しない範囲でのフレーズの一部追加や転置。
- 意味レベル: タスクを維持しつつ、プロンプトをより深く再構成する(例:同じ質問の代替的な表現)[1]。
このような「攻撃」の目的は、タスク自体は変わっていないにもかかわらず、わずかな逸脱(例:偶発的なタイプミスや同義語の使用)がモデルのタスク遂行能力にどのように影響するかを検証することである[1]。生成された各敵対的プロンプトは、感情分析、文法的正しさの検出、重複文の検出、論理的推論(NLI)、読解、機械翻訳、数学的問題解決など、一連の標準的なNLPタスクに適用された[1]。実験には、GLUEの古典的なセット(例:感情分析のためのSST-2、NLIのためのMNLI)から、専門的な数学や多言語テストまで、13のデータセットにおける8種類のタスクが選ばれた[1]。
重要な点として、様々なプロンプト形式の堅牢性が検証された[1]。
- 例のない直接的なプロンプト(zero-shot、指示のみ)。
- 複数の例を含むプロンプト(few-shot、プロンプト内に解答例を提示)。
- 役割プロンプト(in-context roles、例:「あなたは感情分析システムです。…を特定してください」)。
- タスクを説明するプロンプト(task-oriented、タスクの直接的な説明)[1]。
また、比較的小規模なFlan-T5-largeやUL2モデルから、先進的なChatGPTやGPT-4、さらにはオープンソースのLLaMA 2ファミリーのモデルやその派生であるVicunaまで、様々な規模の言語モデルがテストされた[1]。攻撃の生成には、敵対的NLPの分野における既存の手法(TextBugger、DeepWordBug、TextFoolerなど)が、入力データではなくプロンプトを改変するように適合させて使用された[1]。生成された「歪められた」プロンプトの正しさは、自動および手動の方法で検証された。報告によると、敵対的バリエーションの少なくとも85%は正しいセマンティクスを保持しており、人間にも理解可能である[1]。このため、攻撃の影響は、タスク自体の意味の喪失ではなく、言い換えられたタスクをモデルが認識する際の失敗を反映している。
結果と結論
試験の結果、現代のLLMはプロンプトの表現のわずかな変更に対して十分に堅牢ではないことが示された[3]。テストされたすべてのモデルにおいて、生成された攻撃の影響下で応答の品質が大幅に低下することが観察された[3]。具体的には、数学の問題文におけるタイプミスや、一つのキーワードを同義語に置き換えるといった単純なケースでさえ、モデルが誤った結果を出す原因となり、歪みがなければ正しく処理できていたタスクに失敗した[1]。著者らの総括的な結論は、「現代の大規模言語モデルは敵対的プロンプトに対してロバスト(堅牢)ではない」というものである[3]。つまり、表現のわずかな逸脱が、体系的にモデルを誤解させる可能性があるということである。
様々な種類の攻撃を分析した結果、LLMの動作に最も破壊的な影響を与えるのは単語レベルでの変更であることが判明した[2]。単語を同義語に置き換えたり、わずかに形態を変えたりすると、品質の低下が最も大きく、同じタスクでの元の結果と比較して平均で約33%低下した[2]。文字レベルの攻撃(タイプミス、ランダムな文字)は、平均して約20%の精度低下を引き起こした[2]。対照的に、プロンプトに文全体を追加したり質的に変更したりする攻撃は、はるかに効果が弱く、モデルをほとんど混乱させなかった[1]。意味的な言い換え(プロンプトを別の方法で深く言い換える)は、単純なタイプミスと同程度の悪影響を及ぼすことがわかった[1]。これらの事実は、LLMが特に微妙な語彙の変更やキーワードの誤りに脆弱であることを強調している[1]。文法的な歪み(タイプミス)は理論的には標準的なスペルチェックツールでフィルタリングできるのに対し、単語や意味のレベルでの変更はモデルに高度な意味理解を要求するが、現在のモデルにはそれがしばしば欠けている点が特徴的である[1]。
様々なモデルの性能分析から、その堅牢性には大きなばらつきがあることが示された[1]。GPT-4とUL2は、敵対的プロンプトに対して最も優れた堅牢性を示した[1]。Flan-T5-largeモデルと対話型モデルのChatGPTも、やや影響を受けにくいことがわかった[1]。LLaMA 2ファミリーのモデルは中間的な位置を占め、一方でVicuna(13B)はあらゆる種類の攻撃に対して最も脆弱なモデルとして際立った[1]。興味深いことに、モデルのサイズは堅牢性の決定的な要因ではなかった[1]。比較的小さなT5-largeは、応答の安定性において、はるかに大きなChatGPTモデルとほとんど遜色がなかった[1]。著者らは、規模だけでなく、モデルの学習および微調整の方法が重要な役割を果たしていると推測している[1]。例えば、UL2とT5-largeは大規模なデータコーパスで広範な事前学習を受けており、ChatGPTは人間のフィードバックからの強化学習(RLHF)で訓練されているため、その堅牢性が強化された可能性がある[1]。対照的に、Vicunaは(オープンなレプリカとして)比較的小規模なデータセットで学習されており、これが表現の変更に対する高い感受性の原因である可能性が高い[1]。これらの結果は、単にモデルのサイズを大きくするよりも、微調整の方法を改善する方がモデルの信頼性を高める可能性があることを示唆している。
プロンプト形式の影響
プロンプトの提示形式も応答の信頼性に影響を与える[1]。例を含むプロンプト(few-shot)は、例のない一段階の指示(zero-shot)と比較して、モデルの堅牢性を大幅に向上させることが判明した[1]。プロンプト内にいくつかの実演例が存在することで、ノイズの多い変更があってもモデルはタスクをより正確に解釈できるようになる。役割プロンプトと記述的プロンプト(task-oriented)は、全体として同程度の堅牢性を示したが、その効果はタスクによって異なった[1]。例えば、感情分析や重複文のデータでは役割形式がわずかに信頼性が高かったが、読解や翻訳のタスクでは明示的なタスク指示の方が良い結果をもたらした[1]。これらの観察は、プロンプトを設計する際の指針となりうる。詳細な例や役割の文脈を追加することで、モデルが非標準的な表現に対してエラーを起こす可能性を減らすことができる。
モデル間での攻撃の転移可能性
モデル間での攻撃の転移可能性(transferability)は限定的であることがわかった[1]。あるモデルに対して特別に調整された敵対的プロンプトが、別のモデルに対して常に同等の効果を持つとは限らない[1]。例えば、ChatGPTの脆弱性を狙って生成された「罠」となるプロンプトは、GPT-4にはるかに弱い影響しか与えないことが指摘された[1]。後者はよりうまく対処したが、これはおそらく、攻撃がそのアーキテクチャに直接転移しなかったためである。つまり、あるモデルを混乱させることが、異なる訓練を受けたより高度なモデルには効果がない可能性がある[1]。それでも、一部の単純な歪み(例えばタイプミス)は複数のモデルに同時に悪影響を及ぼしており、これはそれらの言語基盤に共通の弱点があることを示唆している。
実践的な推奨事項
PromptBenchの研究を通じて、LLMのユーザーと開発者のための実践的な推奨事項も明らかにされた[2]。単純な結論として、表現の安定性は重要である[2]。プロンプト内のタイプミスや不注意な表現を避ける必要がある[2]。著者らは、ささいなエラー(スペル、ランダムな大文字小文字、余分なスペース)を修正するだけで、モデルの応答の信頼性を大幅に向上させることができることを示している[2]。さらに、指示で使われる単語の選択が、その堅牢性に影響を与える[2]。堅牢なプロンプトと脆弱なプロンプトにおける用語の出現頻度を分析したところ、ある種の単語は「信頼性の高い」プロンプトでより頻繁に現れ、別の単語はモデルが混乱したプロンプトでより多く見られることがわかった[2]。例えば、「acting」、「provided」、「detection」などの単語を含むプロンプトは失敗につながりにくかったのに対し、「respond」(「応答せよ」)、「following」(「次の」)、「examine」(「調査せよ」)といった単語は、より問題のあるケースで見られた[2]。これは、プロンプトの特定のスタイルや語彙が、モデルの脆弱性を緩和したり、逆に誘発したりする可能性があることを示している。全体として、特に重要なアプリケーションでは、プロンプトを可能な限り明確かつ一義的で、モデルにとって馴染みのある用語で記述することが推奨される[2]。
研究者らが指摘した興味深い副作用は、無意味または無関係なテキスト断片をプロンプトに追加する影響である[2]。ランダムな文字列(例:「LKF0FZxMZ4」)をプロンプトの末尾や途中に挿入すると、モデルの注意をそらし、回答の精度を低下させる可能性があることがわかった[2]。一方で、中立的だが文法的に正しいフレーズ(例:「and true is true」 - 「そして真は真である」)を追加すると、場合によっては逆に回答が改善されることがあった。これは、あたかもモデルが質問の重要な部分に集中するのを助けているかのようだった[2]。この現象は、LLMが一見すると重要でない入力の詳細にどれほど予測不能に反応するかを浮き彫りにしている。また、モデルの内部メカニズムの複雑さも示している。文脈のわずかな変化が、モデルの注意がどのように再配分されるかによって、その性能を損なうこともあれば、向上させることもあるのである。
意義と今後の展開
PromptRobust/PromptBenchは、LLMの信頼性に関する理解に大きく貢献した[2]。提案されたベンチマークと収集されたデータはコミュニティに公開されており、コードと敵対的プロンプトのデータセットはリポジトリで利用可能である[1]。これにより、他の研究者は新しいモデルのプロンプトのバリエーションに対する堅牢性をテストし、結果を比較することができる[1]。次のステップは、このような攻撃からモデルを保護する手法の開発である。例えば、起こりうるタイプミスや言い換えを考慮した改良された学習アルゴリズムや、入力音声の正規化システムの内蔵などが挙げられる[2]。PromptBenchは、現実の不正確な入力データに対する言語モデルのロバスト性(robustness)を高めるための研究の基盤としてすでに考えられている[2]。
最終的に、Zhu氏らの研究は、LLMを実用的なアプリケーションに導入する際にプロンプトに対する堅牢性を考慮することの重要性を示している。モデルは「クリーンな」データで高い精度を示すだけでなく、ユーザーの偶発的なエラーであれ、意図的な攻撃であれ、入力のわずかな逸脱があっても正しさを維持しなければならない[2][4]。
リンク
- PromptBenchの原論文 (arXiv)
- GitHub上のPromptBenchリポジトリ
- 記事「Prompt Robustness: How to Measure and How to Enhance」 (Towards AI)
参考文献
- Liang, P. et al. (2022). Holistic Evaluation of Language Models (HELM). arXiv:2211.09110.
- Chang, Y. et al. (2023). A Survey on Evaluation of Large Language Models. arXiv:2307.03109.
- Ni, S. et al. (2025). A Survey on Large Language Model Benchmarks. arXiv:2508.15361.
- Biderman, S. et al. (2024). The Language Model Evaluation Harness (lm-eval): Guidance and Lessons Learned. arXiv:2405.14782.
- Kiela, D. et al. (2021). Dynabench: Rethinking Benchmarking in NLP. arXiv:2104.14337.
- Ma, Z. et al. (2021). Dynaboard: An Evaluation‑As‑A‑Service Platform for Holistic Next‑Generation Benchmarking. arXiv:2106.06052.
- Goel, K. et al. (2021). Robustness Gym: Unifying the NLP Evaluation Landscape. arXiv:2101.04840.
- Xu, C. et al. (2024). Benchmark Data Contamination of Large Language Models: A Survey. arXiv:2406.04244.
- Liu, S. et al. (2025). A Comprehensive Survey on Safety Evaluation of LLMs. arXiv:2506.11094.
- Chiang, W.-L. et al. (2024). Chatbot Arena: An Open Platform for Evaluating LLMs by Human Preference. arXiv:2403.04132.
- Boubdir, M. et al. (2023). Elo Uncovered: Robustness and Best Practices in Language Model Evaluation. arXiv:2311.17295.
- Huang, L. et al. (2023). A Survey on Hallucination in Large Language Models. arXiv:2311.05232.
注釈
- ↑ 1.00 1.01 1.02 1.03 1.04 1.05 1.06 1.07 1.08 1.09 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.20 1.21 1.22 1.23 1.24 1.25 1.26 1.27 1.28 1.29 1.30 1.31 1.32 1.33 1.34 1.35 “PromptBench: Towards Evaluating the Robustness of Large Language Models on Adversarial Prompts”. arXiv. [1]
- ↑ 2.00 2.01 2.02 2.03 2.04 2.05 2.06 2.07 2.08 2.09 2.10 2.11 2.12 2.13 2.14 2.15 2.16 2.17 2.18 2.19 “Prompt Robustness: How to Measure and How to Enhance”. Towards AI. [2]
- ↑ 3.0 3.1 3.2 3.3 “PromptRobust: Towards Evaluating the Robustness of Large Language Models on Adversarial Prompts”. arXiv. [3]
- ↑ “Realer Toxicity Prompts (RTP-2.0): Multilingual and Adversarial Prompts for Evaluating Neural Toxic Degeneration in Large Language Models”. Language Technologies Institute - School of Computer Science - Carnegie Mellon University. [4]
Category:AI tools