随着深度学习模型在自然语言处理等领域的广泛应用,模型推理速度和性能成为关键问题。近日,由快手主导的研究成果《SAMP:基于自适应混合精度的训练后量化模型推理库》成功入选该领域顶级会议EMNLP 2023,并于新加坡现场展示和分享。
该研究提出了一种名为SAMP的推理加速工具,通过自适应混合精度技术,在保持模型性能的同时,显著提高推理速度。其中包含自适应混合精度编码器和一系列先进的融合策略。自适应混合精度编码器可以在大量的通用矩阵乘法(GEMM)运算和Transformer层中找到最佳浮点定点混合精度组合方式,使模型推理的性能最贴近用户需求(计算精度或推理效率)。最终,混合精度计算取得了比全定点计算更好的计算精度。融合策略对embedding算子和量化相关计算操作进行融合改进,使得 CUDA 内核调用减少一半。同时,SAMP是由C++编程语言实现的端到端工具包,具有出色的推理速度,也降低了训练后量化推理的工业应用门槛。
表1:SAMP与同类系统相比的创新点
SAMP具有以下几项主要亮点:
1.自适应。SAMP 在训练后量化推理方法中平衡计算精度和延迟性能。用户可以针对不同的任务选择合适精度和推理延迟的混合精度配置。SAMP还可通过自适应分配方法推荐给用户最佳的量化组合模式。
2.推理效率。在较宽的精度范围(浮点到定点)中,SAMP 显示出比其他推理工具包更好的推理加速。在中文语言理解测评基准(CLUE)分类任务数据集中,与FasterTransformer相比,SAMP实现了高达1.05-1.15倍的加速。
3.灵活性。SAMP 涵盖众多下游任务,如分类、序列标记、文本匹配等。 Target 模块是可扩展的并且可以灵活定制。它对用户友好且对平台依赖性较低。 SAMP 支持 C++ 和 Python API,仅需要 CUDA 11.0 或更高版本即可。 另外,SAMP也提供了许多模型转换工具,支持不同格式模型之间相互转换。
图1:该论文在EMNLP2023现场展示和分享
主要研究者来自快手的田荣表示,能在模型推理这样的场景下取得佳绩是整个团队共同努力的结果,SAMP的贡献主要在三个方面,首先是解决了现有后量化(PTQ)推理工具在工业应用中精度损失大的问题;第二是推动了后量化(PTQ)技术在 NLP 多个下游任务中大规模使用;同时,该推理库还有轻量、灵活,对用户友好的特点并支持用户自定义任务目标。
据悉,EMNLP(Empirical Methods in Natural Language Processing)是自然语言处理和人工智能领域的顶级国际会议之一,聚焦于自然语言处理技术在各个应用场景的学术研究,尤其重视自然语言处理的实证研究。该会议曾推动了预训练语言模型、文本挖掘、对话系统、机器翻译等自然语言处理领域的核心创新,在学术和工业界都有巨大的影响力,此次入选也意味着快手在该领域的研究成果获得了国际学者的认可。