SH

Soloharness

概念 · 辨析 · Agent

← 返回概念辨析

Concept Contrast Fable

训练后量化和量化感知训练:一个是事后减肥,一个是从小控制体重

模型部署时大家都要量化,但量化的时机决定了精度损失的多少。训练后量化是在模型训练完成后对权重做精度压缩,成本低但可能掉精度;量化感知训练是在训练过程中模拟低精度运算,让模型在训练时就适应量化噪声,精度保持更好但门槛更高。选错了方法,不是多花了 GPU 就是上线后指标不达标。

寓言

裁缝铺里的两种改衣方法

老街裁缝铺接了一批制服订单。客户要求每件成衣的重量控制在标准以内,因为物流按重量计费。铺子里有两套做法。第一套是老裁缝的做法:先用常规面料做好成衣,然后逐件称重,超标的用剪刀裁掉多余的衬里和装饰边,直到达标。速度快,不挑面料,但裁完之后衣服有些地方会轻微变形。

第二套是小师傅从外地学回来的:在裁剪阶段就用较轻的衬里和面料,缝制过程中反复试穿称重,每一步都按目标重量调整针脚密度和衬布厚度。做法费时,前期要多打不少样,但成品出来不用再剪,版型保持完整。

老裁缝的第一批货先交了。客户抽检发现重量全部达标,但有几件衣服的肩部衬里被裁掉太多,穿上后领口不够挺。客户没退货,但在第二批合同里加了一句:“重量合格的同时,版型评分不得低于上一季标准。”这句话把老裁缝的剪刀方案逼到了墙角。

小师傅的第二套方法接了过来。他在打版阶段就把目标重量嵌进了每一道工序——他不等做完才看是否超重,每一针都提前照着最终重量收束。第二批货交付时,重量和版型同时达标,客户把后续订单都转了给他。

有人问小师傅:你前期多花了那么多时间打样试版,是不是只适合量大的单子?小师傅算了一笔账:如果订单量小到不值得重新打版,用老裁缝的事后裁剪确实更划算。但如果客户每次都要版型评分,那重做样品的成本比后期返工低得多。关键看客户要的是“重量达标”还是“重量和版型都达标”。

裁缝铺后来把两套方法写进了接单手册。急单、短单、版型要求不高的订单,可以先做成衣再轻裁;长期客户、反复验收、版型评分写进合同的订单,必须从打版开始就按目标重量设计。师傅们不再争哪把剪刀更高级,只先看订单承担什么后果。

手册末尾还有一句提醒:事后修剪看上去便宜,前提是剪坏一点也能接受;提前控重看上去费事,换来的是交付时少返工。若把只需快交的小单拿去反复打版,工钱会被耗光;若把高要求大单交给剪刀碰运气,迟早会在客户抽检时丢掉整季生意。

训练后量化

在模型训练完成后对权重和激活值进行精度压缩,不需要重新训练或修改训练流程,实现简单但可能引入精度损失。

量化感知训练

在训练过程中模拟量化操作,让模型在训练阶段就适应低精度表示,精度保持更好但需要额外的训练计算资源。

故事对应

  • 做好成衣再裁剪超重部分:PTQ,训练完成后再做精度压缩
  • 裁剪阶段就用轻料反复试版:QAT,训练时模拟量化噪声
  • 老裁缝的肩部衬里被裁过度:PTQ 在不重要的结构上可能掉精度
  • 小师傅前期多花时间但版型完好:QAT 前期投入大但交付质量更稳定
  • 量小用 PTQ、量大要版型用 QAT:场景决定策略选择

落到模型部署方案里

做量化方案前先确认两个条件:模型上线后是否需要长期稳定服务的精度承诺,以及有没有预算跑一轮额外的训练。如果只需要快速验证或跑 demo,PTQ 足够。如果合同里签了精度指标且客户会做定期评测,走 QAT。把这两条写进部署 Checklist 的第一行,可以避免上线之后被精度回退打乱排期。