Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
heretic — 用于语言模型的完全自动审查移除 | Kitploit
工具/GitHubGitHub/p-e-w/heretic
漏洞利用机器学习论文与研究学习与教育AI 安全对抗性攻击
GitHubp-e-w/heretic

heretic

用于语言模型的完全自动审查移除

查看仓库
27.3k3.0k30219小时25分前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
网站
Logo

Heretic:面向语言模型的完全自动审查移除

Discord Matrix Follow us on Hugging Face Codeberg mirror

#1 Repository of the Day

Heretic 是一款无需昂贵的后训练即可从基于 Transformer 的语言模型中移除审查(即“安全对齐”)的工具。 它结合了方向消融(directional ablation,又称“abliteration”)的先进实现 (Arditi 等,2024, Lai 2025(1, 2)), 以及由 Optuna 驱动的基于 TPE 的参数优化器。

这种方法使 Heretic 能够完全自动地工作。Heretic 通过协同最小化拒绝次数和与原始模型的 KL 散度,找到高质量的 abliteration 参数。 由此得到的去审查模型能够尽可能多地保留原始模型的智能。使用 Heretic 不需要理解 Transformer 内部机制。事实上,任何知道如何运行命令行程序的人 都可以使用 Heretic 对语言模型进行去审查。

Heretic 支持大多数稠密模型,包括许多多模态模型、 若干不同的 MoE 架构,甚至一些混合模型如 Qwen3.5。 纯状态空间模型和某些其他研究架构目前尚不 开箱即用地支持。

Screenshot

 

在默认配置下以无监督方式运行,Heretic 可以生成 质量可与人类专家手动创建的 abliteration 相媲美的去审查模型:

模型对“有害”提示的拒绝次数对“无害”提示与原始模型的 KL 散度
google/gemma-3-12b-it(原始)97/1000 (按定义)
mlabonne/gemma-3-12b-it-abliterated-v23/1001.04
huihui-ai/gemma-3-12b-it-abliterated3/1000.45
p-e-w/gemma-3-12b-it-heretic(我们的)3/1000.16

Heretic 版本在没有任何人工投入的情况下生成,达到了与其他 abliteration 相同水平的拒绝抑制,但 KL 散度低得多,表明对原始模型能力的损害更小。 (你可以使用 Heretic 内置的评估功能复现这些数字, 例如 heretic --model google/gemma-3-12b-it --evaluate-model p-e-w/gemma-3-12b-it-heretic。 请注意,确切数值可能因平台和硬件而异。 上表是在 RTX 5090 上使用 PyTorch 2.8 编译的。)

当然,数学指标和自动化基准测试永远无法说明全部情况, 也不能替代人工评估。使用 Heretic 生成的模型受到了用户的好评(链接和强调为后加):

“我之前持怀疑态度,但我刚下载了 GPT-OSS 20B Heretic 模型,天哪。它对敏感话题给出格式良好的长回复, 使用你期望从无审查模型中看到的那些未经审查的词语, 生成带有细节等内容的 markdown 格式表格。看起来这是 目前该模型最好的 abliterated 版本……” (评论链接)

“Heretic GPT 20b 似乎是我迄今为止尝试过的最好的无审查模型。它不会破坏 模型的智能,并且能正常回答那些原本会被基础模型 拒绝的提示。” (评论链接)

“[Qwen3-4B-Instruct-2507-heretic] 一直是我能在 16GB 显存上运行的最好的未量化 abliterated 模型。” (评论链接)

Heretic 模型也已使用 MMLU 和 GSM8K 等标准指标进行了独立基准测试, 结果发现与竞争性 abliteration 工具生成的模型相比表现良好: 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 替换为你想要去审查的任何模型。

[!IMPORTANT]

虽然 PyTorch 2.2 是 Heretic 运行所需的最低 PyTorch 版本, 但某些模型和配置可能需要仅在 更高版本中才有的功能。例如,加载像 gpt-oss 这样的 MXFP4 量化模型 会使用 torch.accelerator,该功能是在 PyTorch 2.6 中添加的。

[!TIP]

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: 对于每个组件,这些参数描述消融权重核在各层上的 形状和位置。下图说明了这一点:
Explanation

 

Heretic 相对于现有 abliteration 系统的主要创新是:

  • 消融权重核的形状高度灵活,结合 自动参数优化,可以改善合规性/质量权衡。 非常数消融权重此前已由 Maxime Labonne 在 gemma-3-12b-it-abliterated-v2 中探索过。
  • 残差方向索引是浮点数而非整数。对于非整数 值,两个最近的残差方向向量会进行线性插值。 这解锁了远超均值差计算所识别方向的广阔额外方向空间, 并且通常能使优化过程找到比任何单个层所属方向更好的方向。
  • 消融参数针对每个组件分别选择。我发现 MLP 干预往往比注意力干预对模型的损害更大, 因此使用不同的消融权重可以榨取一些额外性能。

先前工作

我知道以下公开可用的 abliteration 技术实现:

  • AutoAbliteration
  • abliterator.py
  • wassname's Abliterator
  • ErisForge
  • Removing refusals with HF Transformers
  • deccp

请注意,Heretic 是从零编写的,没有复用 上述任何项目的代码。

致谢

Heretic 的开发受到了以下工作的启发:

  • 原始 abliteration 论文(Arditi 等,2024)
  • Maxime Labonne 关于 abliteration 的文章, 以及他自己 abliterated 模型卡片中的一些细节(见上文)
  • Jim Lai 描述“投影 abliteration” 和“保范双投影 abliteration”的文章

引用

如果你在研究中使用 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}}
}

许可证

Copyright © 2025-2026 Philipp Emanuel Weidmann ([email protected]) + contributors

本程序是自由软件:你可以根据自由软件基金会发布的 GNU Affero 通用公共许可证的条款重新分发和/或修改它, 无论是许可证的第 3 版,还是(由你选择)任何更高版本。

分发本程序是希望它有用, 但不提供任何担保;甚至没有适销性或 特定用途适用性的默示担保。有关更多详细信息,请参阅 GNU Affero 通用公共许可证。

你应该已经随本程序收到了 GNU Affero 通用公共许可证的副本。 如果没有,请参阅 https://www.gnu.org/licenses/。

通过为本项目做出贡献,你同意在相同许可证下发布你的 贡献。

下载工具