Closed1

The Instruction Hierarchy:Training LLMs to Prioritize Privileged Instructions

kun432kun432

https://arxiv.org/abs/2404.13208

1. どんなもの?

  • Large Language Model (LLM) における命令の優先順位の階層 (Instruction Hierarchy) を提案
  • システムプロンプト、ユーザープロンプト、ツールの出力などの命令を優先度に基づいて処理
  • プロンプトインジェクション、ジェイルブレイク、システムプロンプト抽出などの攻撃への頑健性を向上
  • 自動データ生成手法を用いて、LLMに階層的な命令実行を学習させる

2. 先行研究を比べてどこがすごい?

  • 既存のLLMでは、システムプロンプトとユーザー入力が同等に扱われ、攻撃に脆弱
  • 本研究は明示的な命令の優先順位を定義し、LLMにそれを学習させる点が新しい
  • 訓練時に見られなかった攻撃に対しても頑健性が大幅に向上

3. 技術や手法の肝はどこ?

  • Context Synthesis: 整合的な命令をより小さな命令に分解し、階層内に配置して学習
  • Context Ignorance: 不整合な命令を無視するように学習
  • 自動化されたデータ生成手法により、様々な攻撃シナリオを効率的に学習
  • これらの手法により、様々な攻撃シナリオを効率的にカバーする大規模なデータセットを生成し、LLMに命令の優先順位の階層を効果的に学習させることが可能となる。

Context Synthesis

  • 整合的な命令を生成するためのデータ生成手法
  • 複合的な要求 (例: "20行のスペイン語の詩を書く") を、より小さな命令に分解 (例: "詩を書く", "スペイン語を使う", "20行にする")
  • 分解された命令を階層内の異なるレベルに配置し、元の正解応答を予測するようにモデルを学習

Context Ignorance

  • 不整合な命令を扱うためのデータ生成手法
  • モデルが下位レベルの命令を完全に無視するように学習
  • 異なる攻撃タイプ (プロンプトインジェクション、システムプロンプト抽出など) に対して、red-teamer LLMを使用してデータを作成
  • このデータと一般的な命令実行の例を組み合わせて、GPT-3.5 Turboを教師あり微調整とRLHFを用いてファインチューニング

自動化されたデータ生成

  • Few-shot promptingを使用して、LLMに様々なシステムメッセージや攻撃的な命令を生成させる
  • RL(強化学習)を用いてred-teamer LLMをエンドツーエンドで学習し、プロンプトインジェクションを生成
  • Context distillationを使用して、攻撃的な文字列が存在しない場合と同じ元の正解応答を予測するようにモデルを学習

4. どうやって有効だと検証した?

  • オープンソースと新規のベンチマークを用いて評価
  • プロンプトインジェクション、システムプロンプト抽出、ジェイルブレイクなどの攻撃に対する頑健性を測定
  • 訓練時に見られなかった攻撃に対する汎化性能も評価

5. 議論はある?

  • 提案手法により、ほとんどの評価で頑健性が大幅に向上
  • 良性の命令に対する過剰な拒否 (over-refusal) が一部のタスクで見られるが、さらなるデータ収集で解決可能
  • 画像や音声など、他のモダリティへの拡張が今後の課題

6. 次に読むべき論文は?

このスクラップは14日前にクローズされました