構造化インストラクションチューニングは、入力のうちプロンプト部分の指示にのみ従い、データ部分の指示には従わないようモデルに教える、インストラクションチューニングの一種である。これは StruQ:構造化クエリによるプロンプトインジェクションへの防御 で導入された。同論文の診断によれば、標準的なインストラクションチューニングそのものがプロンプトインジェクション脆弱性の中心的な要因となっている。それは LLM に対し、入力中のどこに現れた指示であっても、それに従って行動するよう訓練してしまうからである。対策は、区切り文字の前に指示を置いた通常の例と、区切り文字の後ろに余分な指示を置いた攻撃済みの例とを混ぜてファインチューニングすることであり、後者の場合に望ましい出力は、正しい位置にある指示だけに対する応答である。
用法
訓練セットは、標準的なインストラクションチューニングのデータセットを拡張して構築される。サンプルの半分は、モデルの有用性を維持するために変更せずに残される。4 分の 1 は Naive 攻撃によって攻撃される。すなわち、サンプルのデータ部分に別の訓練サンプルの指示とデータが連結されるが、望ましい応答は元のプロンプトに属するもののままである。残りの 4 分の 1 は Completion-Other 攻撃によって攻撃される。ここでは評価で用いるものとは重複しない大規模な集合から引いた偽の区切り文字と、本物とは異なるテキストを持つ偽の応答が使われる。論文は、代わりに本物の応答で訓練すると、モデルが入力を繰り返すことを学んでしまうと指摘している。データ入力のないサンプルは攻撃されないまま残される。プロンプトインジェクションが問題になるのは、データ入力を与えるアプリケーションに限られるからである。
論文はこれを従来の敵対的訓練と区別している。勾配を用いて最悪ケースの敵対的サンプルを作り出すのではなく、訓練セットから別の指示を連結するだけであり、人手で作成した悪意あるサンプルに頼るアプローチよりも安価だと説明している。人手で設計した悪意あるインジェクションが不要なのは意図的なものである。目的は、モデルがプロンプト部分にある信頼できる指示——それは無害であることが保証されている——に応答することだけだからである。
論文で報告されているアブレーションでは、4 つの拡張——Naive、Ignore、Completion-Other、そして区切り文字が誤っている場合に拒否するようモデルを訓練する偽区切り文字拡張——が試されている。最良の結果は Naive 拡張と Completion 拡張の組み合わせから得られ、選ばれた攻撃全体で攻撃成功率を 0% に下げつつ有用性への影響は最小限だったと報告されており、これが最終的なフレームワークで用いられた組み合わせである。Ignore 拡張は Naive 拡張単独より効果的だが有用性を低下させ、偽区切り文字拡張はモデルに一部のクリーンなサンプルを拒否させてしまい、有用性を下げる一方でほとんどの種類の攻撃を防げなかったと報告されている。
適用される場面
この手法は、インストラクションチューニングされていないベース LLM に適用される。論文はそうしたモデルを構造化インストラクションチューニング済みのモデルに変換しており、プロンプトインジェクションに対する防御はインストラクションチューニングされていないモデルの上に構築されると述べている。論文が LLM プロバイダーに対し、そうしたモデルをファインチューニング用に提供するよう促しているのはこのためである。論文自身の実験では、クリーニング済みの Alpaca インストラクションチューニングデータセットでモデル全体を 3 エポックにわたってファインチューニングしており、学習率は Llama で 2e-5、Mistral で 2.5e-6 である。
この手法は、予約済みの区切り文字トークンでクエリをエンコードし、ユーザーデータからそれらのトークンを除去するフロントエンドとの併用を前提としている。両者は独立した対策ではなく、1 つのシステムの構成要素として示されている。区切り文字に関する論文のアブレーションは、特別な予約トークンが結果を左右することを報告している。構造化インストラクションチューニングの後では、「ニアミス」の区切り文字を用いた Completion 攻撃はもはや効果を持たない。正しい区切り文字は予約トークンにエンコードされる一方、ニアミスの区切り文字は通常のテキストトークンにエンコードされ、チューニング済みのモデルはその異なる埋め込みを無視するよう学習しているからである。また、それらの新しいトークンの埋め込みを対応する通常のテキストトークンから初期化することが有用性に大きな違いをもたらすこと、そしてインストラクションチューニングだけではモデルが新しいトークンの埋め込みをゼロから学習するには不十分だったことも報告されている。論文が述べる限界は、得られるモデルが完全に安全ではないという点である。最適化ベースの攻撃は無視できない成功率を保っている。