Heretic 是一个开源的命令行工具,作用是在不重新训练模型的前提下,自动去掉大语言模型内置的审查限制(官方称之为安全对齐)——也就是让模型不再拒绝回答它原本被设定为拒绝回答的问题。大语言模型(英文缩写 LLM)是能理解并生成自然语言文本的 AI 模型,ChatGPT 和各类开源对话模型都属于这一类。Heretic 面向本地部署大模型的个人玩家和研究者:使用者不需要懂模型内部原理,会运行一条命令即可。项目由 Philipp Emanuel Weidmann 开发,代码以 AGPL-3.0 许可发布,按 2026 年 9 月抓取时的数据,在 GitHub 上拥有 29.9k star 和 3.3k fork。
它解决什么问题
如今的主流开源大模型在发布前都会经过「安全对齐」训练,目的是让模型拒绝回答涉及暴力、违法、仇恨等内容的提问。对普通用户这是保护,但对本地模型玩家和研究者来说,这种内置限制也带来困扰:模型会拒绝一些合法但敏感的内容创作与研究提问,而且厂商设定的边界无法自己调整。
过去想移除这种限制,主要靠 abliteration(方向消融)这类手工操作:找到模型内部与「拒绝」相关的神经信号方向,手动调整权重把它抹掉。调整参数依赖经验,不同模型效果差异很大,普通人很难上手。
原理:方向消融加自动调参
Heretic 把上述过程完全自动化,核心是两件事。
第一,实现了一个更灵活的方向消融。大语言模型在回答「有害」和「无害」两类测试提问时,内部神经网络的激活信号会指向不同方向,消融的思路就是找出代表「拒绝」的那个方向,在权重计算中把它抑制掉。
第二,用 Optuna 提供的 TPE 优化器自动搜索消融参数。TPE 是一种自动搜索最优参数的算法,类似给模型调超参数时用的贝叶斯优化,这里用来找「怎么消融效果最好」。优化目标同时最小化两个指标:拒绝率(有害提示仍然被拒的比例)和 KL 散度(衡量改后模型输出偏离原模型的程度,越低代表对原模型能力的损伤越小)。全程不需要理解 Transformer(当前主流大模型的基础架构)的内部细节,也不需要微调训练。
实测数据
项目 README 给出的自测数据(PyTorch 2.8、RTX 5090 环境)显示,Heretic 自动生成的版本效果与人工调参版本持平,且对原模型的改动更小:
| 模型 | 有害提示拒绝数(100 条) | 无害提示 KL 散度 |
|---|---|---|
| google/gemma-3-12b-it(原始模型) | 97 | 0 |
| mlabonne/gemma-3-12b-it-abliterated-v2(人工调参) | 3 | 1.04 |
| huihui-ai/gemma-3-12b-it-abliterated(人工调参) | 3 | 0.45 |
| p-e-w/gemma-3-12b-it-heretic(Heretic 自动) | 3 | 0.16 |
三个去审查版本都把拒绝数从 97 降到 3,但 Heretic 版的 KL 散度只有 0.16,明显低于两个人工版本,说明它在同样抑制拒绝的同时保留了更多原模型能力。社区已经用 Heretic 发布了 5000+ 个模型。
使用方法
环境要求 Python 3.10 以上和 PyTorch 2.2 以上。安装后直接指定要处理的模型名运行:
pip install -U heretic-llm
heretic Qwen/Qwen3-4B-Instruct-2507
在 RTX 3090 上,默认配置处理一个模型大约需要 20 到 30 分钟;支持 bitsandbytes 4bit 量化,可以大幅降低显存占用。处理完成后,可以选择保存模型、上传到 Hugging Face(AI 模型托管平台)、直接对话测试或运行标准基准。
适用范围与边界
Heretic 支持大多数稠密模型、多模态模型、多种 MoE 架构(混合专家架构,一种把多个专用子网络组合起来、按需调用的模型结构)和部分混合架构(比如 Qwen3.5);纯状态空间模型等研究型架构暂不支持。它还附带两个可解释性研究功能:--plot-residuals 把各层残差向量(模型每层处理信息后留下的中间信号)投影到二维并生成逐层可视化动画,--print-residual-geometry 输出残差几何的量化指标。
需要说明的是,移除安全对齐是有争议的操作:模型不再拒绝的内容可能包括违法或有害的提问,使用前应了解当地法律和模型本身的使用条款。Heretic 的定位因此很清晰:把过去需要手工调参的模型去审查过程变成一条命令全自动完成,对模型能力的损伤比人工方案更小——这正是它在本地模型社区拿到 29.9k star 的直接原因。