PyTorch&TensorFlow跑分对决:哪个平台运行NLP模型推理更快

作者: 晓查 2019-10-21 13:40:20

关于PyTorch和TensorFlow谁更好的争论,从来就没有停止过。

开源社区的支持度、上手的难易度都是重要的参考。还有人说:学术界用PyTorch,工业界用TensorFlow。

PyTorch&TensorFlow跑分对决:哪个平台运行NLP模型推理更快

然而还有一项不可忽略的因素,就是二者的实际性能。

没关系,不服跑个分?!

最近,一位来自“Huggingface”的工程师,使用了NLP中的Transformer模型,分别在两大平台上测试了一组推理速度。

虽然Huggingface只是一家创业公司,但是在NLP领域有着不小的声誉,他们在GitHub上开源的项目,只需一个API就能调用27个NLP模型广受好评,已经收获1.5万星。

PyTorch和TensorFlow究竟哪个更快?下面用详细评测的数据告诉你。

运行环境

作者在PyTorch 1.3.0、TenserFlow2.0上分别对CPU和GPU的推理性能进行了测试。

两种不同的环境中具体硬件配置如下:

  1. CPU推理:使用谷歌云平台上的n1-standard-32硬件,即32个vCPU、120GB内存,CPU型号为2.3GHz的英特尔至强处理器。
  2. GPU推理:使用谷歌云平台上的定制化硬件,包含12个vCPU、40GB内存和单个V100 GPU(16GB显存)。

PyTorch&TensorFlow跑分对决:哪个平台运行NLP模型推理更快

在测试过程中使用本地Python模块的timeit来测量推理时间。每个实验重复30次,然后对这30个值取平均值,获得平均推理时间。

NLP模型的Batch Size设置为分别设置为1、2、4、8,序列长度为8、64,、128、256、512、1024。

测试结果

话不多说,先上跑分结果:

PyTorch&TensorFlow跑分对决:哪个平台运行NLP模型推理更快

在大多数情况下,这两个平台都能获得相似的结果。与PyTorch相比,TensorFlow在CPU上通常要慢一些,但在GPU上要快一些:

在CPU上,PyTorch的平均推理时间为0.748s,而TensorFlow的平均推理时间为0.823s。

在GPU上,PyTorch的平均推理时间为0.046s,而TensorFlow的平均推理时间为0.043s。

以上的数据都是在所有模型总的平均结果。结果显示,输入大小(Batch Size×序列长度)越大,对最终结果的影响也越大。

当输入太大时,PyTorch会出现内存不足的情况。作者把这些部分从结果中删除,因此这会使结果偏向PyTorch。

总的来说,PyTorch模型比TensorFlow模型更容易耗尽内存。除了Distilled模型之外,当输入大小达到8的Batch Size和1024的序列长度时,PyTorch就会耗尽内存。

至于更完整详细的清单,请参阅文末的Google文档链接。

两大平台的加速工具

除了初步的测试,作者还用上两个平台独有的加速工具,看看它们对模型推理速度有多大的提升。

PyTorch&TensorFlow跑分对决:哪个平台运行NLP模型推理更快

TorchScript是PyTorch创建可序列化模型的方法,让模型可以在不同的环境中运行,而无需Python依赖项,例如C++环境。

TorchScript似乎非常依赖于模型和输入大小:

使用TorchScript可以在XLNet上产生永久的性能提升,而在XLM上使用则会不可靠;

在XLM上,TorchScript可以提高较小输入时的性能,但会降低较大输入时的性能。

平均而言,使用TorchScript跟踪的模型,推理速度要比使用相同PyTorch非跟踪模型的快20%。

PyTorch&TensorFlow跑分对决:哪个平台运行NLP模型推理更快

XLA是可加速TensorFlow模型的线性代数编译器。作者仅在基于TensorFlow的自动聚类功能的GPU上使用它,这项功能可编译一些模型的子图。结果显示:

启用XLA提高了速度和内存使用率,所有模型的性能都有提高。

大多数基准测试的运行速度提升到原来的1.15倍。在某些极端情况下,推理时间减少了70%,尤其是在输入较小的情况下。

最后,作者还在Google文档的列表里还加入了“训练”选项卡,或许不久后就能看到两大平台上的训练测试对比,唯一挡在这项测试面前的障碍可能就是经费了。

传送门

原文链接:

https://medium.com/huggingface/benchmarking-transformers-pytorch-and-tensorflow-e2917fb891c2

完整跑分清单:

https://docs.google.com/spreadsheets/d/1sryqufw2D0XlUH4sq3e9Wnxu5EAQkaohzrJbd5HdQ_w/edit#gid=0

代码 开发 工具
上一篇:使用机器学习进行数据映射 下一篇:让剁手更便捷,蘑菇街视觉搜索技术架构实践
评论
取消
暂无评论,快去成为第一个评论的人吧

更多资讯推荐

2021年的12大人工智能工具和框架

您准备好在随处可见的人工智能趋势下欢迎2021年吗?这是2021年优秀AI工具和框架的汇编。根据Grand View Research所做的一项研究,“到2025年,人工智能市场规模将达到3,909亿美元。”

bookfoxers ·  2021-02-19 13:24:27
2021年排名前20位的AI平台

许多人认为,如果我们的时代是下一次工业革命,那么,人工智能无疑是其推动力之一。

bookfoxers ·  2021-02-19 13:10:27
人工智能在网络安全中的优缺点

如今,产生的数据比以往任何时候都要多。由于数据分析工具的发展,各行各业的组织都更加重视大数据的收集和存储。

bookfoxers ·  2021-02-18 00:13:29
我们需要怎样的人工智能基础教育

加强人工智能基础教育,是未雨绸缪应对未来社会发展的必然选择和要求。在促进教育高质量发展的过程中,人工智能不仅要被作为“术”,即提供科学知识与核心技术的内容载体和工具方法,更要被作为“道”,提供观念理念与思维认知,助力“实现人的自由”“促进人的全面发展”。

佚名 ·  2021-02-04 15:31:12
AI找石油,石油工业数字化转型新思维

我们知道,石油不仅是工业的血液,还跟日常生活息息相关。据统计,人的一生大约需要消耗石油在9吨以上,从衣食住行到国际经济都离不开石油。

云科技时代杂志 ·  2021-02-04 12:02:25
用户体验已成过去时 AI要从公民乃至社会的角度去思考问题

时至今日,科技巨头及其基于AI的数字平台与解决方案,完全有能力影响全球领导人、民族国家、跨国企业、全球股市乃至每位个人的命运。

科技行者 ·  2021-02-02 21:26:46
盘点2021年九大好用的人脸识别软件

人脸识别是通过个人面部的图像、视频或其他视听元素进行生物特征识别的一种方法。近十年来,全球人脸识别技术市场以前所未有的速度增长着。全球新冠疫情引发的需求改变了人脸识别的技术动态,加速了新型工具和解决方案的问世。

读芯术 ·  2021-01-29 23:14:31
俄媒:人工智能可利用面部识别判断信仰倾向

《俄罗斯报》1月19日发表了题为《藏不住了?》的文章称,美国斯坦福大学学者迈克尔·科辛斯基教授研发出了一种可根据人脸表情判断其信仰倾向的人工智能技术。

参考消息 ·  2021-01-27 22:23:50
Copyright©2005-2021 51CTO.COM 版权所有 未经许可 请勿转载