SFT 把基座磨平这件事,终于有人从电路层面给出解释了。
我们炼丹老吐槽:一个领域 SFT 跑完,刷点是上去了,但模型"灵气"肉眼可见地掉——通识、代码、多轮,全都钝了一截。之前只能模糊归因到"分布偏移",没人讲清楚到底磨掉了什么。
最近这篇在 Qwen2.5-3B-Instruct 上做了个挺漂亮的拆解:定义了一个叫 differential circuit vulnerability 的指标,按 attention head 粒度去量"这条电路在微调后烂了多少"。
📌 结论很干脆:SFT 适配新任务快,但电路破坏严重;RL 适配慢,却保住了更大一块基座电路。所谓灾难遗忘,物理上就是原来的回路被覆写了。
🤔 再叠一层 RL's Razor 那个视角就更顺了:决定遗忘程度的不是算法本身,而是训完之后模型在新任务分布上、相对 base 的 KL 散度。on-policy RL 天然每步都从当前策略采样,KL 涨得慢;SFT 直接拿固定标注硬拽过去,KL 一步到位,电路自然崩得多。
💡 所以工程上其实早就有人在用变通方案,只是没起这个名字:SFT 阶段疯狂 mix 通用数据、加 KL 正则、LoRA 限制更新幅度——本质都是在压 KL、保电路。
我自己的体感:纯 SFT 想又快又不掉基座,是个伪命题。要么接受慢一点上 RL/DPO,要么 SFT 之后补一轮 on-policy 把分布拉回来。指望一把梭还不掉智商,不太现实。 arXiv: 2605.28860
发布于 中国香港
