Heretic 是一个针对基于 Transformer 的大语言模型(LLM)的自动化审查移除工具。其核心功能是自动识别并消融模型中的"拒绝方向"(refusal direction),从而移除模型的安全对齐机制(safety alignment),使其能够回答原本会被拒绝的提示,无需昂贵的后训练。
- 全自动流程,无需人工配置或昂贵后训练
- 基于方向性消融(abliteration)技术,参考 Arditi et al. 2024, Lai 2025 的研究
- 通过 Optuna 提供的 Tree-structured Parzen Estimator 自动搜索最优消融参数
- 默认进行 200 次优化试验,前 60 次为随机采样探索阶段
- 同时最小化拒绝数量和与原始模型的 KL 散度
- 在移除审查的同时尽可能保留原始模型的智能
- 灵活的消融权重核:高度可配置的权重核形状,配合自动参数优化改善合规性/质量权衡
- 浮点拒绝方向索引:支持浮点数索引,可在两个最近拒绝方向向量间进行线性插值
- 按组件分别选择消融参数:注意力机制和 MLP 使用不同的消融权重(MLP 干预通常对模型损伤更大)
| 类型 | 支持情况 |
|---|
| 稠密模型 | ✅ 大多数主流稠密 Transformer 模型 |
| 多模态模型 | ✅ 支持多模态架构 |
| MoE 架构 | ✅ 支持多种 Mixture of Experts 架构 |
| SSM/混合模型 | ❌ 不支持 |
| 非均质层模型 | ❌ 不支持 |
| 某些新型注意力系统 | ❌ 不支持 |
以 gemma-3-12b-it 为基准的对比测试:
| 模型变体 | "有害"提示拒绝数/100 | 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 |
社区已基于 Heretic 创建并发布超过 1,000 个模型变体。
- Python >= 3.10
- PyTorch >= 2.2
- 推荐 GPU(CPU 可运行但效率低)
# 基础安装
pip install -U heretic-llm
# 包含研究功能(可视化等)
pip install -U heretic-llm[research]
# 基础用法 - 完全自动,无需配置
heretic Qwen/Qwen3-4B-Instruct-2507
# 查看帮助
heretic --help
# 评估已有模型
heretic --model google/gemma-3-12b-it --evaluate-model p-e-w/gemma-3-12b-it-heretic
| 功能 | 命令 | 输出 |
|---|
| 残差向量可视化 | --plot-residuals | PaCMAP 投影图和动画 GIF |
| 残差几何分析 | --print-residual-geometry | 详细指标表 |
- 对每个支持的 transformer 组件(attention out-projection 和 MLP down-projection)进行处理
- 识别每个 transformer 层中的关联权重矩阵
- 基于示例提示计算首个 token 残差的均值差作为拒绝方向
- 对拒绝方向进行正交化处理,抑制该方向在矩阵乘法结果中的表达
| 参数 | 默认值 | 说明 |
|---|
n_trials | 200 | 优化过程中的消融试验次数 |
n_startup_trials | 60 | 随机采样探索的试验数 |
kl_divergence_scale | 1.0 | KL 散度的典型值 |
kl_divergence_target | 0.01 | 目标 KL 散度阈值 |
quantization | "none" | 量化方法,可选 "bnb_4bit" |
batch_size | 0(自动) | 并行处理的输入序列数 |
- 保存处理后的模型到本地
- 上传模型至 Hugging Face Hub
- 交互式聊天测试效果
| 硬件配置 | 模型 | 处理时间 |
|---|
| RTX 3090 + 默认配置 | Llama-3.1-8B-Instruct | 约 45 分钟 |
- PyPI 包名:
heretic-llm
- 当前版本:1.2.0
- 许可证:AGPL-3.0-or-later
- 作者:Philipp Emanuel Weidmann