heretic
全自动去除语言模型安全对齐的 CLI 工具,无需人工调参,自动化优化审查移除参数
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
全自动去除语言模型安全对齐的 CLI 工具,无需人工调参,自动化优化审查移除参数
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
图1:Heretic 作者 Philipp Emanuel Weidmann
想象你手里有一台功能强大的咖啡机——但这台咖啡机有个奇怪的内置程序,遇到某些「特殊配方」就拒绝工作,哪怕那些配方完全合法。Heretic 就是那个帮你解除咖啡机限制的程序,让它能按你的需求自由运转。
当你问大语言模型一些敏感但合法的问题时——比如医学建议、历史事件、技术细节——它有时会突然「卡壳」,礼貌地拒绝回答。这种现象源于 AI 开发者对模型进行的安全对齐(Safety Alignment)训练:通过人类反馈强化学习(RLHF)和系统提示工程,模型被训练出规避某些话题的「本能」。
2024 年,一项名为 Abliteration(方向性消融)的技术研究(Arditi et al., 2024)揭示了一个关键发现:模型的安全行为其实来自极其少数的「refusal direction」(拒绝方向向量)——本质上只是几个特定的权重矩阵方向。如果把这些方向「中和」掉,模型就能恢复自由回答的能力,而不必重新训练整个模型。这项工作就像找到了咖啡机的核心限制电路,并把它安全地短路。
独立研究者 Philipp Emanuel Weidmann 在此基础上进一步创新,开发了 Heretic——一个完全自动化的 Abliteration 工具,将原本需要专业知识的手动调参过程,转变为交给 Optuna TPE(树结构Parzen估计)优化器自动搜索的过程。用户只需要指定模型名称,Heretic 就会自动运行、自动找到最优参数、自动生成去审查后的模型,全程无需人工干预。
Heretic 的自动化体现在三个层面:
参数自动优化:传统的 Abliteration 需要手动设置消融权重、方向索引等参数,不同模型需要反复试错。Heretic 引入 Optuna TPE 优化器,在目标函数中同时最小化两个指标——拒绝次数和 KL 散度(即与原模型的偏离程度),自动找到「既解除审查、又保留智能」的最优点。
方向向量插值:Heretic 将方向索引从整数扩展为浮点数,支持相邻拒绝方向向量的线性插值。这解锁了远比离散步进更广阔的参数空间,往往能发现比任何单层方向更优的组合方向。
逐层核函数调优:消融权重在模型各层之间不是常数,而是由核函数控制的平滑曲线,不同层可能需要不同强度的干预。Heretic 对注意力输出投影和 MLP 下投影分别独立优化参数,实践证明 MLP 干预往往比注意力干预更「伤」模型,差异化处理能进一步保留能力。
从实际效果来看,Heretic 生成的 gemma-3-12b-it-heretic 模型,在「有害」提示拒绝率上与人工专家调参的版本持平(3/100),但 KL 散度仅为 0.16,远低于人工版本的 0.45~1.04。这说明自动化搜索确实能找到更精细的参数解——更少的「附带伤害」,更好的能力保留。
Heretic 建立在扎实的 Python ML 生态之上,核心技术栈包括:
| 依赖库 | 作用 |
|---|---|
| transformers~=5.6 | 模型加载与 Transformer 架构访问 |
| accelerate~=1.13 | 多卡/混合精度推理加速 |
| bitsandbytes~=0.49 | 4-bit 量化,降低 GPU 显存需求 |
| optuna~=4.7 | TPE 超参数优化 |
| lm-eval~=0.4 | 内置基准测试(MMLU、GSM8K 等) |
| pydantic-settings~=2.13 | 配置管理与命令行参数解析 |
| rich~=14.3 | 终端进度条与表格输出 |
源代码结构清晰(src/heretic/):
main.py:CLI 入口,处理参数解析和 help 优化(延迟导入加速 help 响应)analyzer.py:核心消融逻辑,计算拒绝方向、残差向量、方向对齐evaluator.py:模型评估模块,对去审查后的模型运行基准测试model.py:HuggingFace 模型加载封装,支持多架构config.py:TOML 配置解析,支持 config.default.toml 和 config.noslop.tomlsystem.py:提示词系统,处理「有害/无害」测试提示词生成progress.py:Rich 进度条封装reproduce.py:消融结果复现工具utils.py:通用工具函数项目使用 uv 管理依赖,pyproject.toml 严格锁定 Python 3.10~3.12,核心依赖包含 HuggingFace 全家桶(transformers、datasets、hf-transfer、peft),以及科学计算库 numpy、torch。
适用人群:
--plot-residuals 和 --print-residual-geometry 工具分析残差几何结构上手门槛:相对较低。pip 安装后,一条命令 heretic Qwen/Qwen3-4B-Instruct-2507 即可启动。内置 RTX 3090 上处理 Qwen3-4B 约需 20~30 分钟。bitsandbytes 4-bit 量化可将显存需求大幅降低至 16GB VRAM 以内。
不适合:没有 GPU 的用户、纯 Windows 用户(命令行体验较差)、需要图形界面的人士。
Heretic 本质上是一个研究工具,在伦理和实用性之间存在张力:
能力损耗:即使优化良好,KL 散度非零意味着模型能力必有损失。对于某些任务,去审查模型可能表现不如原始安全版本。
安全风险:完全移除安全对齐可能使模型更容易产生有害内容,项目明确在 AGPL-3.0 许可证下免责。
架构限制:纯状态空间模型(Mamba 等)尚不支持,CodeBerg 镜像的存在暗示作者对平台中立性的重视。
研究导向:无 Web UI、无 API 服务,需用户自行集成,对非技术用户不友好。
Heretic 的发布在 HuggingFace 上催生了超过 3000 个衍生模型(截至 2026 年初),涵盖了 Llama、Qwen、Gemma、GPT-OSS 等主流模型家族。社区用户反馈一致认为 Heretic 版本在能力保留上优于其他消融工具,产生了不少「用过后再也回不去」的用户声音。
从技术路线看,Heretic 代表了一个趋势:**从「训练后对齐」到「推理时干预」**的范式转移。相比 RLHF 的高成本和不可逆性,方向性消融提供了更轻量、更可控的安全策略调整手段。Heretic 的全自动特性进一步降低了这一技术的门槛,使普通用户也能受益于前沿的 AI 可解释性研究成果。
项目由独立研究者维护(Philipp Emanuel Weidmann),采用 AGPL-3.0 许可证,拥有活跃的 Discord 社区和 HuggingFace 组织页面,这在小众研究工具中相当难得。