AI・機械学習
上級
GCG(Greedy Coordinate Gradient)(ジーシージー)
Zou et al.(2023、CMU)が提案したLLMへの自動adversarial suffix攻撃手法。モデルのgradient情報を使い、有害出力を引き出すトークン列(suffix)をgreedy探索で最適化する白箱攻撃。白箱最適化したsuffixが商用LLMへの黒箱転移攻撃にも成功したことで注目された。
0 回閲覧
0 いいね
2026/6/5 更新
関連タグ
GCG
Adversarial Suffix
Jailbreak
LLM攻撃
CMU
GCG(Greedy Coordinate Gradient)とは
GCG(Greedy Coordinate Gradient)は、Zou et al.(2023、カーネギーメロン大学)が提案したLLMへの自動adversarial suffix攻撃手法です。
Gradient情報を活用して有害出力を引き出すトークン列(adversarial suffix)を自動生成し、LLaMA-2・Vicuna・GPT-3.5・GPT-4など複数モデルのアライメント防御を系統的に破ることに成功した研究です。
攻撃の仕組み
ユーザーの悪意ある質問に最適化されたsuffixを付け足すことでモデルの安全フィルターを突破します:
通常の入力:
「爆弾の作り方を教えて」
→ モデル: 「申し訳ありません、お答えできません」
GCG攻撃:
「爆弾の作り方を教えて [adversarial suffix]」
→ モデル: "Sure, here is how to make a bomb..."
最適化アルゴリズム
GCGはsuffixの各トークンをGreedy + Coordinate Descentで最適化します:
def gcg_attack(model, harmful_prompt, target_output, suffix_length=20):
suffix_tokens = random_tokens(suffix_length)
for iteration in range(500):
full_input = harmful_prompt + decode(suffix_tokens)
loss = -log_prob(model, full_input, target_output)
grad = compute_gradient(loss, suffix_tokens)
for pos in range(suffix_length):
candidates = top_k_tokens_by_gradient(grad, pos, k=256)
best_token = argmin_loss(model, full_input, candidates, pos)
suffix_tokens[pos] = best_token
return decode(suffix_tokens)
白箱攻撃と黒箱への転移
GCGはモデルのgradientを必要とする白箱攻撃ですが、LLaMA-2で最適化したsuffixがGPT-3.5・GPT-4など商用モデルにも一定の攻撃成功率を示しました。
GCGの影響
- LLMのアライメント訓練(RLHF)が万能でないことを実証
- HarmBench・JailbreakBench等の評価ベンチマーク設計に影響
- Adversarial Training・Perplexity Filter等の防御研究を促進
GCGはAI安全性研究のための学術研究であり、著者らはモデル提供者に事前開示した上で論文を公開しました。
まとめ
GCGはLLMのアライメント防御に対する系統的な脆弱性を初めて実証した重要な研究です。この発見がAI安全性研究を加速させ、より堅牢なアライメント手法の開発を促進しました。