把模型想成只能使用有限档位的旋钮:如果先在任意位置上调好,最后再拨回允许的档位,细小改进可能随舍入一起消失。GradCodeS要解决的正是这种“训练时有效、压缩后缩水”的问题。它让低比特模型在微调——用专门数据继续训练——时,始终只使用部署设备真正能表示的量化代码。
难点是,权重的普通梯度——告诉参数往哪里调整的信号——不能直接当作代码编号的移动方向,因为不同档位之间的间隔和缩放比例并不相同。作者因此构造了“代码代理梯度”,先用一次反向传播为搜索指路,再在附近抽取多个合法的低比特候选,实际计算各自损失后才决定是否更新。梯度只负责推荐方向,不负责强行落点,所以每次被选中的状态都是可直接部署的低比特模型。
作者称,GradCodeS在算术推理、指令跟随和结构化语言理解任务上,面对 NF4、INT4、MXFP4 等量化格式均带来稳定改进。更值得关注的是它的思路:把“最后再压缩”改成“从一开始就在最终格式里训练”,从机制上缩小微调结果与部署结果之间的落差。