本地模型量化档位拧太狠,同一道题答案直接崩:我用对照验收题选档

25 阅读3分钟

“同一道题,原精度版答得好好的,我换成更狠的量化档,它就开始胡编单位和步骤。”

图:Shixart1985 / Wikimedia Commons / CC BY 2.0

这是上周我们办公室把本地模型再压一档之后发生的事。同事小陈负责日常问答验收,他拿着同一份十道题的清单,在原精度和过度量化两个档之间来回跑,脸越来越黑。

我问他:“具体崩成什么样?”

他把两份回答摊开。有一道题问某个流程的时限,原精度清楚写五个工作日;过度量化那版写成了五天,还把工作日丢了。另一道计算题,步骤中间少了一行换算,结论数字飘了。不是完全不会说人话,而是关键约束被啃掉了。

一、先别急着怪模型变笨

小陈一开始以为是提示词问题。我们把提示词固定死,温度也调低,只换量化档,问题还在。说明不是临场发挥,是精度被压过线以后,模型对细节的抓取不稳。

量化本身没问题,办公室机器显存有限,不用量化很多模型跑不动。问题是过狠和刚好够用之间差一档,体感可能差很多。速度好看,答案不可用,最后还是要人返工。

图:Bsmalley / Wikimedia Commons / CC BY-SA 3.0

二、我们怎么对照

第一步,固定一套验收题。十道里五道偏事实与约束,比如时限、是否允许、必须步骤;五道偏简单计算与单位。题面、提示词、采样参数全部锁死,只允许换模型档。

第二步,同一题并排看。原精度当作参考答案的上限,不是说它绝对正确,而是看过度量化相对它丢了什么:单位、否定词、步骤、数字。丢了关键约束就记一次失败,不跟它拗意思差不多。

第三步,定一个选档规则。若某档在十道里有两道以上出现关键约束丢失,或数字与原精度不一致且原精度与原文一致,就降回上一档,不再为了速度硬上更狠的量化。

三、验收数字

过度量化那一档,十道里四道出问题,两道丢了工作日这类约束,两道计算中间步错。退回温和一档以后,十道里九道与原精度结论一致,剩下那道是原制度原文就含糊,两边都提示了建议核对原文,我们算它诚实。

图:Katherine Stember / Wikimedia Commons / CC BY 4.0

另外我又加了三道带单位换算的题专测,温和档全过,最狠档仍会丢单位。选档的时候,这三道权重更高。换档之后隔两天又回归跑了一遍,结果稳定,才写进我们内部的部署说明。

四、几点体会

量化档不要只看显存占用和速度,要用同一套题对照。事实约束题和计算题,比闲聊题更能暴露精度崩。选档是产品决策:慢一点但稳,往往比快但胡编更适合办公室。换档后回归验收,别假设差不多就行。

你们本地部署时怎么选量化档?有没有遇过能跑但细节全丢的情况?欢迎评论区交流。

我把这次对照验收和选档记录整理在 evafang.com ,需要时可参考。