在工业界,大模型的落地是一场“既要智商,又要速度”的博弈。本手册详细拆解了实现这一目标的三个核心技术路径。
一、 量化 (Quantization):数字位宽的降维打击
量化是改变参数的存储格式与运算类型,其本质是将连续的浮点映射到离散的整数格点。
1. 数学底层:线性量化公式
- (Real): 原始 FP16 值。
- (Scale): 缩放因子(步长),决定格点密度。
- (Zero-point): 零点偏移,确保浮点 0 对应整数格点。
2. 参数 与 的获取(校准 Calibration)
- 策略:输入少量真实数据(校准集),观察每一层数值的分布范围 。
- 计算:。
- 优化策略:
- Min-Max:取绝对边界。
- KL 散度:寻找信息丢失最小的截断点,忽略干扰精度的大离群值(Outliers)。
3. 推理真相:整数域战斗
- 带宽红利:4-bit 参数搬运速度比 16-bit 快 4 倍。
- 算力红利:硬件直接执行 整数运算。反量化(还原回浮点)仅发生在每一层计算结束的收尾阶段。
二、 知识蒸馏 (Distillation):名师出高徒的传承
蒸馏是改变模型的架构规模。通过大模型(Teacher)引导小模型(Student)学习,实现“智力压缩”。
1. 路径 A:基于 Logit 的传统蒸馏(“神交”)
- 原理:学生模仿老师输出的概率分布(Soft Label)。
- 核心:利用 KL 散度 计算 Loss。学生学习老师对不同选项的“偏好”和“犹豫”,获取老师的决策边界。
2. 路径 B:基于 CoT 的逻辑蒸馏(“手抄”)
- 原理:让大模型生成详细的思维链 (Chain of Thought) 文本。
- 核心:小模型通过 SFT(监督微调) 直接背诵老师的推理步骤。
- 现状:DeepSeek 系列的核心成功学,实现了跨量级的逻辑迁移(如 70B -> 7B)。
三、 模型剪枝 (Pruning):针对冗余的外科手术
剪枝是改变模型的连接密度。剔除模型中贡献度极低的权重,消除参数冗余。
1. 非结构化剪枝 (Unstructured Pruning)
- 动作:随机剪掉散落在矩阵各处的单个权重。
- 特点:精度保留好,但由于产生不规则稀疏矩阵,普通 GPU 难以实现真实的推理加速。
2. 结构化剪枝 (Structured Pruning)
- 动作:物理切除。直接删除一整个神经元、通道或网络层。
- 特点:矩阵规模真实缩小,推理速度立竿见影提升,但通常需要后续微调(Fine-tuning)来修复受损的精度。
四、 核心技术对比与实战组合拳
| 维度 | PTQ 量化 | 知识蒸馏 | 模型剪枝 |
|---|---|---|---|
| 操作对象 | 参数位宽 (Bit-width) | 模型架构 (Architecture) | 权重连接 (Sparsity) |
| 参数数量 | 保持不变 | 显著减少 | 显著减少 |
| 主要收益 | 显存占用、推理吞吐量 | 逻辑能力、推理速度 | 存储空间、计算延迟 |
| 实施成本 | 极低(分钟级) | 高(需要完整训练) | 中(需要评估权重价值) |
🛠️ 工业级优化顺序建议
- 蒸馏:先用大模型带出一个逻辑强大的小尺寸模型。
- 剪枝:如果小模型仍有冗余,进行结构化剪枝瘦身。
- 量化:最后将模型进行 4-bit 量化,实现显存与速度的终极优化。
总结:量化省钱(显存),蒸馏保智(逻辑),剪枝提速(结构)。