给负责猜词的小模型删掉记忆,它反而猜得更准了。
上交一个团队的新论文 DLite,讲的就是这件事。
先说背景。
现在大模型推理加速有个主流做法,叫投机解码:
先让一个小模型快速猜几个词,再让大模型一次性检查,猜对的直接收下。
猜对的越多,跑得越快。
问题出在 Agent 上。
Agent 干活时,上下文又长又一直在变,还要来回很多轮。
这个团队测了一下,现有的小模型到了这种场景,一次能猜对的长度最多会掉 80%。
小模型还得自己维护一份历史缓存,这又是一笔系统开销。
两个问题,根子是同一个:历史越来越长。
他们的做法挺干脆的。
小模型干脆不存历史。
反正大模型已经把前面全读过了,就直接拿它内部的状态来用,小模型只看眼前这一小段,猜接下来几个词。
一个越来越难的长程建模问题,就这样被换成了一个局部的简单预测问题。
另外加了一个很轻的小模块,把这几个词之间的先后关系补回来。
结果是一次能猜对 2 到 6 个词,最多比之前最强的方法 DSpark 高出 70%。
我觉得这玩意值得看的地方主要是方向。
Agent 越来越能干,任务越跑越长,速度和成本会是很实在的卡点。
大家的第一反应通常是塞更多上下文、给更大的记忆。
这篇反着来:既然已经有人记住了,另一个就别再背一遍。
当然,这些都是论文里的数字,实际能快多少还要看具体模型和场景。
代码和权重都放出来了,感兴趣可以自己跑跑。
我打算把这招用到开会上:前面两小时不听,只看老板最后一句话时的表情,猜他到底要什么。
要是猜错了,大概就轮到我被大模型拒收了。
显示更多