量子位@| 腾讯第100个对外开源项目,微信也在用的Transformer加速推理工具
十三发自凹非寺
近年来 , 基于Transformer的模型 , 可以说是在NLP界杀出了一片天地 。
虽然在提高模型模型精度上 , Transformer发挥了不容小觑的作用 , 但与此同时 , 却引入了更大的计算量 。
那么 , 这个计算量有多大呢?
来看下数据 。
文章图片
因此 , 实现一个能充分发挥CPU/GPU硬件计算能力的Transformer推理方法 , 就成了急需解决的问题 。
近日 , 腾讯便开源了一个叫TurboTransformers的工具 , 对Transformer推理过程起到了加速作用 , 让你的推理引擎变得更加强大 。
文章图片
这个工具已经在微信、腾讯云、QQ看点等产品中广泛应用 , 在线上预测场景中可以说是“身经百战” 。
Turbo具有如下三大特性:
优异的CPU/GPU性能表现 。
为NLP推理任务特点量身定制 。
简单的使用方式 。
值得一提的是 , TurboTransformers , 是腾讯通过Github对外开源的第100个项目 。
那么 , 具有如此“纪念意义”的开源工具 , 到底有多厉害?
接下来 , 我们将一一讲解 。
多项性能测试“摘桂冠”
Turbo在CPU/GPU性能上的表现可以说是非常优异 。
在多种CPU和GPU硬件上获得了超过pytorch/tensorflow和目前主流优化引擎的性能表现 。
文章图片
CPU上的测试结果
首先 , 是在CPU硬件平台上 , 测试了TurboTransformers的性能表现 。
选择pytorch、pytorch-jit和onnxruntime-mkldnn和TensorRT实现作为对比 。
性能测试结果为迭代150次的均值 。 为了避免多次测试时 , 上次迭代的数据在cache中缓存的现象 , 每次测试采用随机数据 , 并在计算后刷新的cache数据 。
下图是IntelXeon6133CPU的性能测试结果 。
文章图片
文章图片
GPU上的测试结果
其次 , 是在GPU硬件平台上 , 测试了TurboTransformers的性能表现 。
选择对比的对象分别是:pytorch、NVIDIAFasterTransformers、onnxruntime-gpuTensorRT 。
性能测试结果为迭代150次的均值 。
下图是在NVIDIARTX2060GPU的性能测试结果 。
文章图片
文章图片
接下来 , 是在NVIDIAP40GPU的性能测试结果 。
文章图片
文章图片
最后 , 是在NVIDIAV100GPU的性能测试结果 。
文章图片
文章图片
Turbo技术原理
能够取得如此好的推理性能 , 这背后的计算原理又是什么呢?
TurboTransformers的软件架构如下图 , 它让微信内部众多NLP线上应用能够充分榨取底层硬件的计算能力 , 让算法更好地服务的用户 。
具体来说TurboTransformers可以在算子优化、框架优化和接口部署方式简化三个方面做了工作 。
文章图片
算子层优化
Transformer都包含了什么计算呢?
如下图所示 , 图(a)展示了论文Transformer结构示意图 , 这里称灰色方框内的结构为一个TransformerCell , BERTencoder堆叠了Nx个这样的TransformerCell 。
- 金多多配资QDII基金业绩分化超100个百分点
- 职场小趣闻另两位大学生创始人,如今过得怎样了,当年跟马化腾一起创办腾讯
- 潮黑社腾讯与苹果妥协,却对国内友商一硬到底,现代版的远交近攻
- 量子位AI就能让它动起来!再也不怕3D动画拖更了,只要做出角色3D模型
- 口袋阅腾讯阅文口袋阅评测:130克,原来墨水屏也能打电话听歌玩游戏上网页
- 信息检索站麒麟处理器AI性能有多强?以至于可以拦截腾讯的“越轨”行为
- 财经涂鸦闫敏仍为法人,洪丹毅担任腾讯理财通运营主体公司总经理
- 云计算视界中国公有云服务市场一超多强:阿里云当先 华为腾讯尾随其后
- 米粉防务量子通信中国先突破,美国却要率先应用?美军潜艇或首先装备
- 锋潮评测室用上这个软件,你就可以卸载360和腾讯电脑管家了