SOAR 周冠军笔记 03|曹议:量化精度稳定性与数据集分析
编者按·深耕与稳进
本周,曹议选手再度卫冕,实现 SOAR 大赛三连冠。当量化优化逐步逼近性能瓶颈,他没有继续盲目冲刺速度,而是转向更底层的精度稳定与工程基建,把重心放在解决精度抖动、优化评测流程与校准数据上。
目前,冠军成绩距离最高悬赏奖的达成度已高达 97%,大奖的解锁已经近在眼前,每一步推进都愈发关键。从前期的混合精度量化,到本周聚焦 精度抖动治理 与本地快速评测工具 搭建,他用一套可复现、轻量的评测方案,把 “靠运气” 的不稳定提交,变成 “可预判” 的可控优化。同时对评测数据集做深度分析,重新设计量化校准策略,为后续冲击更高分数打下扎实基础。
随着赛程推进,半决赛在即,比拼已从单纯的性能压榨,转向精度、稳定性、工程化能力的综合较量。无论你是正在冲刺榜单的选手,还是关注大模型推理量化的开发者,本期关于 精度评测、数据集校准、量化稳定性 的实战经验,都能为你带来务实的思路启发。
作者介绍:曹议(SlightwindSec) 目前在某国产计算平台担任大模型(LLM)推理框架开发与模型性能优化工程师 。拥有两年以上一线工程经验,深耕推理加速 、低比特量化等关键技术领域。:以下是作者分享原文。:SORA 2026 第三周
非常幸运可以三连冠。量化搞到这里感觉到瓶颈了,这周几乎没有往前推进,而是花了一些时间调整校准数据集,并做了一些基础建设工作。
01 精度抖动问题
上周分享过我在使用量化推理时遇到了精度不稳定的情况:同样的代码、同样的配置,不同批次的提交,正确性会有抖动,运气不好就要承受精度惩罚系数。
每天只有 3 次提交机会,提交结果不稳定会浪费提交机会,所以必须解决抖动的问题(或者提升精度),由于一开始我用的最简单的校准数据集,因此校准数据集还存在优化空间。
评测量化效果好坏是一个比较麻烦的事情:
跑生成式任务可以很好的反映真实推理效果,但缺点是时间成本高,如果存在抖动还需要多次跑取平均值,时间成本直接翻倍;
跑 MMLU 可以快速跑完首 token 精度,但是和生成式任务场景存在差距,并且存在翻转现象导致准确率结果不能真正反映量化模型和浮点模型的真实差距[^1],首 token 准确率很可能是”虚假繁荣”:
因此我们可以参考 “Accuracy is Not All You Need” 中的思路,对比输出部分 tokens 的 logits 分布。基于 SGLang 可以获取到 logprobs 的特性,不修改 SGLang 的源码就可以对比 logprobs 的分布差距,很适合在本地提交前快速验证精度,结果也很稳定。
02 基于 Logprob 的快速精度评测
本地精度评测工具的核心思路是对比量化模型和 BF16 基线的 logprobs 分布差异,而不是跑完整的基准测试集。
整个流程分两个阶段:
第一阶段是采集基线,一次运行即可,用 BF16 模型对一批内置 prompt 做 greedy 解码,提取最后 128 个 token 的 top-256 logprobs,按 batch size 1/8/32 分别保存为稀疏基线文件;
第二阶段是测试量化权重精度,拉起服务后发送相同的 prompt,与基线比对并输出三项指标:
KL 散度越低、余弦相似度越高,说明量化模型的输出分布越接近 BF16,精度损耗越小。
几个设计细节值得说明:
Top-256 稀疏表示:sglang 不支持返回完整词表 logprobs,改用 top-256 近似,可以覆盖 >99.9% 的概率质量,剩余概率均匀分配做平滑处理。
零 GPU 占用:基线数据纯用 numpy 保存,加载到 CPU 内存即可,评测时只需向服务发请求,非常轻量,可随时运行。
有个已知局限需要说明:这套工具只能感知 Prefill 阶段的精度误差,对 Decode 阶段的误差传播没有覆盖。
有了这个工具,可以在每次提交前快速验证当前配置的精度状态,把明显异常的方案提前筛掉。
03 评测数据集分析
对比赛官方提供的精度评测数据集做了一些简单分析,数据集共 150 条,5 种任务类型各 30 条:
我们可以参考这个数据配比,并进行一些调整,来构建合适的量化校准数据集。需要注意的是,测试数据集中语义相关性低的数据占比偏高,制作校准数据集时可以适当降低这部分比例,用更多有连续语义的数据替代——过多的随机单词和 UUID 数据可能会对校准过程产生负面影响。
04 使用 NVFP4 量化
我现在用的是 NVFP4 格式对权重进行量化,NVFP4 是随 NVIDIA Blackwell 架构推出的 4-bit 浮点量化格式,比赛评测机是 Blackwell GPU,可以原生硬件加速,这是选择它的主要原因。
格式定义上,NVFP4 采用 E2M1 结构(1 位符号位、2 位指数位、1 位尾数位),可表示的值域大约在 -6 到 6 之间。它的 双层缩放机制 能更准确地捕捉权重局部分布,在同等压缩率下保留更多精度:
每 16 个权重为一个 group,共享一个 FP8(E4M3)缩放系数进行局部校正
整个 Tensor 再叠加一个全局 FP32 缩放系数
05 本周进展
这周的进展主要是:建立了一套本地快速精度评测工具、分析了评测数据集的分布、优化了校准数据集等。
接下来还有更多方向值得探索,期待下周能带来更大的突破。
致谢:感谢 SOAR 2026 组委会不仅提供了优秀的比赛平台,还在赛程中持续提供耐心的答疑解惑与坚实的问题支撑工作;同时也感谢 SGLang 团队的开源贡献。榜单上的每一次交替都让我感受到大家强悍的技术实力。比赛不仅是竞争,更是互相学习的过程。接下来的赛程还长,祝愿所有参赛选手都能不断突破极限,优化出更完美的结果!我也会继续优化,争取创造新的突破。
[^1]: Accuracy is Not All You Need, Abhinav Dutta, Sanjeev Krishnan, Nipun Kwatra, Ramachandran Ramjee
🌟 OpenBMB 社区的小伙伴们:
SOAR 2026 稀疏算子加速大奖赛正火热进行中,每周都有新挑战,实时榜单虚位以待 。如果你想在模型推理加速、算子级优化、量化技术上展示你的技术实力 ,我们诚挚邀请你入场参赛,与曹议及更多优秀的小伙伴同台竞技,共同挑战 MiniCPM-SALA 的推理极限!点击下图或访问大赛官网 https://soar.openbmb.cn/ 了解更多。