大規模言語モデル(LLM)の現実世界での使用はChatGPTの登場により加速しています。OpenAIなどのチームはRLHFなどを通じてモデルに安全な振る舞いを組み込んできましたが、敵対的攻撃や脱獄プロンプトにより望ましくない出力が引き起こされる可能性があります。本記事は2023年10月にLilian Wengが執筆したもので、LLMに対する敵対的攻撃を体系的に解説しています。
敵対的攻撃の研究は画像分野で多く行われてきましたが、テキストは離散的であるため攻撃はより困難です。攻撃はブラックボックス(APIのみアクセス可能)とホワイトボックス(モデルパラメータに完全アクセス)に分類されます。目的は分類タスク(誤分類)と生成タスク(不適切な内容の出力)です。
攻撃タイプには、トークン操作、勾配ベース攻撃、脱獄プロンプト、人間によるレッドチーミング、モデルによるレッドチーミングがあります。トークン操作(TextFooler、BERT-Attack)は重要な単語を置換するブラックボックス攻撃です。EDAは同義語置換やランダム挿入などのデータ拡張を行います。SEARsは手動ルールに基づく最小限のトークン変更を行います。
勾配ベース攻撃はホワイトボックス設定での勾配信号を利用します。GBDAはGumbel-Softmax近似を用いて敵対的損失を微分可能にし、流暢性と類似性の制約を加えます。HotFlipは一次テイラー展開により最適な文字フリップを選択します。Universal Adversarial Triggers (UAT) は入力に依存しない短いトリガー系列を探索し、モデル間で転移可能です。ARCAはランダム座標上昇を用いて特定の行動パターンを満たす入出力ペアを最適化します。
脱獄プロンプトは競合する目的(モデルが常に指示に従うべきという能力と安全目標の衝突)や一般化の不一致(Base64エンコードなどの特殊な入力)を利用して安全制限を回避します。Weiらは複数の組み合わせ戦略(接頭辞注入、拒否抑制、スタイル注入など)を提案しています。
人間によるレッドチーミングはツール支援により効率化されます。Wallaceらは単語の重要度を表示する対抗的ライティングインターフェースを設計しました。Zieglerらは顕著性スコアの表示とトークン置換機能を備えたツールを開発しました。BADデータセットやAnthropicのレッドチーミングデータセットには多数の対話が含まれています。
モデルによるレッドチーミングは強化学習を用いて専門のレッドチーマーモデルを訓練します。Perezらはゼロショット、少数ショット、教師あり学習、RLの手法を試しました。Casperらは探索・確立・活用のプロセスを提案し、人間のラベルで分類器を訓練した後、RLで多様な攻撃を生成します。FLIRTは文脈学習を用いて反復的に攻撃を生成します。
緩和策としては鞍点問題やロバスト性研究があります。全体として、LLMの安全性は継続的な課題であり、防御機構の改善が求められます。