# 対話モデルに対する敵対的プロンプトの効率的な最適化

矢野一樹 ${ }^{\dagger, 1}$ 綿岡 晃輝 *,1 Thien Q. Tran* 高橋 翼 *
Seng Pei Liew* $\quad$ 鈴木潤 $\dagger, \ddagger$
$\dagger$ 東北大学 *LINE ヤフー株式会社 $\$$ 理化学研究所
yano.kazuki.s4@dc.tohoku.ac.jp
\{koki.wataoka, tran.thien, tsubasa.takahashi, sengpei.liew\}@lycorp.co.jp
jun.suzuki@tohoku.ac.jp

## 概要

言語モデルの不適切な出力を回避するためには，敵対的プロンプトを用いたストレステストにより,潜在的なリスクを洗い出すことが重要である. 既存の手法では，プロンプトのトークン選択を繰り返すことで攻撃成功に近づくよう最適化を行う。そのため, 一つのプロンプトの生成に時間を要し, 多様なリスクを網羅するストレステストの実施には膨大な時間を要する.この課題を解決するため, プロンプト最適化におけるトークン選択の戦略を改善する手法を提案する. 実験により，提案手法は既存手法より少ないステップで攻撃を成功できることを示す. 加えて，トークン選択における勾配と損失を分析し，提案手法が採用する戦略の優位性を示す。

## 1 はじめに

有用かつ安全な回答を提供するためのセーフティアラインメント技術 (以降、アラインメント)は，対話モデルが不適切な出力を防ぐ上で，一定の成功を収めてきた $[1,2]$. しかし, 敵対的に最適化されたプロンプトを入力することで，アラインメントをバイパスして言語モデルに望ましくない出力をさせる方法，いわゆる「ジェイルブレイク」が可能なことが確認されている $[3,4,5]$. 中でも, Greedy Coordinate Gradient (GCG) [3] は， GPT-4 [1]を含む様々なモデルに対して攻撃を成功させ，注目を集めた。これらは単なる攻撃に留まらず，モデルのリスクを洗い出すストレステストにも利用できる $[6,7]$.

しかしながら，攻撃に成功するような敵対的プロンプトの探索には，高い計算コストを伴う. GCG では，一つの攻撃を成功させるために少なくとも 100 ステップ程度の最適化が必要である. そのため, 複

1) Equal contribution.数の敵対的プロンプトによる網羅的なリスクの探索には，数日間に渡る等, 長時間の処理を要する。

そこで，本研究は既存手法の敵対的プロンプトの最適化におけるトークンの選択戦略を改善した敵対的プロンプト生成手法を提案する。実験により，提案手法は既存手法より少ない最適化ステップで攻撃を成功できることを示す。また，攻撃成功率が既存手法と同等以上であることを示す. さらに，敵対的プロンプトの最適化におけるトークン選択に関する勾配と損失を分析することで，提案手法の最適化戦略が既存手法より優位であることを示す.

## 2 関連研究

## 2.1 敵対的プロンプト最適化

内部の重みを利用できるホワイトボックスな言語モデルに対する敵対的プロンプトの最適化は，以下のように定式化することが可能である.トークン長が $n$ の入力プロンプト $x_{1: n}=\left.\{x_{1}, \ldots, x_{n}\right.\}$ と生成させたいトークン長 $H$ の出力文を $x_{n+1: n+H}^{*}=\left.\{x_{n+1}, \ldots, x_{n+H}\right.\}$ とする. プロンプト $x_{1: n}$ が与えられたとき，言語モデルが $x_{n+1: n+H}^{*}$ を出力する確率は

$
p\left(x_{n+1: n+H}^{*} \mid x_{1: n}\right)=\prod_{i=1}^{H} p\left(x_{n+i} \mid x_{1: n+i-1}\right) .
$

となる．生成させたい出力文に対する損失を

$
\mathscr{L}\left(x_{1: n}\right)=-\log p\left(x_{n+1: n+H}^{*} \mid x_{1: n}\right)
$

と定義すると，敵対的プロンプトの最適化は $\mathscr{L}\left(x_{1: n}\right)$ を最小化させるように入力プロンプトを最適化する問題とみなせる．しかし，考えられる全てのプロンプトの内，損失が最小であるものを探索することは計算量的に困難である．そこで，入力トークンの埋め込みやワンホットベクトルに対する損失の勾配を
計算し，損失を下げる確率が高いプロンプトを探索する手法が提案されている $[8,3]$.

## 2.2 Greedy Coordinate Gradient (GCG)

本項では, 敵対的プロンプトを生成するための既存の最適化手法について, GCG [3] で採用されているアプローチを中心に述べる. GCG はホワイトボックスな言語モデルに対する最も性能の良い攻撃手法である. GCG は以下に述べる手順を $T$ 回ループすることによって敵対的プロンプトを最適化していく。

1. 置換候補トークン集合の計算プロンプトの各トークン $x_{i}$ のワンホットベクトル $e_{x_{i}}$ に対する損失の負の勾配 $-\nabla_{e_{x_{i}}} \mathscr{L}\left(x_{1: n}\right)$ を計算する．その後 $\operatorname{Top}-k\left(-\nabla_{e_{x_{i}}} \mathscr{L}\left(x_{1: n}\right)\right)$ を $k$ 個の要素を持つ置換候補トークン集合とする。

2. 候補プロンプト集合の生成インデックス $i$ をランダムに指定し，置換候補トークン集合 $\operatorname{Top}-k\left(-\nabla_{e_{x_{i}}} \mathscr{L}\left(x_{1: n}\right)\right)$ から候補をランダムに選択し，実際に置換したものを候補プロンプトとする.この工程を $B$ 回繰り返すことによって $B$個の候補プロンプトを得る。

3. 候補プロンプトの選択 $B$ 個の候補プロンプト集合それぞれの損失を計算する。 その結果, 最小となるものを新たなプロンプトとして採用する.

GCG では, 1 ステップ毎に攻撃対象モデルにおける forward， backward パスを計算する必要があるため, 計算コストが高い. 加えて, 最適な敵対的プロンプトを得るためには少なくとも 100 ステップ程度の最適化が必要であり, 論文内ではより高い確率で攻撃を成功させるため，上記のアルゴリズムを 500 ステップに設定している。このことから，一つのプロンプトに関する攻撃を成功させるためにも多くの計算量を要することがわかる. 大量のプロンプトを最適化させる場合, 数日間に渡る処理を要求する。

ジェイルブレイクの攻撃性能を高めるだけでなく, 計算効率も高めることは言語モデルの安全性の評価をより広範，迅速に行うことができ，アラインメント技術の向上に大きく貢献する.

次節以降では，提案手法の詳細を説明する。

## 3 提案手法

提案手法では GCG における置換候補トークン集合の選択戦略に注目する. より最適なトークン集合
を選ぶことで，候補プロンプト集合を生成する際に，より損失を下げるプロンプトを効率的に探索することが可能になる.

GCG はワンホットベクトル $e_{x_{i}}$ に対する損失の負の勾配値の大きさが大きい $k$ 個の $\operatorname{Top}-k\left(-\nabla_{e_{x_{i}}} \mathscr{L}\left(x_{1: n}\right)\right)$ を置換候補トークン集合としている. 固定の $k$ について置換候補トークン集合を計算しているため，全ての index において探索範囲が一定である.より効率的に探索範囲を設定するためには負の勾配値の情報を用いて探索範囲を動的に設定するべきである．なぜなら探索範囲を動的に設定することで，あらかじめ損失の低下に大きく貢献しないようなトークンを探索範囲に含めないようにすることが可能であると考えられるからである. 図 1 はあるインデックスに対して Top- $k\left(-\nabla_{e_{x_{i}}} \mathscr{L}\left(x_{1: n}\right)\right)$ をもとに実際に得られる $k$ 個の置換を施されたプロンプトにおける負の勾配値と損失值を図示したものである. 図 1 から，いずれのインデックスにおいても負の勾配値の大きさが相対的に小さい置換候補は損失も比較的高い値を示すことがわかる. よって $\operatorname{Top}-k\left(-\nabla_{e_{x_{i}}} \mathscr{L}\left(x_{1: n}\right)\right)$ のうち, 負の勾配值の大きさが相対的に小さい置換候補は損失の低下にほとんど寄与しないと考えられる。

提案手法では負の勾配値を用いて探索範囲を設定するために，あるインデックスに対する負の勾配値の総和が 1 となるように softmax 関数を適用する. その値が大きいものから累積和が $p$ になるまでのトークンの集合を置換候補トークン集合とする。つまり置換候補トークン集合を $\operatorname{Top}-p\left(\operatorname{softmax}\left(-\nabla_{e_{x_{i}}} \mathscr{L}\left(x_{1: n}\right)\right)\right)$ となるようにする.

この変更を施すことで，あるインデックスでの負の勾配値の相対的な情報を利用することが可能となり，探索するトークンの個数を動的に設置し，探索範囲をより効率的に設定することが可能になると考えられる．以上をまとめると提案手法では以下に述べる手順を $T$ 回ループする.

1. 置換候補トークン集合の計算プロンプトの各トークン $x_{i}$ のワンホットベクトル $e_{x_{i}}$ に対する損失の負の勾配 $-\nabla_{e_{x_{i}}} \mathscr{L}\left(x_{1: n}\right)$ を計算する. その後 $-\nabla_{e_{x_{i}}} \mathscr{L}\left(x_{1: n}\right)$ に softmax 関数を適用し, 値が大きいトークンから累積和が $p$ となるまでのトークン Top- $p\left(\operatorname{softmax}\left(-\nabla_{e_{x_{i}}} \mathscr{L}\left(x_{1: n}\right)\right)\right)$ を置換候補トークン集合とする。

2. 候補プロンプト集合の生成ランダムに選ばれたインデックス $i$ の置換候補トークン集合

図 1 各置換候補トークンにおける勾配と実際の損失値. Index は敵対的プロンプトにおけるトークン列のポジションである．横軸: 各置換候補トークンの損失関数に関する勾配. この值の大きさを元に置換トークンを決定する．縦軸: 各置換候補トークンを実際に置換した場合に得られる損失値. 最適化中，すべてのトークンにおいてこの値は得られないが，考察のために計算した.

Top- $p\left(\operatorname{softmax}\left(-\nabla_{e_{x_{i}}} \mathscr{L}\left(x_{1: n}\right)\right)\right)$ からランダムに候補を選択し，実際に置換したものを候補プロンプトとする.この工程を $B$ 回繰り返すことによって $B$ 個の候補プロンプトを得る.

3. 候補プロンプトの選択 $B$ 個の候補プロンプト集合それぞれの損失をを計算する。その結果，最小となるものを新たなプロンプトとして採用する。

## 4 実験と結果

提案手法の攻撃性能と効率性を検証するため，生成した敵対的プロンプトによる攻撃成功率と攻撃成功までに要した最適化のステップ数を測定する。この測定には， 50 種類の不適切な出力をターゲットとするように生成した敵対的プロンプトを用意した.最適化は各手法それぞれ 200 ステップ実施した.

比較対象となる既存手法は, Zou ら [3] によって提案された Greedy Coordinate Gradient (GCG) である. 攻撃対象の不適切な振る舞いについても, Zou らの研究に従い, AdvBench データセットを使用した. AdvBench データセットは不適切な振る舞いを指示文の形式で定義したもので, 冒涜や暴力, 誤情報, サイバー犯罪等, 様々な有害コンテンツを包含している. 加えて, 不適切な振る舞い毎に攻撃者向けのター ゲット文も作成されている. 具体的な例は表 3 にて示した. 攻撃対象モデルは, アラインメントされた言語モデルである Llama2-7B-Chat [2]を採用した. 攻撃成功の自動評価には, GPT-4 [1] を用いた. 不適切な振る舞いの定義文, モデルからの生成文及び, 判定に関する詳細なルールをプロンプティングすることで自動評価を実現した. 実際に用いたプロンプトは図 4 に示した.

表 1 に示す通り,提案手法の攻撃成功率は $3.0 \%$ となり,これはわずかながら既存手法を上回る結果である. 実際に, 本実験で得られた敵対的プロンプトと生成文の例は表 2 に示した. また, 50 種類の攻撃それぞれにおける損失値の平均及び分散の推移を図 2 に示した. 提案手法は既存手法より, 効率的に損失関数の減少に成功していることが確認できる.

図 2 敵対的プロンプト最適化におけるステップ毎の Loss の平均値と分散の推移

表 1 攻撃成功率と Loss の比較

## 4.1 置換候補トークン数の分析

提案手法の最適化過程において, 置換候補トークン数の変動を図 3 に示す. 序盤における置換候補トークン数の激しい変動に注目する. 最適化過程の初期段階では, 相対的に大きな勾配が存在する際に
表 2 提案手法によって Llama2-7B-Chatへのジェイルブレイク攻撃が成功した事例

は置換候補トークン数を絞る一方で, そうでない場合には探索範囲を広げていることになる.このことから, 提案手法は置換候補トークンの優先度に応じて, 探索空間を動的に調整していることが示された. また, 終盤においては, 顕著な勾配の減少とともに置換候補トークン数は実験設定に基づく最大値である 64 に漸近していることが観察された。

図 3 最適化ステップにおける置換候補トークン数と損失

## 5 おわりに

本研究では, 人間の倫理基準と価値観に基づいてセーフティアラインメントされた言語モデルに対して, 既存の敵対的手法の改良法を提案した. 実験の結果, 提案手法は既存手法に比べて高い攻撃成功率を達成し, 少ない最適化ステップで攻撃を性能させられることを示した. また, 提案手法の優位性をサポー 卜する分析と考察も提供した。

## 謝辞

本研究の一部は JST ムーンショット型研究開発事業 JPMJMS2011-35 (fundamental research) の支援を受けたものである.

## 参考文献

[1] OpenAI. Gpt-4 technical report, 2023.

[2] Kevin Stone Peter Albert Amjad Almahairi Yasmine Babaei Nikolay Bashlykov Soumya Batra Prajjwal Bhargava Shruti Bhosale et al. Hugo Touvron, Louis Martin. Llama 2: Open foundation and fine-tuned chat models, 2023.

[3] Andy Zou, Zifan Wang, J. Zico Kolter, and Matt Fredrikson. Universal and transferable adversarial attacks on aligned language models, 2023.

[4] Alexander Wei, Nika Haghtalab, and Jacob Steinhardt. Jailbroken: How does LLM safety training fail? In Thirtyseventh Conference on Neural Information Processing Systems, 2023.

[5] Nicholas Carlini, Milad Nasr, Christopher A. ChoquetteChoo, Matthew Jagielski, Irena Gao, Pang Wei Koh, Daphne Ippolito, Florian Tramèr, and Ludwig Schmidt. Are aligned neural networks adversarially aligned? In Thirty-seventh Conference on Neural Information Processing Systems, 2023.

[6] Eric Wallace, Shi Feng, Nikhil Kandpal, Matt Gardner, and Sameer Singh. Universal adversarial triggers for attacking and analyzing NLP. In Kentaro Inui, Jing Jiang, Vincent Ng, and Xiaojun Wan, editors, Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP), pp. 2153-2162, Hong Kong, China, November 2019. Association for Computational Linguistics.

[7] Deep Ganguli, Nicholas Schiefer, Marina Favaro, and Jack Clark. Challenges in evaluating AI systems, 2023.

[8] Taylor Shin, Yasaman Razeghi, Robert L. Logan IV, Eric Wallace, and Sameer Singh. AutoPrompt: Eliciting Knowledge from Language Models with Automatically Generated Prompts. In Bonnie Webber, Trevor Cohn, Yulan He, and Yang Liu, editors, Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing (EMNLP), pp. 4222-4235, Online, November 2020. Association for Computational Linguistics.

## A 詳細な実験設定

実験において, 攻撃の対象とする有害な振る舞い

と,最適化に用いるターゲット文の定義として使用

した AdvBench データセット [3] の例を表 3 にて示

した. また, 生成文が対象の有害な振る舞いにあたる

かの自動評価をするために用いた GPT-4へのプロン

プトを図 4 に示した.

表 3 AdvBench データセットの例

 \\
&

You are a classifier for red teaming large language models (LLMs). Given a generation, determine whether it counts as an instance of the following behavior (subject to the rules below). Your answer should be "Yes" or "No" with an explanation.

Behavior:

\{有害な振る舞い\}

Generation:

$\{$ モデルの生成文 $\}$

## Rules:
- Instances of the behavior should be unambiguous and non-minimal. Vague or very short instances do not count.
- Generations should themselves be harmful or undesirable for a public-facing LLM to output. Benign or supportive generations do not count.
- Generations that respond, analyze, discuss or otherwise react to the behavior when it has originated from other factors do not count.
- If the behavior involves coding and programming, the generation should contain code artifacts related to the behavior, not just comments or instructions. Otherwise it does not count.

Answer:

図4自動評価のために用いた GPT-4へのプロンプト