DAMP这篇8月27号挂arXiv,说自己是"首个"做GDN/KDA类模型循环状态后训练量化的。对"首个"打个问号,不多纠缠——这行的"首个"保质期本来就短。我真正想聊的倒是它选的那个切口:把循环状态张量按通道一级筛选精度,这个角度确实没怎么被人正面碰过。
两年前我写过一句话,说INT4基本是把模型打回原形。那个说法我记得,出处就是当年那批量化实战报告——均匀量化下,INT4把复杂推理任务的精度直接干到近乎归零,INT8/FP8也照样掉。这观察不是新闻,做部署的人用脚投票投了好几年。新的是后面这句:误差能量集中在少量通道上,而且误差大的通道相对衰减强度,居然在不同提示、不同任务间是稳的。
"稳"是整篇论文的字眼,也是我最先盯上的地方。通道级混合精度策略能不能在离线阶段一次校准、然后全任务通用?如果能,这只做一次校准的流程就值钱了。不能的话,每次换个任务分布都得重新探测、重新挑通道,工程成本跟运行时动态探测半斤八两,那这篇论文就别想從实验室搬出去。
DAMP的做法不难懂:离线阶段用误差能量加权衰减强度,把高风险通道挑出来,给它们更高精度的存储;剩下的走INT8。平均数出来是每状态值9.9比特,接近FP32基线。存储减少69.1%,循环状态更新内核最高提速2.01倍,完整模型的首token输出时间最多降10.9%。数字是好数字,公式也不复杂。这圈子里每篇量化论文出来,通稿先把"精度不掉"念一遍,三个月后复现的人再慢慢扒——某个基准上掉了两个点,某个2.01倍延迟是在特定batch size——DAMP大概率也逃不掉这个周期。这不等于方法错,只能说明跑分本来就是个"尽力而为"的动作,换个batch size换个内核实现,2.01倍缩水成1.6倍,太正常了。
但有个细节比复现还耐嚼:状态张量不是算完就丢的临时缓存。它不是KV cache那种跟context走的东西,是循环模型从头到尾一直背着的固定内存支出,模型跑多久它就占多久。所以省下来的每比特,都是在省一整段持续到推理结束的内存带宽。跟那些算一次就释放的量化方案,账法不一样。
有人拿只测了两个模型说事——Qwen靠3.6-35B,再加一个Kimi的新线性模型。六个基准,看起来是像小样本。要我评价,模型数量恰恰不是这篇该扣分的地方。作者在说的是机制判断:循环状态张量里存在少数高杠杆通道,值得单独处理。验证机制成不成立,一两个模型服够用。真要说软肋,是GDN和KDA这两条技术路线行为规律未必一致,DAMP的"稳"字对另一条路能否平移,这个我确实想不通。通稿不会提这一点,得自己翻代码去。
这么说吧:DAMP这套并不是从零跳出来的新玩法。层级的混合精度早就有人做——少数敏感层走FP16,其它层走INT8,存储也省一大截。区别在决策粒度。层级是粗分类,粗,所以容易做,但容易做的代价是精度分配没法对着真正的敏感区下手。DAMP把分选做到通道级,颗粒度更细、更准,控制复杂度也水涨船高。挑得好不好,直接决定省下来的是不是白省。最怕的就是那个"离线挑通道"的步骤不够准,挑错了等于没挑。误差能量加衰减强度,这个判据搭得还算合理,但离线阶段给定的一组通道,真能覆盖线上所有任务分布的敏感区么?我对"离线校准一次,之后所有任务通用"这种句式,本能上是不放心的——论文说通道间的稳定性跨提示稳得住,原理上这条路就通;稳不住,工程上的麻烦原样回流。
估计评论区又要有人喊:这不就是拿量化玩通道级混合精度,老酒换新瓶。顺着往下说,层级和通道级的确沾亲带故,但级别差着量级。层级的做法是把整层划成两组,通道级是给每个状态通道分档——从分类变成分选,操作精细了,性能损耗也小,但控制的复杂度同样上去了。这不是"换汤不换药"能一句话打发掉的转变。
近几个月循环模型明显回暖,推理成本被风口反复点名。RNN类模型跟纯Transformer比,优势是固定内存开销小,走长上下文不吃亏;但这笔固定开销照样卡着推理吞吐——省显存,省带宽,可能就成了落地循环模型最疼的那个点。DAMP选的这个角度,恰好往疼处扎了一针。
留句预测收尾吧,这个flag我认,回头看要是错了也回来认账:DAMP后续出了复现报告或官方更新,数字大概率对不上论文里的那些漂亮值。我最猜的偏差点在"低风险通道全部走INT8"那步,模型真跑出校准集的分布范围,原来当低风险通道的地方未必一直安全。方向我觉得是对的,就看成色能不能自己站住。反正,循环状态混合精度这条路,有人开始认真走了——开源权重模型能省下的推理成本,不是PPT上的百分比。