見出し画像

【論文瞬読】大規模言語モデルの新たな防御策『指示の階層』とは?脆弱性を克服する画期的アプローチ

こんにちは、みなさん。株式会社AI Nestです。今回は、大規模言語モデル (LLMs) のセキュリティに関する最新の研究を紹介します。

タイトル:The Instruction Hierarchy: Training LLMs to Prioritize Privileged Instructions
URL:https://arxiv.org/abs/2404.13208 
所属:OpenAI
著者:Eric Wallace, Kai Xiao, Reimar Leike, Lilian Weng, Johannes Heidecke, Alex Beutel

最近、LLMsがプロンプトインジェクション、ジェイルブレイク、システムプロンプト抽出などの攻撃に対して脆弱であることが明らかになっています。これらの攻撃によって、悪意のあるユーザーがLLMsを悪用し、プライバシーの侵害や不適切なコンテンツの生成などの被害をもたらす可能性があります。

例えば、プロンプトインジェクション攻撃では、ユーザーが巧妙に細工したプロンプトをLLMsに入力することで、本来意図していない動作をさせてしまうことができます。ジェイルブレイク攻撃では、LLMsに組み込まれた安全装置を回避し、不適切なコンテンツを生成させることが可能です。また、システムプロンプト抽出攻撃では、LLMsに与えられた秘密の指示を不正に取得されてしまう恐れがあります。

これらの攻撃に対処するため、ある研究チームが画期的な防御策を提案しました。その名も「指示の階層 (Instruction Hierarchy)」です。

「指示の階層」って何?

「指示の階層」は、LLMsに与えられる様々な指示に優先度を割り当てる仕組みです。具体的には、以下のような階層構造を導入します。

  1. 最高優先度:開発者が提供するシステムプロンプト

  2. 中優先度:ユーザーからの入力

  3. 低優先度:外部ツールからの出力

ChatGPTを使った会話の例

この階層構造を導入することで、優先度の低い指示が高い指示と競合した場合、LLMsは高優先度の指示を優先して従うようになります。つまり、悪意のあるユーザー入力があっても、システムプロンプトの指示を無視してまで従うことはありません。

研究チームは、この「指示の階層」の概念が、LLMsの様々な攻撃に対する根本的な解決策になると考えています。なぜなら、これらの攻撃の多くは、LLMsが異なる優先度の指示を区別できないことを悪用しているからです。

どうやって「指示の階層」を実現するの?

研究チームは、自動データ生成手法を用いて、「指示の階層」に従う振る舞いをLLMsに学習させました。具体的には、以下のようなステップを踏みます。

異なる学習データセットからの4つの定性的な例
  1. 様々な優先度の指示を含むデータを自動生成します。例えば、「システムプロンプト+ユーザー入力」「システムプロンプト+ユーザー入力+ツール出力」などの組み合わせを大量に生成します。

  2. 優先度が競合する場合の正解データを用意します。例えば、ユーザー入力がシステムプロンプトの指示に反する場合、LLMsはシステムプロンプトに従うべきだと教えます。

  3. LLMsにこれらのデータを学習させます。この学習プロセスを通じて、LLMsは「指示の階層」の概念を内在化し、未知の攻撃に対しても頑健に振る舞えるようになります。

指示の階層をプロンプトで直接的に教えた場合の性能を、提案手法と比較

研究チームは、この学習手法を「Context Synthesis(コンテキスト合成)」と呼んでいます。また、優先度の低い指示を無視する振る舞いを教える手法を「Context Ignorance(コンテキスト無視)」と呼んでいます。

これらの手法を組み合わせることで、LLMsは「指示の階層」に基づいた適切な振る舞いを学習するのです。

実験結果は?

研究チームは、学習済みのLLMsに対して様々な攻撃を試みました。その結果、以下のような成果が得られました。

  • プロンプトインジェクション攻撃に対する頑健性が、最大で63%向上

  • ジェイルブレイク攻撃に対する頑健性が、30%以上向上

  • システムプロンプト抽出攻撃に対する頑健性が、大幅に向上

提案手法(指示の階層)を適用したLLMsとベースラインのLLMsの性能を比較
汎化性の結果

特筆すべきは、学習時に見られなかった新しいタイプの攻撃に対しても、高い頑健性を示したことです。これは、「指示の階層」がLLMsに深く内在化され、未知の攻撃にも適応できるようになったことを示唆しています。

定性的な敵対的テストケース

一方で、低優先度の指示を無視しすぎてしまう「過剰拒否」の問題も一部観察されました。例えば、ユーザーからの正当な要求まで拒否してしまうようなケースです。ただし、研究チームは、この問題が実世界の利用ケースでは大きな支障にはならないと考えています。

今後の課題と展望

「指示の階層」は、LLMsのセキュリティ向上に向けた重要な一歩だと言えます。しかし、まだ課題も残されています。

提案手法が低優先度の指示を無視しすぎてしまう「過剰拒否」の問題を
どの程度引き起こすかを評価

まず、「過剰拒否」の問題をさらに分析し、改善策を検討する必要があります。ユーザーの利便性を損なわずに、攻撃を防ぐためのバランスを探ることが重要です。

また、本研究ではテキストデータを中心に議論されていますが、画像や音声など、他のモダリティへの適用可能性についても検討する必要があります。マルチモーダルなLLMsが普及しつつある中、これらのモダリティに特化した防御策の開発も求められるでしょう。

さらに、「指示の階層」のアイデアを発展させ、より洗練された防御手法を開発することも期待されます。例えば、より細かな優先度の設定や、動的な優先度の調整などが考えられます。

LLMsのセキュリティは、AIの健全な発展のために不可欠なテーマです。「指示の階層」は、その課題に対する有望な解決策の一つだと言えるでしょう。今後のさらなる研究の進展に期待したいと思います。