论文

少六层:面向 Whisper 的编码器剪枝与无标签恢复

少六层:面向 Whisper 的编码器剪枝与无标签恢复

Whisper 等大型预训练 transformer ASR 模型的剪枝已被广泛采用,因为剪枝解码器能显著加速端到端转写。例如 whisper-large-v3-turbo 将解码器从 32 层减至 4 层,Distill-Whisper 同样把解码器压缩到仅 2 层。尽管也有人尝试缩小编码器规模,但尚无方案被广泛采用,原因可能在于需要自定义推理实现才能利用压缩后的模型。 我们提出一种按 留一层法(leave-one-layer-out)对 词错误率(WER)变化排序编码器层的方法:移除影响最小的六层,占编码器堆叠的 18.5%。剪枝后的模型只是一个层数更少的更浅编码器,无需任何自定义推理代码。 我们进一步使用无标签单语语音数据做蒸馏,以恢复零样本层剪枝带来的性能损失。蒸馏后四种语言的平均 WER 为 20.1%,零样本时为 21.9%,基线为 18.2%。我们公开了全部代码与剪枝模型。

论文精读

TL;DR 依据逐层移除对 WER 的影响排序,剪去 Whisper 编码器中最不关键的 6 层,无需自定义推理代码,再用无标签单语蒸馏恢复性能,四语言平均 WER 优于零样本剪枝。

问题

问题背景

ASR 模型(如 Whisper)在工业部署中追求更低延迟与内存占用,模型压缩是当前热点。此前大量工作聚焦解码器剪枝,如 whisper-large-v3-turbo 将解码器从 32 层减至 4 层,Distill-Whisper 减至 2 层,显著提升端到端推理速度。

现有方法局限

编码器剪枝却很少被采用。主流方案依赖自定义推理实现才能利用压缩模型,导致部署成本高、兼容性差。此外,直接移除编码器层缺乏可靠的层重要性评估,容易破坏声学特征提取能力,引发 词错误率(WER) 大幅上升。零样本剪枝后,仅靠蒸馏有标签数据恢复需要大量标注,限制了实用性。

为什么这个问题难/重要

Whisper 编码器层数多(large-v3 有 32 层),冗余度高但层间相互依赖强,移除任意层都可能影响后续注意力计算。如何在不改变标准推理路径的前提下,识别并剪除对 WER 影响最小的层,是工程落地的关键挑战。业界高度关注资源受限设备(如医疗转录、实时字幕)上的端侧 ASR,剪枝模型无需定制代码即可运行具有极大吸引力。

行业类比

类似在移动端部署 Transformer 模型时,通过整层剪枝降低推理延迟与内存占用,同时保持与标准框架(如 ONNX、Core ML)的兼容性,避免自定义算子带来的维护负担。

核心洞察

  • 本文揭示 Whisper 编码器存在可移除的冗余层,通过留一法测量单层移除对 WER 的影响并排序,移除影响最小的六层(占编码器 18.5%)。与现有工作如 whisper-large-v3-turbo 和 Distill-Whisper 侧重解码器剪枝不同,该方法直接压缩编码器,且剪枝后模型仍是标准浅层 Transformer,无需任何自定义推理代码或算子,部署成本极低。这为端侧 ASR 提供了可行的编码器压缩路径。
  • 利用无标签单语语音数据进行蒸馏,恢复零样本层剪枝带来的性能下降,无需任何人工转写标签。在四种语言上,平均 WER 从剪枝后的 21.9% 恢复到 20.1%,接近原始基线 18.2%。相比依赖标注数据的蒸馏方案,这种标签免费的恢复策略降低了数据准备门槛,尤其适合低资源语言或快速迭代场景,验证了未标注语音中蕴含的足够监督信号。
  • 提出一种直接面向最终指标 WER 的层重要性评估方法,通过逐一移除编码器层并观察 WER 变化来识别冗余,避免使用注意力分布、权重范数等间接代理。该方法简单通用,无需训练即可完成排序,可快速应用于其他大模型的结构化剪枝筛选,为模型压缩提供了一种低成本、高可靠性的决策依据。

方法

输入

  • 预训练模型:whisper-large-v3-turbo(编码器 32 层,解码器 4 层)。
  • 评估数据:多语言 ASR 验证集,用于计算删层后的 WER 变化。
  • 恢复数据:未标注单语语音数据,仅需音频,无需人工转录。

关键模块

  1. 层重要性排序:对编码器每一层执行 leave-one-layer-out 实验——临时移除某一层后,在验证集上计算 WER 的变化。变化越小,说明该层冗余度越高。据此对 32 层编码器按重要性从低到高排序,选出 WER 影响最小的 6 层(占 18.5%)。
  2. 零样本层剪枝:直接删除选中的 6 个编码器层,得到一个更浅的标准 Transformer 编码器(26 层)。模型结构未改变,仅层数减少,因此无需任何自定义推理代码,可直接加载运行。
  3. 标签无关蒸馏恢复:利用未标注单语语音数据,以原始 whisper-large-v3-turbo 的编码器输出或最终预测作为软目标,对剪枝后的模型进行蒸馏。训练目标是最小化剪枝模型与原始模型在中间表示或输出分布上的差异,从而补偿零样本剪枝造成的性能损失。文中提到“进一步利用未标注单语语音数据蒸馏,以恢复零样本层剪枝引起的性能下降”。

输出

  • 剪枝并蒸馏后的 whisper-large-v3-turbo 编码器模型(26 层编码器 + 4 层解码器)。
  • 多语言平均 WER 从零样本剪枝的 21.9% 恢复到 20.1%,基线原始模型为 18.2%。

与同类方法差异:现有压缩工作多聚焦于解码器剪枝(如 Distill-Whisper 将解码器减至 2 层)或需要自定义推理实现;本方法专门针对编码器,通过层重要性排序直接删除冗余层,生成的仍是标准浅层模型,无需特殊推理代码,并创新性地采用无标签语音进行蒸馏恢复,降低了数据标注成本。

实验

实验设计

  • 在 Whisper-large-v3-turbo 的 encoder 上逐层做 leave-one-layer-out 实验,以 WER 变化最小为标准排序,移除 6 层(占 encoder 栈 18.5%)。
  • 剪枝后得到更浅的 encoder,无需自定义推理代码即可部署。
  • 使用无标注单语语音数据进行 label-free 蒸馏 恢复性能,在四种语言上评估,具体数据集名称未披露。

关键发现

  • 零样本剪枝使平均 WER 从基线 18.2% 退化至 21.9%(上升 3.7 个百分点)。
  • 经无标签蒸馏后平均 WER 降至 20.1%,较零样本改善 1.8 个百分点,但仍高于基线 1.9 个百分点。
  • 六层剪枝未导致严重性能坍塌,且 label-free 蒸馏有效缓解退化,说明 encoder 存在冗余且可通过廉价数据恢复。

与基线及同类工作对比

  • 与 decoder 剪枝(如 whisper-large-v3-turbo 将 decoder 从 32 层降至 4 层)相比,encoder 剪枝长期被忽视;本方法直接产出浅层 encoder,工程落地更简单。
  • 与需要 custom inference 实现的压缩方案不同,本方法不依赖特殊算子或定制内核,部署门槛低。
  • 剩余 1.9 个百分点的 WER 差距为后续改进留出空间,例如更优蒸馏策略或更大规模多语言数据。

行业影响

落地场景

该方法面向自动语音识别(ASR)部署场景,尤其适合需要低成本、低延迟推理的应用,如医疗语音转录、视频内容自动字幕、呼叫中心质检、会议实时记录等。通过移除 Whisper 编码器中的 6 个冗余层(约 18.5%),在无自定义推理代码的前提下降低计算开销,可直接运行于标准深度学习推理框架,适用于云端高并发服务或边缘设备端部署。

商业价值

  • 降本:剪枝后模型参数量与 FLOPs 减少,GPU / CPU 推理成本显著下降;蒸馏恢复使用无标签单语语音数据,省去昂贵的标注成本。
  • 体验提升:编码器层数减少带来更低的首字延迟和总推理时间,改善实时交互场景(如语音助手、同传字幕)的用户体验。
  • 部署灵活性:剪枝后的编码器仍是标准 Transformer 结构,无需维护自定义算子或专用推理代码,可无缝接入现有推理服务(如 ONNX Runtime、TensorRT),降低工程集成风险。

与现有产品/工作流接口

剪枝模型可直接替代现有 Whisper 模型的编码器部分,保持 decoder 不变。集成路径如下:

  1. 加载原始 whisper-large-v3-turbo 权重,替换 model.encoder 为剪枝后的编码器。
  2. 使用 Hugging Face Transformers 或 PyTorch 导出为 ONNX / TorchScript,兼容已有推理部署管线。
  3. 对精度敏感的场景,可利用少量无标签领域语音进行蒸馏微调,恢复 WER 损失。

具体 Use Case

  1. 医疗语音病历系统:医生口述病历,利用剪枝后的 Whisper 在院内 GPU 服务器或边缘设备上实时转写,降低硬件成本与响应延迟,同时满足数据隐私合规要求。
  2. 视频平台自动字幕生成:海量短视频或长视频需要生成字幕,采用剪枝后编码器可大幅减少 GPU 小时消耗,提升字幕生成吞吐量,降低单条视频的字幕处理成本。

局限

  • 论文在讨论部分承认,对层选择的敏感性较高:移除哪六个编码器层会显著影响最终 WER,且该结论基于 **whisper-large-v3-turbo** 单一模型和四种语言的有限评估,泛化到其他 Whisper 变体或更多语言时的鲁棒性尚未验证。此外,蒸馏阶段使用单一语言的未标注语音数据,在多语言混合场景下的恢复效果可能不一致,作者也指出多语蒸馏是未来方向。
  • 从方法设计看,留一法评估每一层的 WER 变化需要多次完整前向传播,计算成本较高,不适合大规模层数搜索;同时仅以 WER 作为剪枝准则,可能忽略延迟、内存占用等实际部署指标,而编码器剪枝对端到端推理速度的提升幅度有限,因为编码器计算占比通常低于解码器(尤其长音频场景)。论文未与宽度剪枝或注意力头剪枝等编码器压缩方法进行直接对比。
  • 与解码器剪枝工作(如 **Distill-Whisper** 将解码器减至 2 层)相比,本方法针对编码器,但编码器的冗余度相对较低,剪枝后仍需蒸馏恢复,部署链路更长;且未提供自定义推理代码的优势可能被有限的速度收益抵消,在资源受限设备上的实际可用性需进一步工程验证。
论文Rasmus Aagaard2026-09-23原文

相关内容