NVIDIA深度學習Tensor Core性能解析(下)


NVIDIA深度學習Tensor Core性能解析(下)

 

 

 

 

 

 

 

 

 DeepBench推理測試之RNN和Sparse GEMM

DeepBench的最后一項推理測試是RNN和Sparse GEMM,雖然測試中可以選擇FP16,但實際上它們都只支持FP32運算。

 

 

 

 

 

 雖然RNN可能會有加速,但DeepBench和NVIDIA目前僅支持單精度RNN推理。

NVIDIA Caffe2測試之ResNet50和ImageNet

雖然內核和深度學習數學運算可能很有用,但實際應用中是使用真實數據集進行訓練的。使用標准的ILSVRC 2012圖片集,在ImageNet上通過ResNet50模型來訓練和推斷,可以展示更具參考的性能數據。

雖然FP16和Tensor Core有單獨的開關,但Titan V在啟用和禁用Tensor Core的情況下運行FP16的性能是完全一樣的。

 

 

  只看原始吞吐量性能的話,Titan V在所有批尺寸下都處於領先地位。憑借Tensor Core,Titan V可處理的批尺寸達到甚至超過了64,而其他顯卡即便有12 GB顯存也無法與之相比。

 不過只看原始吞吐量性能的問題在於,深度學習的實際性能從來沒有這么簡單。首先,許多模型可能會犧牲精度和訓練時間以換取針對吞吐量的優化,如果模型需要較長的時間來收斂,那么每秒訓練的峰值性能就沒有參考意義了。

這些問題與使用FP16存儲和Tensor Core的Volta尤為相關,如果在實際應用中使用了有損縮放或單精度批量歸一化,這在吞吐量性能中都是無法體現的。

HPE DLBS Caffe2測試之ResNet50和ImageNet

接下來,我們看一下深度學習指南中的HPE DLBS。與通常的深度學習測試不同,HPE DLBS基本上只輸出吞吐量和時間指標。

HPE DLBS的一大特色是支持NVIDIA Caffe2測試使用的數據集,我們同樣可以在ImageNet上使用ResNet50模型來訓練和推斷。但是由於二者的模型和實現不同,測出的吞吐量性能無法與NVIDIA Caffe2直接進行比較。

 

 在測試中,Titan V無法支持某些特定的批尺寸,但總體趨勢和之前的測試基本相同,FP16和Tensor Core提供了更高的吞吐量。不過遺憾的是,HPE DLBS Caffe2測試似乎不支持INT8推理。

 

 HPE DLBS TensorRT測試之ResNet50和ImageNet

HPE DLBS的另一大特色是支持TensorRT(NVIDIA推理優化引擎)的基准測試功能, NVIDIA近年來已將TensorRT與新的深度學習功能(如INT8/DP4A和Tensor Core的16位累加器模式)相結合以進行推理。

 

 使用Caffe模型,TensorRT可以根據需要調整模型,以便在給定的精度下進行推理。我們在Titan X(Maxwell)和Titan Xp(Pascal)上運行了64、512和1024的批尺寸,在Titan V運行了128、256和640的批尺寸。

Titan Xp的高INT8性能在一定程度上印證了GEMM/卷積性能,這兩個工作負載似乎都在使用DP4A。不過雷鋒網並未了解到DP4A如何在Titan V上實現,只知道它由Volta指令集提供支持,且Volta確實擁有獨立的INT32單元。

DAWNBench測試之CIFAR10圖像分類

就實際應用的性能而言,深度學習訓練更適合用時間/准確性和成本來描述,而這兩點分別對應DAWNBench的兩項子測試。對於使用CIFAR10的圖像分類來說,這兩項子測試為:

時間/准確性:訓練CIFAR10數據集的圖像分類模型,報告訓練所需的時間,且要求測試集准確性至少為94%。

成本:在公共雲基礎架構上,計算達到94%或更高的測試集准確性所需的總時間,將所花費的時間(以小時為單位)乘以每小時實例的成本,以獲得訓練模型的總成本。

測試選用PyTorch的CIFAR10訓練實現中最快的兩個,其中一個基於ResNet34,是為了在NVIDIA GeForce GTX 1080 Ti上運行,而第二個基於ResNet18,是為了在單個Tesla V100上運行。這些都是DAWNBench中最近的熱門測試,可以認為它們是相當符合現代的項目,同時CIFAR10也不是一個非常密集的數據集。

 

 

 

 CIFAR10的小型圖像數據集運行良好,第一個訓練實現是在單個GTX 1080 Ti上運行,需要35分37秒才能訓練到94%的准確性,而在第二個訓練實現中,Titan V只用了5分41秒就完成了94%的目標。

順帶一提,雖然Titan V在第一個訓練實現中不會使用Tensor Core,但憑借相對於Pascal的一般改進,Titan V在這個測試中的速度依然比Titan Xp快20%左右,同時系統峰值功耗也下降了大約80W。

 

 

 

 結語

Tensor Core是Titan V的重要組成部分,本文的目的也是盡可能的了解Volta,所以測試着重考察了Tensor Core加速。

本次測試還有許多沒有涉及到的各種其他測試和套件,它們普遍在設計上有太多欠缺。事實證明,無論從整體還是局部來看,都不可能找到一個負載貼合當下實際、提供端到端指標、覆蓋多個機器學習域、支持Tensor Core和混合精度,最重要的是易於非專業開發者使用的深度學習套件。

即便是參考價值較大的DAWNBench,設計本意也並非提供一個通用的基准,而是為方便研究者和開發者創建他們自己的實現。DAWNBench的深度學習框架仍然需要修改以作為一款有效的基准測試使用,但重新配置一個與Volta兼容的混合精度模型就不是一件可以輕松完成的事情。

 

 這實際上與Titan V自身相關,Tensor Core和混合精度需要專門的開發來適配支持,只能在特定情況下明顯提升性能。且即便用戶的代碼和數據集可以與Tensor Core良好的匹配,到頭來神經網絡處理也會受到來自傳統ALU的限制。

而對於主流消費者群體來說,Tensor Core的發展對他們意味着什么?最新的Turing架構證明,Tensor Core在游戲卡領域同樣可以有所應用。雷鋒網(公眾號:雷鋒網)曾在NVIDIA RTX 2080Ti/2080/2070發布時報道過,RTX光線追蹤技術就是使用Tensor Core對圖像進行降噪以彌補光線數量的限制。NVIDIA唯一需要考慮的問題是,這些玩家是否樂意為這些Tensor Core買單。

 

 

 

 對於任何考慮購買Titan V以滿足計算需求的人來說,投資Titan V就意味着投資混合精度深度學習模型和基於WMMA的HPC GEMM加速。在cuDNN、cuBLAS以及早期DP4A和FP16*2混合精度計算的背景下,Tensor Core是試圖用可編程硬件來實現深度學習加速的一種自然進化。

可以肯定的是,Titan V絕對代表了NVIDIA對未來GPGPU的願望。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM