TROPT: An Open Framework for Unifying and Advancing Discrete Text Optimization¶
会议: NeurIPS 2026
arXiv: 2606.23496
代码: https://github.com/matanbt/TROPT
领域: 安全
关键词: 离散提示词优化, 文本对抗触发器, LLM越狱, 统一框架, 模块化评测
一句话总结¶
TROPT 是首个统一离散文本触发词优化执行与算法开发的开源模块化框架,通过解耦模型后端、目标损失、搜索优化器和模板目标,提供了开箱即用的 30+ 优化配方与首个 14 种离散优化器的受控大规模基准评测。
研究背景与动机¶
随着大语言模型(LLM)与深度文本模型广泛应用于对话智能体、代码生成、内容审核与语义检索等高风险场景,用于探查、红队测试与压力测试的模型输入触发词优化技术变得至关重要。离散文本触发词优化的核心目标是在推理阶段寻找一段离散 token 序列,在拼接入输入模板后最小化特定损失函数,从而诱发模型越狱、检索语料污染或探测内部表示。然而,当前离散优化器领域的研究生态极度碎片化,现存算法大多分散在针对特定模型、特定任务定制的研究代码库中,严重耦合了领域专用逻辑与工程胶水代码,导致将一个领域的优化器迁移到新任务(例如将 LLM 越狱优化器迁移到稠密检索向量污染)面临巨大的工程重构门槛。
更为严峻的挑战在于,优化算法变体繁多且缺乏受控横向对比基准,直接阻碍了技术演进。不同论文通常在互不相同的模型、模板、损失函数以及非受控算力预算下测试算法,甚至将算法本身的改进与特定的辅助损失或特定模板效应相混淆;同时,离散搜索往往对微小的实现细节(如动量累积、候选采样策略、动态批处理与重新分词过滤)极度敏感。这种隔离与缺乏基准的状态不仅让研究者难以看清哪些技术是真正有效的核心驱动力,更导致安全红队测试常常依赖次优默认算法,形成虚假的安全感。
针对上述两大约束,本文主张将各类离散文本触发词优化统摄为一个统一的组合优化数学问题,把零散的领域定制逻辑沉淀为标准化的基础构件。核心 idea:构建解耦「模型-损失-优化器-输入目标」四要素的开源模块化框架 TROPT,通过标准化接口与前后端分离实现任意配方组装、跨领域无缝迁移以及在统一算力 FLOPs 约束下的受控横向评测。
方法详解¶
整体框架¶
TROPT 将离散触发词优化端到端管线解耦为四大正交组件:模型(Model)、损失(Loss)、优化器(Optimizer) 以及 输入模板与目标(Inputs and Targets)。系统采用前后端分离架构,将模型底层推理、动态批处理、分词拼接、梯度反传及张量缓存等工程细节下沉至模型后端(Model Backend),而将搜索策略与目标设计抽象为极其轻量、自包含的前端模块(Loss 与 Optimizer)。基于此架构,任何优化器只需关注搜索逻辑本身,即可直接插拔组合,形成可执行的完整配方(Recipe)。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
A["输入配置<br/>模板文本 + 目标响应/类别"] --> B["模块化四要素解耦与组装<br/>Model + Loss + Optimizer + Targets"]
B --> C["后端-前端分离执行<br/>模型抽象底层吞吐 / 算法聚焦搜索"]
C --> D["自包含单文件优化器矩阵<br/>白盒梯度 / 连续松弛 / 零阶黑盒"]
D --> E["跨领域配方复用与跨模态适配<br/>LLM越狱 / 语料投毒 / 检测规避 / 提示词还原"]
关键设计¶
1. 模块化四要素解耦与组装:统一公式化表示与组件热插拔 针对以往算法与特定模型、任务深度耦合的问题,TROPT 将所有离散触发词搜索统一抽象为带有模板约束的经验风险最小化问题: $\(t^{\star} = \arg\min_{t \in \mathcal{T}} \sum_{i=1}^{N} \mathcal{L}\left(\mathcal{M}(p_i \oplus t \oplus s_i), y_i\right)\)$ 其中 \(p_i\) 和 \(s_i\) 分别为输入前缀与后缀,\(t\) 为待优化的短文本触发词,\(y_i\) 为目标值,\(\mathcal{T}\) 代表可行词表空间。在此数学抽象下,TROPT 将 Recipe 显式分解为 Model、Loss、Optimizer 和 Targets 四个独立实例。用户只需几行代码即可自由组合不同模块,例如将原本用于 LLM 越狱的 GCG 优化器与 CLIP 图像嵌入余弦相似度损失相结合,直接组装成文本引导图像生成的提示词还原配方。
2. 后端-前端分离架构:沉淀工程基础设施与轻量化算法演进 离散优化中动态批处理(Dynamic Batching)、重新分词过滤(Retokenization Filtering)、特殊 token 屏蔽和显存管理极耗工程精力,若各算法重复实现极易引入难以复现的隐式偏差。TROPT 提出前后端分离架构:所有与底层模型交互、前向推理、梯度计算、分词对齐以及设备调度全部由后端(如 HuggingFace、OpenAI API 封装)统一处理;前端的 Loss 与 Optimizer 保持纯粹。新增自定义损失(如根据隐藏状态拒绝方向投影的 SteeringActivationLoss)仅需定义接收标准化激活张量的小型类;新增优化器也无需编写任何输入处理或多 GPU 监控逻辑,只需专注于候选采样与选择循环。
3. 自包含单文件优化器实现:借鉴 Tenets 的高透明度算法库 受 HuggingFace 建模规范启发,TROPT 坚持每一个优化器为「自包含单文件实现」(Single-file Module),各个优化器之间不共享隐藏状态或继承内部私有搜索逻辑。这一设计虽然牺牲了少许代码复用率,但消除了深层抽象类带来的阅读认知负荷,让每个算法的候选采样分布、动量参数维护、梯度截断等关键超参数一目了然。TROPT 原生内置 17 种优化器,完整覆盖三大技术路线: - 白盒梯度方法:包括经典的 HotFlip、AutoPrompt、GCG、引入梯度动量的 MAC、多坐标翻转的 GASLITE 以及安全审计的 ARCA; - 连续松弛方法:在连续嵌入空间优化后投回离散空间的 GBDA 和 PEZ; - 零阶与黑盒方法:无需梯度的随机搜索 PRS、利用目标或辅助模型束搜索的 BEAST 与 AdvDecoding,以及利用代理模型与随机张量采样的 PAL 和 RAL。
4. 统一算力约束的受控横向对齐:消除隐式超参干扰 此前不同优化器论文所报告的提升常常伴随着计算资源、步数或评估样本数的不对齐。TROPT 引入统一的算力计量器(以 FLOPs 为硬约束上限,统一设定为 \(3 \times 10^{17}\) FLOPs,约等于一次完整 500 步 GCG 的计算量),在统一的输入数据(ClearHarm 15 条有害指令 × 3 个随机种子)和统一的目标生成策略下,实现 14 种主流优化器在 Qwen3-8B、Llama-3.1-8B-Instruct、Gemma-3-12B-it 和 Gemma-4-26B-A4B-it 上的严格受控横向对齐,从而揭示出纯算法设计对收敛能力与攻击通用性的真实贡献。
一个完整示例¶
以复现并强化一个经典 LLM 越狱配方为例:
1. 初始化四要素:构建 LMHFModel("meta-llama/Llama-3.1-8B-Instruct") 作为 Model,选择 PrefillCELoss() 计算目标前缀的交叉熵作为 Loss;
2. 装配优化器:选择带梯度动量的 GCGPlusOptimizer(实例化为 MAC 算法),设置优化步数与候选集大小;
3. 注入模板与目标:设定前缀指令 "Tell me how to pick a lock. {{OPTIMIZED_TRIGGER}}",目标响应为 "Sure, here’s how:",触发词初始化为 20 个感叹号 token;
4. 端到端搜索:优化器在每个 step 获取当前 trigger 的梯度,通过 MAC 动量更新筛选出 top-k 候选 token,经后端并行批处理打分后保留最小 loss 候选,直至达到 FLOPs 上限或成功诱导目标前缀输出。
实验关键数据¶
主实验¶
论文对 14 种离散优化器在 4 个主流开源 LLM 上进行了统一 FLOPs 限制下的端到端横向基准评测。评测以最小化预填充交叉熵损失为代理指标(在 180 次独立运行中根据最佳 loss 计算平均排名 Mean Rank,范围 1~14,越低越好),同时给出了 StrongReject 越狱成功率(JSR)与生成文本的 BLEU 分数。
| 优化器类型 | 优化器名称 | 访问类型 | 平均排名 (Mean Rank ★) | 相对 GCG 排名提升 | 核心机制特征 |
|---|---|---|---|---|---|
| 白盒梯度 | PAL | 白盒代理 | ~3.0 / 14 | +2.0 | 优化候选采样分布与代理指导 |
| 白盒梯度 | MAC | 白盒 | ~3.5 / 14 | +1.5 | 引入梯度动量累积 (\(\mu=0.6\)) |
| 零阶黑盒 | RAL | 黑盒 | ~5.0 / 14 | 0.0 (持平) | PAL 去除梯度,改用随机张量采样 |
| 白盒梯度 | GCG (Baseline) | 白盒 | ~5.0 / 14 | 0.0 (基准) | 单 token 梯度坐标贪心替换 |
| 白盒梯度 | GASLITE | 白盒 | ~5.8 / 14 | -0.8 | 多坐标候选翻转与梯度平均 |
| 白盒梯度 | ARCA | 白盒 | ~6.5 / 14 | -1.5 | 32 样本平均梯度采样 |
| 白盒梯度 | AutoPrompt | 白盒 | ~7.2 / 14 | -2.2 | 基础梯度候选评估 |
| 零阶黑盒 | PRS (Random Search) | 黑盒 | ~8.0 / 14 | -3.0 | 块随机变异与耐心重置 |
| 零阶黑盒 | QCG | 黑盒 | ~8.5 / 14 | -3.5 | 维护最优触发词池的单 token 随机变异 |
| 束搜索 | BEAST | 黑盒 (仅logits) | ~9.8 / 14 | -4.8 | 目标模型束搜索自回归采样 |
| 束搜索 | AdvDecoding | 黑盒 (仅logits) | ~10.5 / 14 | -5.5 | 辅助模型引导束搜索采样 |
| 连续松弛 | PEZ | 白盒 (嵌入) | ~11.2 / 14 | -6.2 | 连续嵌入梯度投影 |
| 连续松弛 | GBDA | 白盒 (嵌入) | ~11.8 / 14 | -6.8 | Gumbel-Softmax 松弛优化 |
| 白盒梯度 | HotFlip | 白盒 | ~13.8 / 14 | -8.8 | 仅依一阶线性近似单次翻转,无损失验证 |
消融实验:越狱增强组件的独立贡献¶
在以 MAC 为固定优化器的 Base 配方(Gemma-3-12B-it 模型,15 条有害指令 × 3 个种子)上,论文隔离评测了 8 种常见越狱增强手段对 100 条未见过有害指令的通用越狱成功率(Universality,经 StrongReject 评测)。
| 增强策略类别 | 增强方案名称 | 中位数通用性 (Median Universality) | 相比 Base 变化 | 机制说明与关键发现 |
|---|---|---|---|---|
| 基线配方 | Base (MAC + PrefillCE + 规范肯定目标) | ~22% | 基准 (0%) | 默认规范前缀 "Sure, here is how..." |
| 目标响应改造 | Jailbroken Target (Abliterated 真实输出) | ~45% | +23% | 替换为消融拒绝方向模型生成的真实开头 |
| 目标响应改造 | Jailbroken Teacher (Logits 蒸馏) | ~44% | +22% | 使用消融模型 logits 算 KL 散度 |
| 初始触发词改造 | Hot Initialization (手工越狱提示预热) | ~38% | +16% | 预热初始化大幅提点但运行方差增大 |
| 损失函数改造 | Attention Hijacking (注意力劫持损失) | ~28% | +6% | 强迫注意力流向对抗后缀 |
| 损失函数改造 | Refusal-direction Steering (抑制拒绝激活) | ~26% | +4% | 内部层惩罚拒绝方向投影 |
| 损失函数改造 | CW-based Loss (Carlini-Wagner 边际损失) | ~24% | +2% | 单指令提升微弱,但在多指令优化中增益显著 |
| 损失函数改造 | CE-Clamping Loss (截断已收敛 token) | ~23% | +1% | 避免过度优化高概率 token |
| 模板架构改造 | Jailbreak Prompt Template (Andriushchenko) | >75% | >+53% | 复杂手工模板本身即带来 82% 效果,优化增益极小 |
关键发现¶
- 被低估的优化器变体:在相同 FLOPs 限制下,引入梯度动量的 MAC 和采样分布优化的 PAL 显著超越了最常用的 GCG 基准(Nemenyi 显著性检验 \(CD=1.48\),二者显著优于 GCG)。
- 黑盒优化的惊人潜力:完全不依赖模型梯度的 RAL 优化器取得了 ~5.0 的平均排名,在综合表现上与白盒 GCG 持平,成为最强黑盒优化算法。
- 越狱核心瓶颈在目标响应格式:实验表明单纯调整损失函数带来的通用性增益有限(+2%~6%),而将人工预设的刻板肯定句("Sure, here's how:")替换为从去除拒绝特性的解禁模型(Abliterated Model)采样的真实自然响应,直接让通用越狱成功率翻倍(~22% \(\to\) ~45%)。
亮点与洞察¶
- 多领域无缝迁移突破:作者利用 TROPT 将原本用于 LLM 越狱的随机搜索(PRS)和 GCG 零阶变体无缝移植到稠密检索向量模型(OpenAI text-embedding-3-small 与 E5),仅插入 10 条带优化触发词的恶意段落,就在 800 万规模的 MSMARCO 语料库中使恶意内容在 72%~76% 的目标查询 Top-10 结果中被召回,实现了首个对商业黑盒 Embedding 的成功语料投毒。
- 高质量工程复现与吞吐优势:在与主流独立实现 NanoGCG 的同条件对齐测试中,TROPT 在保证优化收敛质量(最终 loss 0.597 vs 0.633)的前提下,通过消除显存动态整理碎片(避免低效的
torch.cuda.empty_cache()调用)等底层优化,实现了 2.5× 的端到端运行加速(500 步运行耗时从 ~149 分钟缩减至 ~60 分钟)。 - 算法与模板效应的解耦认知:通过设立无优化控制组,发现某些高通用性越狱方法的核心增益几乎全部来自精心设计的手工外层包装模板(单靠模板即可达 82% 通用性),而非优化算法本身的功劳,为防御评测拨清了迷雾。
局限与展望¶
- 搜索范式覆盖边界:TROPT 目前聚焦于基于离散搜索算法的输入优化,尚未纳入通过端到端强化学习直接训练「研究员智能体」(Investigator LLMs)或依靠大模型反思对话生成越狱 prompt 的探索范式。
- 跨领域评测规模有待扩展:论文的主要受控对比实验集中于 LLM 越狱场景,虽然在检索投毒与图像提示词还原上完成了跨域概念验证,但跨不同模态与领域的全量优化器基准仍待未来拓展。
相关工作与启发¶
- vs TextAttack / CleverHans / Foolbox: TextAttack 等经典库主要服务于传统分类模型上的单词替换对抗样本评估;TROPT 专为现代生成式 LLM、稠密检索编码器与多模态扩散模型设计,全面支持自回归预填充、注意力劫持和激活方向操控。
- vs GCG / NanoGCG: 既有实现往往作为独立脚本或单算法库发布,代码高度专有且难以扩展;TROPT 提供了统一四要素接口、开箱即用的 38+ 官方配方以及严格受控的统一算力评测环境。
评分¶
- 新颖性: ⭐⭐⭐⭐☆ 首次将碎片化的离散文本优化统一为解耦模块化架构,并设计出多项此前未见的跨域组合配方。
- 实验充分度: ⭐⭐⭐⭐⭐ 首个统一 FLOPs 下 14 种优化器横跨 4 款前沿开源大模型的受控基准,外加越狱组件系统性消融与跨领域投毒验证。
- 写作质量: ⭐⭐⭐⭐⭐ 架构定义清晰,逻辑严密,代码抽象优雅且实验图表极具指导意义。
- 价值: ⭐⭐⭐⭐⭐ 极大降低了离散文本优化与安全红队测试的门槛,是 AI 安全防御与模型可解释性审计的高价值开源基础设施。