误差 0.3% 和「这单算没算对」,是两件事
报告上的两个数字
供应商交来一份量化报告,通常有两个数字:
- 「量化后输出误差 0.3%,精度损失可忽略。」
- 「任务成功率 96.4%。」
第一个数字几乎每家都有,几分钟就能跑出来。第二个数字不是每家都给,因为它要跑完整流程:识别、取值、计价、出单,一样不能少。
门店真正在意的是第二个。第一个数字回答的是「新模型像不像旧模型」,不是「这单算没算对」。
为什么大家都爱用「像不像」
因为它便宜。拿一批校准数据跑一遍,比较量化前后的输出差异,不需要标注、不需要真实环境、不需要等业务跑完一天。工程上这几乎是唯一能在提交前跑完的指标。
问题在于它是代理指标。分类任务上它和准确率大致同向,因为类别由整幅图的统计特征决定,输出偏一点不改 argmax。换到输出是连续值、且误差会沿流程累积的任务,两者就分叉了:每一步只偏一点,走完一段路,轨迹完全不同。
后训练量化的常规做法还多一层假设:逐层测敏感度,然后把各层的影响加起来。这等于假设组件之间互不影响。实际上一层被压到几位,会改变另一层量化后的损失。
一个反例:同一套方法,换个模型就失效
arXiv 2026 年 10 月有一篇工作把「任务成败」直接当优化目标,叫 QbD-VLA。做法是用短程任务评估得到的成功率来分配权重与激活的位宽,分配时把组件之间的相互影响算进去。
结果分三段,每一段都值得记住:
- 四个视觉-语言-动作模型、四个任务套件上,权重平均约 4 位、激活不到 6 位,任务表现仍然较强;
- 换到另一个基准 SIMPLER 上,相对均匀量化的增益变得很小;
- 上真机——Franka Research 3 机械臂——仿真里选出的分配方案,在 X-VLA 上没有测到成功率损失,在 π0.5 上直接失败。
第一段说明任务级指标确实能挤出更多空间。第二段说明这个优势依赖任务与评估环境。第三段最扎人:同一套流程、同一台机器,换个模型,结论从「无损」变成「失败」。
把它翻成采购语言:「在我们测过的机型上没问题」这句话,边界就是那些机型。
门店该把指标落到哪里
端到端算一次。 从摄像头看到商品,到小票打出价格,中间每一步都算进去。只看识别那一层的指标,等于只看了最不容易出错的一段。
分品类算。 整体准确率是按数量加权的,长尾品类会被稀释。高单价、称重生鲜、无条码散装,各算各的。
分时段算。 早高峰的光线、客流密度、手部遮挡,跟下午不是一回事。
用自家的单和自家的图。 供应商的测试集是他们挑的。用自己的历史单据抽样回放,才知道这套东西在你店里是什么水平。
什么时候代理指标够用
模型版本没动、只是换了一台硬件,看输出差异是合理的,因为变量只有一个。
精度损失落在随机波动范围内、业务本身有条码兜底、错一单的代价很低,也不值得为任务级评估付成本——那需要能反复跑任务的评估环境,搭起来不便宜。
反过来的情况值得花钱:无条码、称重、散装占比高,错一单就是钱算错;或者输出是连续动作,误差会累积。这两类场景,代理指标和业务结果之间的偏差最大。
一句话
「误差 0.3%」说的是新模型像旧模型,「这单算对了」说的是业务成立。两句话之间隔着一次端到端评估,而这次评估只能在你自己的店里做。