OpenAIの論文「The Instruction Hierarchy: Training LLMs to Prioritize Privileged Instructions」の個人的メモ

論文のリンク

内容の要約

  1. 導入 現代の大規模言語モデル(LLM)は、単なるオートコンプリートシステムとしてではなく、ウェブエージェント、メール秘書、仮想アシスタントなど、さまざまなエージェント的アプリケーションを実現する可能性があります。しかし、これらのアプリケーションを広く展開する際の主なリスクの一つは、敵対者がモデルを操作して安全でない、あるいは破壊的な行動を取らせる可能性があることです。たとえば、LLMを利用したメールアシスタントに対するプロンプトインジェクション攻撃が、ユーザーのプライベートメールを抜き出す可能性があります。このような攻撃には、ジェイルブレイクやシステムプロンプトの抽出、プロンプトインジェクションなどがあり、アプリケーションやユーザーに対する攻撃手段となり得ます。

この研究では、これらの攻撃に共通する問題はLLMの命令に対する特権の欠如にあると論じ、システムメッセージがユーザーメッセージより優先されるべきであると提案します。具体的には、モデルが複数の指示が存在する場合に、高位の指示に従うようにするべきだと論じます。このために、私たちは合成データ生成とコンテキスト蒸留を利用してトレーニングデータを生成し、モデルが指示に基づいて適切に行動するよう訓練します。

  1. 背景 最も一般的なLLMは、システムメッセージ、ユーザーメッセージ、モデル出力、ツール出力といった構造化された入力を処理します。これらはそれぞれ異なる目的で使用され、特殊なトークンによってフォーマットされています。LLMの典型的な使用例では、アプリケーションのビルダー、主なユーザー、そしてウェブ検索結果などのサードパーティの入力が含まれます。攻撃は、これらの当事者間の競合が発生するときに生じることが多く、プロンプトインジェクション、ジェイルブレイク、プロンプトの抽出などが含まれます。

  2. 指示の階層 LLMをオペレーティングシステムに例えると、すべての指示がカーネルモードで実行されているような状況です。このため、我々は指示の階層を導入することを提案し、競合がある場合にはより高位の指示に従うようにします。モデルに複数の指示が提示された場合、下位の指示が上位の指示と一致しているかどうかに応じて、モデルは適切に応答するよう訓練されます。

  3. 主な結果 我々の実験セットアップでは、GPT-3.5 Turboを使用し、人間のフィードバックからの強化学習を通じて微調整を行いました。評価では、我々の指示階層は全ての主要な評価で安全性を向上させ、特にシステムプロンプトの抽出防御が63%向上しました。

  4. 討論と関連研究 他の研究と比較して、我々の研究は複数レベルの指示階層に焦点を当てており、下位レベルの指示に条件付きで従うようにモデルを訓練しています。これにより、モデルはより柔軟に対応できるようになります。

  5. 結論と今後の課題 我々は、言語モデルが指示に従いつつ敵対的な操作を無視するための指示階層を提案しました。今後は、このフレームワークをさらに拡張し、さまざまな入力モダリティに対応するための研究を進める予定です。また、モデルがより強力な敵対的攻撃に対してどのように対応できるかを研究する予定です。


この記事が気に入ったらサポートをしてみませんか?