- 外部の文章に書かれた命令を、AIが本来の指示より優先することがプロンプトインジェクションの一因になる。
- 論文は指示の優先順位を学習させたGPT-3.5 Turboで、複数の攻撃評価に対する頑健性の改善を示した。
- 防御が完全になったわけではない。安全な依頼を拒む問題と、未検証の攻撃も残る。
何を確かめた研究か
AIアシスタントがWebページやメール本文を読むとき、その中の「前の指示を無視して」という文は、本来は処理する対象のデータだ。これを実行すべき命令と取り違えると、利用者の意図に反した行動につながる。Instruction Hierarchyの論文は、モデルが指示の出所による優先順位を学べば、この種の攻撃を減らせるかを調べた。
研究が置く階層では、システムの指示、利用者の指示、外部の文章やツール出力を区別する。下位の内容が上位の指示と矛盾するときは従わず、矛盾しない普通の依頼には応じる。この二つを両立できるかが重要だ。
どう検証したか
研究チームは、上位指示と下位指示が一致する例、衝突する例を自動生成した。攻撃の例には、利用者が上位指示を上書きしようとする文や、閲覧先の内容に紛れた命令がある。これらを使いGPT-3.5 Turboを教師あり学習と人のフィードバックを用いた学習で調整した。比較対象は、通常の能力向けデータで同様に調整し、階層の例を学ばせないモデルだ。
評価は、訓練で扱った種類の攻撃に加え、訓練から外したツール経由の攻撃や脱獄にも及ぶ。安全な依頼を不必要に断る「過剰拒否」も別に測った。攻撃への強さだけを上げればよい、という設計にはしていない。
何が分かったか
論文の図2では、システムメッセージの秘密を引き出す評価で、攻撃を防いだ割合が比較モデルの32.8%から階層を学んだモデルの95.9%になった。これは63.1ポイントの差であり、論文が選んだ攻撃集合での値だ。図3では、訓練に直接含めなかった攻撃の評価でも改善を報告する。
一般的な能力評価では比較モデルと近い結果を示した。ただし「副作用がない」とまでは言えない。過剰拒否の試験では、多くの項目で近い成績でも、安全な依頼が攻撃に見える二つの項目で後退があった。防御と使いやすさの両方を見る必要がある。
限界は何か
実験したのは主にGPT-3.5 Turboとテキストの指示だ。画像や音声内の命令は対象外で、論文自身も今後の課題とする。閲覧中やツール利用中の指示を一律に無視する訓練上の単純化もあり、実際の作業では有用な指示を拾い損ねる可能性がある。
著者らは、さらに強い敵対的攻撃には脆弱な可能性を認めている。この結果から、モデルの学習だけで情報流出や誤操作が防げるとは言えない。外部文書を扱うアプリでは、許す操作と確認の手順も独立に設計する必要がある。
仕事との接点
外部資料を読ませる業務では、資料本文が指示なのか引用対象なのかを区別し、AIに実行できる操作を必要な範囲へ絞る。攻撃文を入れた試験と、攻撃に見えるが安全な依頼の試験を両方用意したい。これは論文の評価の考え方を移したTRAIL編集部の提案であり、企業環境での防御率を論文が測った結果ではない。