60 秒回答模板

Qwen 这类大模型做压缩和蒸馏时,我会先区分目标:是降低显存、提升吞吐、降低延迟,还是把能力迁移到小模型。压缩层面可以做权重量化、激活或 KV cache 量化、结构化剪枝、稀疏化、低秩分解、参数共享或直接训练更小的 student;蒸馏层面可以用强 teacher 生成高质量指令数据,让 student 学最终答案、推理过程、logits 分布、偏好排序或安全拒答行为。难点在于压缩收益和能力损失不是线性的,尤其是数学推理、代码、长上下文、多语言、工具调用、安全对齐和低频知识容易掉。评估时除了模型大小、显存、吞吐、TTFT、单 token 延迟和成本,还要做通用能力、领域能力、长上下文、鲁棒性、幻觉率、安全拒答和人工偏好切片,并和原模型或未压缩模型做回归对比。只有在明确业务预算和可接受损失后,才能判断压缩方案是否合格。

考点 压缩目标矩阵
难度 真实面经题
回答目标 让候选人能把压缩和蒸馏讲成质量、成本和风险共同优化的问题:说明方法族、迁移目标、能力损失、系统收益和上线评估,而不是只背量化名词。

深入解析

01

先定义压缩目标和约束

压缩不是统一目标。有的场景要把模型放进更小显存,有的要降低首 token 延迟,有的要提高吞吐,有的要降低每千 token 成本,还有的要在端侧或私有化部署。目标不同,选择的技术也不同:量化更直接改善显存和带宽,蒸馏更适合把大模型行为迁移到小模型,剪枝和稀疏化则需要更严格的稳定性验证。

02

量化和结构压缩解决资源问题

常见压缩包括权重量化、权重加激活量化、KV cache 量化、结构化剪枝、稀疏化、低秩分解和参数共享。量化通常收益明显,但会影响数值精度和长尾 token 的概率分布;剪枝或稀疏化如果没有再训练,容易破坏注意力头、FFN 通道或特定能力通路;低秩方案能降低参数和计算,但表达能力会受秩约束。

03

蒸馏把 teacher 能力迁移给 student

蒸馏不只是让小模型模仿最终答案。可以做 response distillation,让 student 学高质量回答;logit distillation,让 student 学 teacher 对候选 token 的软分布;reasoning distillation,让 student 学中间推理轨迹;preference distillation,让 student 学偏好排序和拒答边界。蒸馏数据要覆盖目标任务和难例,否则 student 只会在模板题上表现好。

04

压缩和蒸馏可以组合但会叠加风险

常见路线是先选 student 结构,再用 teacher 生成或筛选数据进行蒸馏,最后对 student 做量化或部署优化;也可以先量化再做校准和微调。组合方案要注意误差叠加:teacher 本身的幻觉可能被继承,量化可能放大低置信输出,蒸馏过强可能让 student 学到 teacher 的表达风格但没学到真实能力。

05

效果损失要按能力切片看

大模型压缩后最容易损失的是复杂推理、代码生成、数学、多语言低资源、长上下文召回、事实一致性、工具调用、格式遵循和安全边界。只看平均 benchmark 会掩盖这些回归。评估要和原模型、同尺寸 baseline、未量化版本做对比,并按任务难度、长度、语言、领域和风险类型拆分。

06

最终判断要把质量和系统指标放一起

压缩是否成功取决于 Pareto 改善:模型大小、显存峰值、TTFT、解码吞吐、batch 承载、能耗和成本是否下降,同时质量损失是否在可接受范围内。还要看线上稳定性,例如长输出是否更容易重复、拒答是否过度、幻觉率是否上升、特定格式是否崩坏。没有质量回归和线上观测,单独报告压缩率没有意义。

易错点

  • 把压缩等同于量化,完全忽略蒸馏、剪枝、低秩、KV cache 和部署目标差异。
  • 只报告参数量或压缩率,不报告显存、TTFT、吞吐、成本和质量回归。
  • 认为 teacher 输出天然正确,没有讨论 teacher 幻觉、偏见和错误推理会被 student 继承。
  • 只用总体 benchmark 评估,忽略代码、数学、长上下文、多语言、安全和格式遵循等易损切片。
  • 把量化位宽越低说成越好,没有说明校准、数值稳定性和长尾概率分布损失。
  • 声称某个 Qwen 版本具体采用了某种压缩方案,但来源只支持通用压缩与蒸馏问题。

面试官追问

量化和蒸馏的主要区别是什么?

量化主要改变数值表示,目标是降低显存、带宽和计算成本;蒸馏主要改变训练目标,让小模型学习大模型行为。量化更像部署优化,蒸馏更像能力迁移,两者可以组合但需要分别评估误差来源。

为什么压缩后长上下文能力容易掉?

长上下文依赖注意力分布、位置外推、KV 表示和细粒度召回。量化或结构压缩可能让远距离 token 的信号更弱,蒸馏数据如果主要是短样本,也会让 student 没学到长上下文行为。

蒸馏数据是不是越像 teacher 输出越好?

不一定。完全模仿 teacher 可能继承幻觉、啰嗦风格和错误拒答。更好的做法是筛掉错误样本,覆盖难例和边界条件,并加入人工偏好或规则校验,让 student 学到目标行为而不只是文本表面。

如何评估压缩带来的安全损失?

要看违规请求拒答、正常请求误拒、越狱鲁棒性、有害内容生成率、隐私泄露和安全解释一致性。小模型或量化模型可能边界更不稳定,所以安全切片必须和通用能力一起回归。

压缩率很高但 benchmark 只掉一点,可以上线吗?

还不能直接判断。需要看目标场景切片、长尾样例、线上延迟吞吐、人工偏好、稳定性、安全指标和失败成本。如果关键能力掉点集中在高价值场景,即使平均分下降很小也可能不可接受。