以BERT为代表的Transformer模型的出现是自然语言处理(NLP)领域近年来最关键的算法创新。目前互联网公司内很多线上服务系统,比如推荐系统、对话系统、翻译系统等,都使用了Transformer模型。但是由于Transformer巨大的计算量和变尺度输入的特性,用现有的解决方案部署线上服务,效果往往不能达到预期。
微信AI近日的一篇论文解决了这个问题。本文基于论文《TurboTransformers: An Efficient GPU Serving System For Transformer Models》,该论文即将发表在ACM 并行编程原理与实践会议 (ACMSIGPLAN Symposium on Principles and Practice of parallel Programming, PPoPP 21') 上。
录取的论文介绍了对目前NLP领域流行的Transformer结构模型的一系列优化方法,包括GPU计算效率、内存管理和服务调度优化,最终使得Transformer线上服务获得超过PyTorch,TensorFlow,onnxruntime,TensorRT等现有方案的业界最佳性能。
文章中介绍的技巧已经应用于模式识别中心2020年4月份对外开源项目TurboTransformer之中,它也是腾讯开源协同的成果之一。下面我们对论文一些细节一睹为快吧。
PPoPP:ACM SIGPLAN Symposium on Principles & Practice of Parallel Programming。
Explanation:ACM-SIGPLAN并行编程原理与实践研讨会。
Publisher:ACM。
SIT:http://dblp.uni-trier.de/db/conf/ppopp/