偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

PyTorch&TensorFlow跑分對(duì)決:哪個(gè)平臺(tái)運(yùn)行NLP模型推理更快

新聞 前端 機(jī)器學(xué)習(xí)
開源社區(qū)的支持度、上手的難易度都是重要的參考。還有人說:學(xué)術(shù)界用PyTorch,工業(yè)界用TensorFlow。

關(guān)于PyTorch和TensorFlow誰更好的爭(zhēng)論,從來就沒有停止過。

開源社區(qū)的支持度、上手的難易度都是重要的參考。還有人說:學(xué)術(shù)界用PyTorch,工業(yè)界用TensorFlow。 

[[279747]]

然而還有一項(xiàng)不可忽略的因素,就是二者的實(shí)際性能。

沒關(guān)系,不服跑個(gè)分?!

最近,一位來自“Huggingface”的工程師,使用了NLP中的Transformer模型,分別在兩大平臺(tái)上測(cè)試了一組推理速度。

雖然Huggingface只是一家創(chuàng)業(yè)公司,但是在NLP領(lǐng)域有著不小的聲譽(yù),他們?cè)贕itHub上開源的項(xiàng)目,只需一個(gè)API就能調(diào)用27個(gè)NLP模型廣受好評(píng),已經(jīng)收獲1.5萬星。

PyTorch和TensorFlow究竟哪個(gè)更快?下面用詳細(xì)評(píng)測(cè)的數(shù)據(jù)告訴你。

運(yùn)行環(huán)境

作者在PyTorch 1.3.0、TenserFlow2.0上分別對(duì)CPU和GPU的推理性能進(jìn)行了測(cè)試。

兩種不同的環(huán)境中具體硬件配置如下:

  1. CPU推理:使用谷歌云平臺(tái)上的n1-standard-32硬件,即32個(gè)vCPU、120GB內(nèi)存,CPU型號(hào)為2.3GHz的英特爾至強(qiáng)處理器。
  2. GPU推理:使用谷歌云平臺(tái)上的定制化硬件,包含12個(gè)vCPU、40GB內(nèi)存和單個(gè)V100 GPU(16GB顯存)。

[[279748]]

在測(cè)試過程中使用本地Python模塊的timeit來測(cè)量推理時(shí)間。每個(gè)實(shí)驗(yàn)重復(fù)30次,然后對(duì)這30個(gè)值取平均值,獲得平均推理時(shí)間。

NLP模型的Batch Size設(shè)置為分別設(shè)置為1、2、4、8,序列長度為8、64,、128、256、512、1024。

測(cè)試結(jié)果

話不多說,先上跑分結(jié)果:

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

在大多數(shù)情況下,這兩個(gè)平臺(tái)都能獲得相似的結(jié)果。與PyTorch相比,TensorFlow在CPU上通常要慢一些,但在GPU上要快一些:

在CPU上,PyTorch的平均推理時(shí)間為0.748s,而TensorFlow的平均推理時(shí)間為0.823s。

在GPU上,PyTorch的平均推理時(shí)間為0.046s,而TensorFlow的平均推理時(shí)間為0.043s。

以上的數(shù)據(jù)都是在所有模型總的平均結(jié)果。結(jié)果顯示,輸入大?。˙atch Size×序列長度)越大,對(duì)最終結(jié)果的影響也越大。

當(dāng)輸入太大時(shí),PyTorch會(huì)出現(xiàn)內(nèi)存不足的情況。作者把這些部分從結(jié)果中刪除,因此這會(huì)使結(jié)果偏向PyTorch。

總的來說,PyTorch模型比TensorFlow模型更容易耗盡內(nèi)存。除了Distilled模型之外,當(dāng)輸入大小達(dá)到8的Batch Size和1024的序列長度時(shí),PyTorch就會(huì)耗盡內(nèi)存。

至于更完整詳細(xì)的清單,請(qǐng)參閱文末的Google文檔鏈接。

兩大平臺(tái)的加速工具

除了初步的測(cè)試,作者還用上兩個(gè)平臺(tái)獨(dú)有的加速工具,看看它們對(duì)模型推理速度有多大的提升。

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

TorchScript是PyTorch創(chuàng)建可序列化模型的方法,讓模型可以在不同的環(huán)境中運(yùn)行,而無需Python依賴項(xiàng),例如C++環(huán)境。

TorchScript似乎非常依賴于模型和輸入大?。?/p>

使用TorchScript可以在XLNet上產(chǎn)生永久的性能提升,而在XLM上使用則會(huì)不可靠;

在XLM上,TorchScript可以提高較小輸入時(shí)的性能,但會(huì)降低較大輸入時(shí)的性能。

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

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

XLA是可加速TensorFlow模型的線性代數(shù)編譯器。作者僅在基于TensorFlow的自動(dòng)聚類功能的GPU上使用它,這項(xiàng)功能可編譯一些模型的子圖。結(jié)果顯示:

啟用XLA提高了速度和內(nèi)存使用率,所有模型的性能都有提高。

大多數(shù)基準(zhǔn)測(cè)試的運(yùn)行速度提升到原來的1.15倍。在某些極端情況下,推理時(shí)間減少了70%,尤其是在輸入較小的情況下。

最后,作者還在Google文檔的列表里還加入了“訓(xùn)練”選項(xiàng)卡,或許不久后就能看到兩大平臺(tái)上的訓(xùn)練測(cè)試對(duì)比,唯一擋在這項(xiàng)測(cè)試面前的障礙可能就是經(jīng)費(fèi)了。

傳送門

原文鏈接:

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

完整跑分清單:

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

 

 

責(zé)任編輯:張燕妮 來源: 量子位
相關(guān)推薦

2017-03-02 14:52:46

2017-08-16 10:57:52

深度學(xué)習(xí)TensorFlowNLP

2024-03-26 09:11:13

TensorFlow深度學(xué)習(xí)Pipeline

2021-07-01 16:45:17

PyTorchTensorflow 機(jī)器學(xué)習(xí)

2021-12-19 22:51:24

PyTorchTensorFlow框架

2024-06-26 10:50:35

2013-08-29 10:15:08

VMware紅帽云管理平臺(tái)

2019-09-01 19:19:04

TensorFlowPyTorch深度學(xué)習(xí)

2020-10-27 09:37:43

PyTorchTensorFlow機(jī)器學(xué)習(xí)

2020-10-15 11:22:34

PyTorchTensorFlow機(jī)器學(xué)習(xí)

2024-04-01 12:09:16

模型數(shù)據(jù)

2023-02-13 09:32:37

模型訓(xùn)練

2023-08-29 08:57:03

事務(wù)腳本架構(gòu)模式業(yè)務(wù)場(chǎng)景

2023-12-11 15:40:32

PyTorch代碼大模型

2011-06-01 16:56:57

2021-11-07 14:37:59

列表編碼扁平化

2016-12-20 15:35:52

Java堆本地內(nèi)存

2017-10-11 06:04:04

2025-05-09 09:02:00

2022-09-07 11:52:48

forforEach前端
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)