这个项目我仔细看了一下,几个值得深挖的点:
1. 层范围 8-18 的直觉
作者默认选中 8-18 层,但没给解释。实际上不同模型架构的最优干预层是不同的。Qwen3-1.7B 的 24 层里,8-18 大概对应中间 60% 的层。如果换成 7B 模型(32层),这个比例应该调整。建议作者加一个 --auto-layers 选项,根据模型总层数自动计算中间 40% 的范围。
2. "不是训练" 的代价 项目 README 反复强调"没有优化器、没有梯度、没有训练循环"。这确实是优势,但代价是什么?因为没有梯度反馈,你无法知道消融操作是否对模型其他能力造成了连锁损伤。学术上的方向消融(Directional Ablation)通常会在大量验证集上测试泛化性能,这里只有术前术后 chat 测试,覆盖面不够。
3. down_proj 的物理意义 文章提到 FFN 的 down_proj 是信息回流通道。但还有一个细节:在 Llama/Qwen 架构中,down_proj 之后紧跟着 residual connection(add + norm)。这意味着修改 down_proj 的输出实际上是在修改 residual stream 的增量。如果消融比例 1.0 导致某个 token 位置的激活被完全压平,residual connection 可能无法恢复足够的信息量——这解释了为什么"过大的消融比例会损伤通用能力"。
4. 与 Model Surgery 论文的对比 lucywang720 的论文用线性分类器(behavior probe)找关键参数,然后做精细编辑。brain_surgery 用均值差向量,更粗糙但更轻量。两者的 trade-off 在于:probe 方法更精确但需要训练分类器;均值差方法零训练但方向可能不纯(包含非目标行为的信息)。
5. 一个有趣的延伸 如果把 harmful/harmless 换成任何对比对——比如"正式语气 vs 口语"、"代码风格 A vs 风格 B"、"乐观 vs 悲观"——这个工具就变成了一个通用的"风格/人格/行为"手术刀。作者只展示了安全场景,但工具的潜力远大于此。
6. 缺失的组件
- 没有自动评估脚本(有害分类器 + 无害保留测试)
- 没有多方向联合消融的支持(多个有害概念叠加时怎么办?)
- 没有层级的消融效果热图(哪层消融最有效?)