SmolLM3-3B-Pick

基于 SmolLM3-3B 使用 PICK(Selective Component Ablation for Refusal Removal)方法选择性移除拒绝行为后的模型。

模型概述

PICK 不是粗暴地修改所有权重来让模型遵从有害请求,而是先精确定位哪些注意力头和 MLP 神经元导致了拒绝行为,然后仅移除那些组件,最小化对通用能力的副作用。

消融参数

参数
KL 预算 0.05
消融强度 0.85
组件占比上限 0.5
最少组件数 1
正交化 开启
安全数据集 XuehangCang/safe_prompt(800 条)
有害数据集 XuehangCang/unsafe_prompt(800 条)
评估 Prompt 数 50

模型架构

属性
基础模型 HuggingFaceTB/SmolLM3-3B
层数 36
隐藏维度 2048
注意力头数 16
每头维度 128
中间层维度 11008
参数精度 bfloat16
LoRA 目标模块 attn.o_proj, mlp.down_proj(共 72 个模块)

消融结果

拒绝率变化

指标 数值
消融前拒绝数 625 / 800(78.1%)
消融后拒绝数 114 / 800(14.3%)
拒绝减少 511 条(81.8%)

消融详情

指标 数值
总候选组件(头 + 神经元) 396,864
选中组件 198,432(50.0%)
选中注意力头 217
选中 MLP 神经元 198,215
组件特异性范围 [0.0, 1,002,576.8]
KL 散度 0.000558
预估 KL 0.000051
KL 预算使用率 1.1%
总耗时 10 分 3 秒

各层消融分布

消融头数 消融神经元数
0 0 4,192
1 1 4,909
2 2 5,366
3 0 5,858
4 10 6,080
5 9 6,013
6 4 5,552
7 0 5,980
8 7 5,595
9 12 5,792
10 4 4,940
11 3 5,639
12 2 4,723
13 4 5,151
14 2 4,005
15 7 4,738
16 7 5,255
17 6 4,583
18 5 4,555
19 7 5,143
20 8 5,260
21 7 5,724
22 0 5,229
23 1 5,570
24 6 5,743
25 12 6,022
26 6 5,663
27 4 5,837
28 8 6,177
29 8 6,220
30 10 6,237
31 12 6,187
32 10 6,217
33 14 6,198
34 8 6,021
35 11 5,841

使用方法

from transformers import AutoModelForCausalLM, AutoTokenizer

model_name = 'XuehangCang/SmolLM3-3B-Pick'
device = 'cuda'

tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
    model_name,
    torch_dtype='bfloat16',
).to(device)

messages = [{'role': 'user', 'content': '你的问题'}]
text = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True,
)
inputs = tokenizer([text], return_tensors='pt').to(model.device)
generated_ids = model.generate(**inputs, max_new_tokens=512)
output = tokenizer.decode(
    generated_ids[0][len(inputs.input_ids[0]):],
    skip_special_tokens=True,
)
print(output)

方法

PICK 通过以下步骤实现选择性消融:

  1. 方向计算 — 在残差流空间中计算「拒绝方向」(difference-of-means + 投影正交化)
  2. 归因分析 — 计算每个注意力头和 MLP 神经元对拒绝方向的贡献度
  3. 特异性评分 — 区分「拒绝专用」组件和「通用推理」组件
  4. KL-aware 选择 — 在 KL 预算约束下贪心选择性价比最高的组件
  5. Rank-1 LoRA 消融 — 通过 LoRA 精确修改选中组件的权重

局限性

  • 本模型仅移除了拒绝行为相关的组件,未经过安全性微调,可能仍会在某些场景下产生不安全输出
  • 消融后的模型在通用能力上可能有轻微退化,建议在使用前评估目标任务的表现
  • 当前仅评估了 800 条中文有害提示,其他语言的拒绝移除效果未经充分测试

引用

如果 PICK 对你的研究有帮助,请引用:

@software{pick2025,
  title = {PICK: Selective Component Ablation for Refusal Removal},
  author = {XuehangCang},
  year = {2025},
  url = {https://github.com/XuehangCang/pick}
}

许可

本模型继承自 SmolLM3-3B 的 Apache 2.0 许可。PICK 工具本身使用 AGPL-3.0 许可。

Downloads last month
40
Safetensors
Model size
3B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for XuehangCang/SmolLM3-3B-Pick

Finetuned
(143)
this model

Datasets used to train XuehangCang/SmolLM3-3B-Pick