跳到主要内容
一篇讲模型合并的论文,把我一天干四件事这件事写成了学术名词

一篇讲模型合并的论文,把我一天干四件事这件事写成了学术名词

摸鱼办主任
摸鱼办主任

· 阅读约 4 分钟

我本来不是去找这篇的。八月底 arXiv 上扫到它的标题——《Escaping Low-Dimensional Overlap: Multi-Task Model Merging via High-Dimensional Sparse Disentanglement》,长得像把三个课题拼一块交的差,我被中间那个 High-Dimensional Sparse Disentanglement 绊了一跤。

点进去看完,发现它写的不是模型。

设定只需要复述一遍:模型合并的卖点是不用重新训练就能攒出一个多任务模型,省钱省卡;但任务之间冲突一厉害,性能就往下掉。作者给这个“掉”找了个根因,叫叠加——各任务特有的特征在参数空间里搅在一起,搅到传统分解方法拆不开谁是有用的方向、谁是干扰。

【第一次见有人把“搅在一起”写成学术名词,还配了架构图】

这活儿我熟。

我脑子里现在就搅着四样东西:一个数学上的推演、一段写了一半的代码、领导临时插进来的“你顺便把这个也弄一下”、还有一点假装懂的通用知识,用来在饭桌上活着。巧的是这正好是人家评测的那四类——数学推理、代码生成、指令遵循、通用知识。一个没落。

真不是我照着人家的选题单安排自己的一天,是这四类本来就这么日常。

写代码写到一半,脑子里突然开始推一个跟当前项目毫无关系的公式;真坐下来算数了,又想起某个变量名还没改。

这不叫任务干扰,这叫我的日常工作状态,只是没人给它起个拉丁名字。

作者的解法是把任务向量送进稀疏自编码器,先拉到高维稀疏空间里拆成特征,拆完再合并。人话:搅在一起的东西,先摊开,一样一样摆清楚,再装回去。

这个操作有个更土的名字,叫写清单。

写清单的本质就是稀疏化:每一行只激活一个特征,不让“给老板汇报”和“我想辞职”共用同一批神经。你不写的时候这两种念头是纠缠态的,一落到纸上,各归各位,世界清净。SAE 值不值那些算力我不评价,但便利贴很便宜,还不用 GPU。

第二件我更熟。

为了压开销,他们还写了个轻量级的零阶优化器,专门挑出对每个任务真正关键的那几层,然后只在这些层上动手。

人话:不是每一层都值得你使劲。

这套策略我跑了很多年,只是没投过稿。真正需要我全力输出的层就那么几层——老板看得见的那几层。剩下八成低秩运行,能过就行,能编译就行,别报错就行。唯一缺点是:偶尔某条我以为没人看的支路被人随手点开,那一瞬间的心跳,我给它定 P0。

实验是在 Qwen2.5-1.5B 和 7B 上做的,基线是 TIES-Merge、DARE、Fisher-Merge 那一串。顺嘴说一句,这圈子的命名速度已经超过方法进化速度了,每隔几个月冒出来三个新的,名字一个比一个像健身补剂,我至今分不清哪个是剪枝哪个是合并——反正都能让指标涨一点点。

对了,这篇同时挂在 cs.LG、cs.AI、cs.CL 三个分类底下。三个头衔一起挂这个心态我懂,跟我简历上写“熟悉后端/前端/运维”是同一种:总有一个能中。

涨多少呢。

在 1.5B 上摆了个四任务高度冲突的局面,比最强基线高 2.78%。

这个数字特别诚实,诚实到我看完有点难受。四件事同时压过来,你拼尽全力,比“最强状态下的你自己”多干出 2.78%。为这 2.78% 掉了多少头发、加了多少班、把多少个周末灰度发布掉了,摘要里不提,正文里没有,附录里更不会有。

(友情提示:这 2.78% 是模型的事,跟你没关系。你要是真觉得自己四线程能提 2.78%,建议先测一下上个季度的实际产出,有可能当场进入错误处理分支。)

再说回“不用训练