p-e-w/heretic
机器学习自动去除开源大模型拒答行为的工具,适合在本地跑模型的用户和研究者。
如果你已经在本地跑开源权重模型,想用可重复的方式去掉拒答行为,而不是手改一堆 abliteration 脚本,Heretic 值得看一眼。它不是安全过滤器,产出模型仍需要你自己评测,而且方法只针对特定的 transformer 组件类型。
解决什么问题
用户想让自己下载的 instruct 模型回答被对齐层拒绝的提示词。常见做法是找一个 abliteration 脚本,改层选择、挑有害/无害提示词对,再手动反复尝试,直到拒答减少又不把正常回答弄坏。这个循环很琐碎,不同轮次之间也难以比较。Heretic 改变的是中间流程:给出一个 Hugging Face 模型名,它从对比提示词计算残差方向,并围绕拒答与质量目标优化消融参数,最后得到修改后的检查点,而不是让你维护补丁脚本。
有什么不同
Heretic 实现的是带参数的定向消融变体。对 attention out-projection 和 MLP down-projection 矩阵,它用每层「有害」和「无害」提示词首个 token 残差的均值差得到方向,再把权重对这个方向正交化。多个消融参数参与优化,而不是固定值,这是真正的差别:原本费劲的搜索被自动化了。程序启动时还会先跑基准来确定合适的 batch size,因此同一流程可以在不同硬件上重复。README 称过程全自动、无需配置,同时保留配置文件和命令行选项供细调。
代价在概念和操作两层。有害/无害对比集只是拒答行为的代理,并不等于「什么是安全的」的定义。公开讨论里有人查了提示词来源,指出「有害」样本既有真正严重的材料,也有相对温和的黑客、宣传类请求 关于有害行为数据集的评论。把消融调到来突破这些提示词的拒答,并不意味着模型能区分好坏请求。还有评论者贴出某小模型消融后的对话,称其表现「彻底崩坏」评论者举例;这只是单条未验证报告,但正是你需要主动检查的那类回归。
谁值得试
适合:手头有受支持的 GPU、明确要处理某个开源模型、并且愿意评测输出的工程师或研究者。如果你在对比不同 abliteration 技术,Heretic 的参数搜索和自动设置能减少每次尝试的准备成本。不适合:期待开箱即用安全保证的人,或者想拿它处理闭源 API 模型的人。它操作的是能在本地加载的模型权重,不是 API 层面的绕行方案。如果你只是想让模型在某个窄领域更顺,微调通常比全局改掉拒答行为更可预测。
使用条件与边界
需要 Python 3.10+ 和 PyTorch 2.2+,PyTorch 版本要匹配你的硬件。部分模型要求更新版本,比如 MXFP4 量化的 gpt-oss 需要 PyTorch 2.6 才有的 torch.accelerator。README 建议用 uv 和锁定的 uv.lock 来保持依赖一致,这很实际,因为 transformer 内部实现和量化支持对版本漂移很敏感。显存通常是硬约束:你要加载并修改完整模型,而不是跑一个很小的适配器。README 里 RTX 3090 的耗时示例被截断了,不要假定你的模型和显卡有固定运行时长。
方法只针对特定组件类型(attention out-projection 和 MLP down-projection),架构覆盖不是无限的。AGPL-3.0 也值得注意:如果你打算再分发修改后的流程,或围绕它做服务,需要确认许可证义务。最后,目前没有提供的独立基准说明通用能力能保留多少;这只能靠优化目标和你的评测集来回答。
HotRepo 点评
HotRepo 记录的每日榜单历史太少,无法判断热度能否持续:2026-08-30 至 2026-10-28 之间只有 4 个观测日,其中 2026-08-30 为 28,982 星,2026-10-28 为 36,889 星。2025-11-16 的 Hacker News 讨论有 745 分、380 条评论,这只能说明讨论量,不代表共识。真正跑之前,先看清项目的拒答/质量指标是怎么配置的,并核对 项目 README 中列出的消融组件是否覆盖你的目标架构。
本文由 AI 根据项目 README 生成,更新于 2026年10月28日,以项目官方文档为准。