华为机器翻译架构和模型加速
机器翻译简介
- 主流机器翻译模型包含Encoder和Decoder两部分,Encoder将原文序列编码为多维向量,Decoder将向量解码为译文。
- Attention模型记录原文与译文的词对齐关系,提升长句翻译质量。
模型推理问题
- Transformer模型在GPU、CPU、ARM上的典型推理耗时分别为45 ms/token、150 ms/token,端侧推理最具挑战。
- 模型推理面临存储和计算量过大问题,需在质量、速度和大小之间进行权衡。
端侧推理加速策略
-
知识蒸馏
- 通过知识蒸馏将大模型知识迁移到小模型,实现小模型的高质量翻译。
- TinyBERT通过知识蒸馏实现96%的端侧推理加速,小模型参数量更小但质量接近大模型。
-
模型压缩与低精度推理
- 模型压缩和低精度推理可减小模型存储和计算量。
- 量化推理将FP32转换为Int8或4-bit,显著降低模型大小和推理速度。
- 直接4-bit量化影响较大,前期介入量化训练(如Log 4-bit)效果更优。
- Int8推理中矩阵运算(GEMM)是计算量最大的部分,需优化量化和反量化过程。
-
模型结构优化
- 结构优化包括参数共享、多语言模型和Decoder结构改进。
- 多语言模型将多个语种整合到一个模型中,提高资源利用率。
- ShortListDecoder结构专注于减少计算量,通过词对齐优化和候选词筛选提升效率。
- Decoder结构优化包括SRU++、AASRU等,减少计算量并保持翻译质量。
华为机器翻译
- 华为机器翻译结合业务场景和自身优势,不断迭代优化策略。
- 在GPU、CPU、ARM上综合应用知识蒸馏、量化推理、模型结构优化和多语言模型技术。
- 端侧推理加速策略总结:
- 知识蒸馏:√
- 量化推理:√√√
- 模型结构:√√√
- 参数共享:√
- 多语言:√√√
- ShortList:√√
- Decoder结构:√
WMT22 Efficiency Task小结
- 华为机器翻译在WMT22效率任务中取得优异成绩,验证了多策略融合的有效性。
- 通过综合优化模型大小、计算量和翻译质量,实现高效端侧推理。