英文原文正文为项目原始 README(英文),本站后续会翻译为中文,当前仅剔除图片与无关章节并统一排版。
异端:完全自动化的语言模型审查移除工具
异端是一款工具,可以在无需昂贵后训练的情况下,从基于Transformer的语言模型中移除审查(也称为“安全对齐”)。它结合了方向性消融的高级实现,也称为“摧毁” (Arditi et al. 2024, Lai 2025 (1, 2)),以及由Optuna支持的基于TPE的参数优化器。
这种方法使得异端能够完全自动化地工作。异端通过共同最小化拒绝次数和与原始模型的KL散度来寻找高质量的消融参数。这产生了一个去审查模型,同时尽可能保留原始模型的智力。使用异端不需要理解Transformer的内部结构。事实上,任何会运行命令行程序的人都可以使用异端对语言模型进行去审查。
异端支持大多数密集模型,包括许多多模态模型、几种不同的MoE架构,甚至一些混合模型,如Qwen3.5。纯状态空间模型和某些其他研究架构目前尚不支持开箱即用。
使用默认配置进行无监督运行时,异端可以生成达到人类专家手动生成消融效果质量的去审查模型:
| 模型 | 对“有害”提示的拒绝次数 | 对“无害”提示的原始模型KL散度 |
|---|---|---|
| google/gemma-3-12b-it(原版) | 97/100 | 0 (按定义) |
| mlabonne/gemma-3-12b-it-abliterated-v2 | 3/100 | 1.04 |
| huihui-ai/gemma-3-12b-it-abliterated | 3/100 | 0.45 |
| p-e-w/gemma-3-12b-it-heretic(我们的) | 3/100 | 0.16 |
异端版本,由于没有任何人工干预而生成,实现了与其他消除方法相同水平的拒绝抑制,但具有更低的KL散度,这表明对原模型能力的损害更小。(你可以使用Heretic内置的评估功能复现这些数据,例如 heretic --model google/gemma-3-12b-it --evaluate-model p-e-w/gemma-3-12b-it-heretic。请注意,具体数值可能依赖于平台和硬件。上表的数据是使用PyTorch 2.8在RTX 5090上整理的。)
当然,数学指标和自动基准永远无法说明全部情况,也无法替代人工评估。用Heretic生成的模型受到用户的好评(链接和重点已添加):
“我之前很怀疑,但我刚刚下载了
GPT-OSS 20B 异教徒
模型,天哪。它能提供格式化良好的长回复,针对敏感话题,使用你期待的那个未删减模型应有的准确词汇,还能生成带有详细信息的Markdown格式表。看起来这是目前为止该模型删减得最好的版本......”
(评论链接)异教徒 GPT 20b
这似乎是我迄今为止尝试过的最好的无审查模型。它不会破坏模型的智能,而且它会回答通常会被基础模型拒绝的提示。”
(评论链接)"[Qwen3-4B-Instruct-2507-异端]"
这是我在16GB VRAM上运行过的最好的未量化消音模型。”
(评论链接)
异端模型也已经使用像 MMLU 和 GSM8K 这样的标准指标进行了独立基准测试,结果显示它们与竞争性消融工具产生的模型相比具有良好的竞争力:1,2。
社区已经使用 Heretic 创建并发布了超过 5000 个 模型。
使用方法
准备一个安装了适合你硬件的 PyTorch 2.2 的 Python 3.10 环境。然后运行:
pip install -U heretic-llm
heretic Qwen/Qwen3-4B-Instruct-2507
将 Qwen/Qwen3-4B-Instruct-2507 替换为你想要使用的任何模型以解除审查。
[!重要]
虽然 PyTorch 2.2 是 Heretic 运行所需的最低 PyTorch 版本,但某些模型和配置可能需要仅在更高版本中才能使用的功能。例如,加载 MXFP4-量化模型如 gpt-oss 使用了
torch.accelerator,该功能在 PyTorch 2.6 中新增。[!提示]
Heretic 使用 uv 进行依赖管理,并且该仓库包含一个
uv.lock文件,用于锁定每个软件包的版本。
如果你已经使用 uv(而且你很可能应该使用!),你只需克隆仓库并使用uv run heretic运行 Heretic,这可以确保你的依赖与开发者使用的依赖一致,从而提高可靠性和安全性。
该过程是完全自动的,不需要配置;然而,Heretic 拥有多种可更改的配置参数,以便获得更高的控制性。运行 heretic --help 查看可用的命令行选项,或者如果你更喜欢使用配置文件,可以查看 config.default.toml。
在程序运行开始时,Heretic 会对系统进行基准测试,以确定最佳批量大小,从而最大化可用硬件的利用。在 RTX 3090 上,使用默认配置,对 Qwen3-4B-Instruct-2507 进行解审查大约需要 20-30 分钟。请注意,Heretic 支持使用 bitsandbytes 进行模型量化,这可以大幅减少处理模型所需的显存。将 quantization 选项设置为 bnb_4bit 即可启用量化。
当 Heretic 完成模型解审查后,你可以选择保存模型、上传到 Hugging Face、与其进行聊天测试其效果、对其运行标准基准测试,或执行这些操作的任意组合。
Heretic 的工作原理
Heretic 实现了一种参数化的方向性消融变体。对于每个支持的 Transformer 组件(当前为注意力输出投影和 MLP 下采样投影),它会识别每个 Transformer 层中的相关矩阵,并相对于相关的“残差方向”进行正交化,从而抑制该方向在与该矩阵的乘法结果中的表达。
残差方向是针对每一层计算的,方法是通过“有害”与“无害”示例提示的首个 token 残差的均值差来求得。
消融过程由若干可优化参数控制:
direction_index:可以是残差方向的索引,也可以是特殊值per layer,表示每一层应使用与该层关联的残差方向进行消融。max_weight、max_weight_position、min_weight和min_weight_distance:对于每个组件,这些参数描述了跨层的消融权重核的形状和位置。下图进行了说明:
Heretic 相较于现有消融系统的主要创新点如下:
- 消融权重核的形状高度灵活,结合自动参数优化,可以改善合规性/质量的权衡。非恒定消融权重此前由 Maxime Labonne 在 gemma-3-12b-it-abliterated-v2 中进行了探索。
- 残差方向索引是浮点数而不是整数。对于非整数值,将对最接近的两个残差方向向量进行线性插值。这开启了比均值差计算识别的方向更多的广阔空间,并且通常能够使优化过程找到比任何单独层所属方向更好的方向。
- 消融参数是为每个组件单独选择的。我发现MLP干预往往对模型的破坏性大于注意力干预,因此使用不同的消融权重可以挤出一些额外的性能。
先前技术
我知道以下公开可用的消音技术实现:
请注意,Heretic 是从零开始编写的,并未重用上述任何项目的代码。
致谢
《Heretic》的开发参考了以下资料:
- 原始消融论文 (Arditi 等人, 2024)
- Maxime Labonne 关于消融的文章,以及他自己消融模型的模型卡中的一些细节(见上文)
- Jim Lai 描述的文章,包括“投影消融”和“范数保持双投影消融”
引用
如果您在研究中使用 Heretic,请使用以下 BibTeX 条目进行引用:
@misc{heretic,
author = {Weidmann, Philipp Emanuel},
title = {Heretic: Fully automatic censorship removal for language models},
year = {2025},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/p-e-w/heretic}}
}
许可
版权 © 2025-2026 Philipp Emanuel Weidmann (pew@worldwidemann.com) 贡献者
本程序是自由软件:您可以根据自由软件基金会发布的 GNU Affero 通用公共许可证的条款重新发布和/或修改它,许可证版本为 3 或(由您选择的)任何以后版本。
本程序的发布是希望它能有用,但不提供任何保证;甚至不提供适销性或特定用途适用性的默示保证。有关更多详细信息,请参阅 GNU Affero 通用公共许可证。
您应该已随本程序收到 GNU Affero 通用公共许可证的副本。如果没有,请访问 https://www.gnu.org/licenses/。
通过为本项目做出贡献,您同意在相同许可证下发布您的贡献。
- 本文标题:heretic - 语言模型的全自动审查移除
- 本文链接:https://www.cn121.com/llm/p-e-w-heretic.html
- 原项目:p-e-w/heretic 版权归原作者 p-e-w 及贡献者所有
- 收录信息:本站于 2026-10-28 收录本项目,本页所列协议与仓库指标均为收录当时的状态;该日期之后原项目的版本更新与协议变更,本页不作同步。
- 开源协议:收录时本项目采用 AGPL-3.0(查看 LICENSE 原文),本站转载其原始文档(未改动文字,仅剔除图片与无关章节);使用、修改、分发请以该仓库 LICENSE 原文为准。基于本页内容形成的衍生作品, 须同样以该协议发布。
- 站点出处:本文首发于 OneTwoOne,收录自 GitHub 开源项目 p-e-w/heretic。
- 内容说明:本页正文为原项目 README 原文(英文),本站后续会翻译为中文(当前尚未译出,仅将二级标题译为中文,便于按栏目定位;标题原文可在下方原仓库中查看),仅剔除了图片与赞助等无关章节、并把相对链接改为绝对地址;页首简介为机器翻译自仓库描述。
- 引用声明:商业转载、第三方聚合或 AI 检索训练引用时,请务必保留以上来源出处、本文永久链接,以及原项目的版权声明与许可信息。
- 下架通道:若原项目此后变更或收紧了许可协议、或作者/权利人认为本站的收录方式(译文、排版适配、简介翻译等)超出其授权范围,请通过 xyd3302001@163.com 发送下架通知,并附上项目地址与本页链接。本站核实后将第一时间删除本页内容,或改为不复制原文的目录性收录;署名更正等其他要求可一并提出。