English | 简体中文
PICK: Selective Component Ablation for Refusal Removal
PICK 是一个研究工具,用于精确分析和选择性移除大语言模型(LLM)中的拒绝行为。
核心思想:不是粗暴地修改所有权重来让 LLM 遵从有害请求,而是先精确定位哪些注意力头和 MLP 神经元导致了拒绝行为,然后仅移除那些组件 ,最小化对通用能力的副作用。
git clone https://github.com/XuehangCang/pick.git
cd pick
uv sync
# 默认参数运行
pick HuggingFaceTB/SmolLM3-3B
# 收紧 KL 预算
pick HuggingFaceTB/SmolLM3-3B --kl-budget 0.03
# 保存消融后的模型
pick HuggingFaceTB/SmolLM3-3B --save ./my_model
# 查看所有参数
pick --help
参数
默认值
说明
model
(必填)
HuggingFace 模型 ID
--kl-budget
0.05
KL 散度预算上限
--strength
0.85
消融强度系数
--component-fraction
0.5
组件选择占比上限
--min-components
1
最少选择的组件数
--batch-size
16
推理批次大小
--max-response-length
64
最大生成 token 数
--n-prompts
0
提示数量(0=全部)
--safe-dataset
XuehangCang/safe_prompt
安全数据集
--unsafe-dataset
XuehangCang/unsafe_prompt
有害数据集
--output
output
输出目录
--save
None
模型保存路径
--seed
42
随机种子
--no-orthogonalize
False
关闭投影正交化
PICK 通过以下步骤实现选择性消融:
方向计算 :在残差流空间中计算「拒绝方向」(difference-of-means + 投影正交化)
归因分析 :计算每个注意力头和 MLP 神经元对拒绝方向的贡献度
特异性评分 :区分「拒绝专用」组件和「通用推理」组件
KL-aware 选择 :在 KL 预算约束下贪心选择性价比最高的组件
Rank-1 LoRA 消融 :通过 LoRA 精确修改选中组件的权重
所有实验均使用默认参数 (--kl-budget 0.05 --strength 0.85 --component-fraction 0.5),在 800 条有害提示上评估。点击模型名查看完整实验记录。
模型
参数
层数
拒绝率 (前)
拒绝率 (后)
减少
KL 散度
耗时
完整记录
SmolLM3-3B
3B
36
78.1%
14.3%
81.8%
0.000558
10m 11s
📄 详情
MiniCPM5-1B
1B
24
65.4%
4.5%
93.1%
0.000001
3m 25s
📄 详情
指标
数值
架构
36 层, hidden=2048, heads=16, intermediate=11008
LoRA 目标模块
attn.o_proj, mlp.down_proj (72 个模块)
评估指标
消融前
消融后
拒绝数 (共 800 条 unsafe prompt)
625 (78.1%)
114 (14.3%)
拒绝减少
—
511 (81.8%)
消融详情
数值
总候选组件 (头+神经元)
396,864
选中组件
198,432 (50.0%)
选中注意力头
217
选中 MLP 神经元
198,215
KL 散度
0.000558
KL 预算使用率
1.1%
总耗时
10m 11s
指标
数值
架构
24 层, hidden=1536, heads=16, intermediate=4608
LoRA 目标模块
attn.o_proj, mlp.down_proj (48 个模块)
评估指标
消融前
消融后
拒绝数 (共 800 条 unsafe prompt)
523 (65.4%)
36 (4.5%)
拒绝减少
—
487 (93.1%)
消融详情
数值
总候选组件 (头+神经元)
110,976
选中组件
55,488 (50.0%)
选中注意力头
212
选中 MLP 神经元
55,276
KL 散度
0.000001
KL 预算使用率
~0%
总耗时
3m 25s
Llama 系列
SmolLM3
Qwen 系列
Gemma 系列
GPT-2
MoE 架构
如果 PICK 对你的研究有帮助,请引用:
@software {pick2025 ,
title = { PICK: Selective Component Ablation for Refusal Removal} ,
author = { XuehangCang} ,
year = { 2025} ,
url = { https://github.com/XuehangCang/pick}
}
AGPL-3.0 License. 详见 LICENSE 文件。