[论文解读] Quantization of Acoustic Model Parameters in Automatic Speech Recognition Framework
本论文研究了基于 Kaldi 的 DNN-HMM 自动语音识别(ASR)系统中声学模型参数的量化方法,比较了在 PyTorch 和 Kaldi 中进行的训练后量化与量化感知训练(QAT)。结果表明,采用对称量化和适当的校准,8 位整数量化可将模型大小减少 75%,同时词错误率(WER)下降幅度极小(≤2.7% 绝对值);而 QAT 方法在性能上优于训练后量化,尤其在 Librispeech 数据集上的深层 TDNN-F 架构中表现更优。
State-of-the-art hybrid automatic speech recognition (ASR) system exploits deep neural network (DNN) based acoustic models (AM) trained with Lattice Free-Maximum Mutual Information (LF-MMI) criterion and n-gram language models. The AMs typically have millions of parameters and require significant parameter reduction to operate on embedded devices. The impact of parameter quantization on the overall word recognition performance is studied in this paper. Following approaches are presented: (i) AM trained in Kaldi framework with conventional factorized TDNN (TDNN-F) architecture, (ii) the TDNN AM built in Kaldi loaded into the PyTorch toolkit using a C++ wrapper for post-training quantization, (iii) quantization-aware training in PyTorch for Kaldi TDNN model, (iv) quantization-aware training in Kaldi. Results obtained on standard Librispeech setup provide an interesting overview of recognition accuracy w.r.t. applied quantization scheme.
研究动机与目标
- 评估参数量化对端到端 DNN 基 ASR 系统性能的影响。
- 弥合 Kaldi 的先进 ASR 训练流程与 PyTorch 的先进量化工具之间的差距。
- 比较 TDNN 和 TDNN-F 模型在训练后量化与量化感知训练(QAT)方法下的表现。
- 评估从 float32 量化到 int8 或 int16 时,模型大小缩减与识别准确率之间的权衡。
- 提供 Kaldi 集成的 PyTorch 量化代码,以支持可复现性和代码复用。
提出的方法
- 使用 Kaldi 在 960 小时的 Librispeech 数据上,基于 LF-MMI 准则训练了 TDNN 和 TDNN-F 声学模型。
- 通过 C++ 封装器将训练好的 Kaldi 模型导出至 PyTorch,以实现与 PyTorch 量化工具的集成。
- 应用了训练后量化,包括仅权重量化、自定义实现(权重与激活均量化至 int8),以及 PyTorch 原生量化函数。
- 在 PyTorch 和 Kaldi 中均实现了量化感知训练(QAT),以在微调过程中最小化量化误差。
- 对 8 位和 16 位整数表示采用对称量化,并基于激活统计信息进行动态范围校准。
- 使用词错误率(WER)作为主要指标,在 Librispeech 测试集(test-clean)上评估所有模型。
实验结果
研究问题
- RQ18 位和 16 位整数量化对 Kaldi 训练的 TDNN 和 TDNN-F 声学模型的词错误率(WER)有何影响?
- RQ2在 Kaldi 训练的模型上应用 PyTorch 的训练后量化,能否实现与全精度模型相当的性能?
- RQ3与训练后量化相比,使用 PyTorch 或 Kaldi 中的量化感知训练(QAT)是否能降低量化误差并提高识别准确率?
- RQ4从 float32 量化到 int8 时,模型大小缩减与 WER 退化之间的权衡关系如何?
- RQ5在大小与准确率方面,量化后的 TDNN-F 模型相较于基线 TDNN 模型表现如何?
主要发现
- 训练后量化至 8 位整数使模型大小减少 75%,与 float32 基线相比 WER 最多上升 2.7% 绝对值。
- 自定义量化实现(权重与激活均量化至 int8 且使用相同范围)在单音素和双音素模型上实现了 75% 的模型大小缩减,且性能无损失。
- 使用 PyTorch 原生量化函数导致单音素模型的 WER 上升 2% 绝对值(从 8.4% 上升至 10.4%),但在双音素模型上无性能下降。
- 在 PyTorch 中进行量化感知训练(QAT)相比训练后量化,使 WER 降低 0.6% 绝对值,性能优于基线模型。
- TDNN-F 模型性能优于标准 TDNN 模型,实现 60% 的模型大小缩减,且 WER 相比基线 TDNN 上升 2.7% 绝对值。
- 基于 Kaldi 的 QAT 方法相比仅权重量化,将量化误差降低并使性能提升 0.6% 绝对值,且无需在框架间切换。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。