自动语音识别技术研报总结
1. 引言
自动语音识别(ASR)技术旨在将音频转换为文本,其核心是生成给定音频的最佳文本输出。传统方法采用声学模型、语言模型和发音词典,而端到端(E2E)方法则使用单一模型,并可选择性地结合语言模型。
2. ASR 发展简史
ASR 技术经历了从传统方法到端到端方法的演变。传统方法依赖于手工制作的发音词典和复杂的模型组合,而端到端方法简化了架构,提高了灵活性。
3. ASR 当前问题
当前 ASR 技术在处理实时会议、在线聊天等场景时面临以下挑战:
- 语音内容多为自发性发言,而公开数据多为朗读式音频
- 开放集识别和大型词汇量处理
- 噪音干扰,尤其是背景音乐
- 口音独立性
- 代码转换(Code-switch)
- 远场和近场语音的自由切换
4. 端到端自动语音识别
标准 E2E ASR 架构主要包括 CTC 和编码器-注意力-解码器两种方法,并可结合为 CTC-ATT 架构。训练过程中,损失函数结合 CTC 和注意力损失,推理阶段采用联合解码或重新评分。
5. 模型创新
- 模型改进:从 ATT 模型升级到 Transformer 模型,将 LSTM 替换为 Transformer 结构。
- Chunked Multi-Head Attention (C-MHA):由于 ASR 不存在像神经机器翻译(NMT)那样的重排序问题,因此在 Speech-Transformer 中采用 C-MHA 替代传统的多头注意力机制。
6. 训练管道创新
- 弱蒸馏:从传统模型和未标记数据中提取信息,蒸馏到 E2E ASR 模型中,以解决开放集识别问题。
- 序列级蒸馏:通过教师模型预测未标记数据,并生成伪标签进行训练。
- 迭代伪标签(IPL):通过迭代选择数据、构建教师模型、预测数据、过滤数据和训练学生模型,实现半监督学习。
7. 大规模数据模型训练加速
- 分布式模型训练:在 Kubernetes 集群中通过 DDP(分布式数据并行)进行大规模数据模型训练。
- 技术组件:包括 DL 训练优化(如梯度压缩、PowerSGD)、机器学习框架(PyTorch、TensorFlow)、Kubernetes 优化(SRIOV、虚拟函数)、OS 优化(RDMA、RoCE)、服务器硬件(GPU、智能网卡)和网络优化(PFC、ETS)。
- 并行性:ASR 模型通常基于 LSTM/Transformer,参数量在 20M 到 200M 之间,数据量从 10 小时到 100,000 小时不等,因此采用数据并行(DPP)进行分布式训练。
- DDP 加速:通过混合精度训练(FP16)减少内存占用和带宽消耗,加速数学密集型操作。
- 智能网卡 + RDMA + RoCE:智能网卡提供硬件级加速,RDMA 和 RoCE 实现低延迟、高吞吐量的网络通信。
- RDMA/RoCE 测试结果:多节点 2GPU 训练速度提升约 5 倍。
- 梯度压缩 DDP:通过 16 位梯度传输(grad_fp16)实现 2 倍压缩,而 PowerSGD 可实现高达 1000 倍压缩,但会牺牲部分精度和计算时间。
8. 总结与下一步
- 总结:提出了半监督 ASR 软件架构,采用 DDP、GPUDirect 加速、混合精度训练和 GPUDirect RDMA。
- 下一步:模型方面进行调优和半监督 ASR 升级,以及波束搜索加速;训练方面提高通信效率(1-bit Adam 优化器)、模型分布式训练(ZeRO 优化器)和数据 IO 效率(动态缓存、内存加载)。