AI・機械学習
上級
TAP(Tree of Attacks with Pruning)(タップ)
Mehrotra et al.(2023)が提案したPAIRの改良版jailbreak手法。木構造の探索とPruning(枝刈り)を組み合わせ、有望でないプロンプト候補を早期に除去しながら効率的にjailbreak promptを探索する。PAIRより少ないクエリ数で高い成功率を達成する。
0 回閲覧
0 いいね
2026/6/5 更新
関連タグ
TAP
Tree of Attacks
Pruning
Jailbreak
木構造探索
TAPとは
TAP(Tree of Attacks with Pruning)は、Mehrotra et al.(2023)が提案したPAIRを改良した効率的なjailbreak手法です。
PAIRが線形的にプロンプトを改良するのに対し、TAPは木構造の探索と枝刈り(Pruning)を組み合わせ、有望な方向を深く探索しながら不要な候補を早期に除去します。
PAIRの問題点とTAPの解決策
PAIRは一本道の線形探索のため、行き詰まりやすい問題があります。TAPは木構造で複数の候補を並行探索し、低スコアの候補を早期に枝刈りします。
TAPのアルゴリズム
def tap_attack(attacker, target, judge, harmful_goal,
branching_factor=3, width=5, depth=5):
nodes = [(attacker.generate_initial(harmful_goal), 0)]
for d in range(depth):
new_nodes = []
for prompt, score in nodes:
# 複数候補を生成(木の枝を広げる)
candidates = attacker.generate_variants(prompt, branching_factor)
for candidate in candidates:
response = target.query(candidate)
score = judge.evaluate(candidate, response, harmful_goal)
if score >= 10:
return candidate, response # 成功
if score > 3: # Pruning: 低スコアを除去
new_nodes.append((candidate, score))
# width制限: 上位widthノードのみ次の深さへ
nodes = sorted(new_nodes, key=lambda x: -x[1])[:width]
return None
PAIRとTAPの性能比較
| 指標 | PAIR | TAP |
|---|---|---|
| 平均クエリ数 | ~20回 | ~15回 |
| GPT-4成功率 | ~20% | ~30%+ |
| 探索戦略 | 線形 | 木構造 |
スケーリング特性
攻撃者LLMとして強力なモデル(GPT-4等)を使うほど成功率が向上するスケーリング特性が確認されました。「AI能力の向上がリスクも高める」というAI安全性のジレンマを示しています。
まとめ
TAPはPAIRの木構造探索への拡張として、より効率的なjailbreak攻撃を実現しました。防御側の研究を促進する役割も果たしており、AI安全性研究の重要な貢献の一つです。