混合量化是对模型的不同层级采用不同的量化方式。DeepSeek R1/V3的W4A8混合量化:前三层MLP是W8A8 Dynamic量化,MLA&共享专家层是W8A8量化,路由专家层是W4A8 Dynamic量化。其中W4A8 Dynamic量化采用Per-channel和Per-group对权重进行4bit量化,对激活进行8bit量化。
[object Object]
量化后权重目录结构:
[object Object]
- 量化输出包含:权重文件quant_model_weight_w8a8.safetensors和权重描述文件quant_model_description.json。
- 目录中的其余文件为推理时所需的配置文件,不同模型略有差异。
以下展示了量化后权重描述文件quant_model_description.json中的部分内容:
[object Object]
量化后的MatMul权重新增weight_scale、weight_scale_second和scale_bias,用于对MatMul的计算结果进行反量化。
图 1 量化权重推理时流程[object Object][object Object]
此量化方式支持量化float16或bfloat16类型的原始权重。
表 1 float16权重量化后dtype及shape信息(假设原始权重的shape为[n, k])
表 2 bfloat16权重量化后dtype及shape信息(假设原始权重的shape为[n, k])
[object Object]