上課睡覺,考試卻考100分的秘密
了解更多數(shù)字化轉(zhuǎn)型方案查看此鏈接:
https://www.dellemc-solution.com/home/index.html
古今中外
提起考試
總有那么一個(gè)未解之謎
為什么Ta上課睡覺
下課玩耍
每次考試都說發(fā)揮不好
卻能回回拿第一!?
在最近A企業(yè)第一屆深度學(xué)習(xí)班的摸底考試中
同樣的疑問也飄在蔡工頭頂...
成績(jī)出來了,他的性能結(jié)果差別人一大截,瞅著人群中笑得燦爛的林工,蔡工白眼頻飛,一臉的羨慕嫉妒恨。
蔡工不理解,也不服氣,他拿著成績(jī)單來到技術(shù)主管Tony面前,把疑問悉數(shù)倒出。
Tony聽完,調(diào)出蔡工、林工的卷子,捻起胡須細(xì)細(xì)分析起來:
① 這次圖片類別的深度學(xué)習(xí)項(xiàng)目中,你的訓(xùn)練時(shí)間比林工長(zhǎng),數(shù)據(jù)量也比林工大,而且經(jīng)過了多次devset評(píng)估調(diào)優(yōu),因此這幾項(xiàng),可以從你二人性能差別的原因中排除了;
② 框架和軟件架構(gòu)方面,你和林工的基本一致,所以問題也不在這兒;
③剩下的就是硬件方面了。GPU選擇上,林工用的是Tesla P100,你用的GPU型號(hào)是GeForce GTX1080ti;服務(wù)器方面,林工用的PowerEdge T640,而你也并未選擇T640。因此最終項(xiàng)目性能差別懸殊,原因可能就在硬件上。
蔡工摸摸頭不好意思地開口:“當(dāng)初出于預(yù)算考慮,沒有選擇Tesla P100+PowerEdge T640的配置,但是服務(wù)器參數(shù)、CPU、內(nèi)存、硬盤這些都是一樣的。GPU方面,GeForce GTX1080ti相比Tesla P100性能也許差點(diǎn),但價(jià)格便宜,想著為此犧牲點(diǎn)訓(xùn)練時(shí)間也是可以接受的。”
Tony放下卷子,說道:“區(qū)別大著呢!對(duì)這個(gè)深度學(xué)習(xí)項(xiàng)目,Tesla P100+T640的硬件平臺(tái)是經(jīng)過應(yīng)用和戴爾易安信驗(yàn)證通過,難怪最終結(jié)果差很多!”
蔡工這才有點(diǎn)撥云見日的感覺,繼續(xù)發(fā)問:“GPU和服務(wù)器是怎么影響這次項(xiàng)目結(jié)果呢?”
Tony:“來,我給你分析分析。”
GPU影響知多少
一、應(yīng)用
首先,從應(yīng)用角度出發(fā),了解應(yīng)用是需要使用雙精度FP64、單精度FP32,還是混合精度FP32&FP16——這是重要的一點(diǎn),畢竟使用GPU根本的目的,是加速訓(xùn)練模型,讓企業(yè)快速應(yīng)用這海量數(shù)據(jù)的價(jià)值。
P.s IEEE754標(biāo)準(zhǔn)定義了半精度、單精度、雙精度的概念,單精度的浮點(diǎn)數(shù)中采用4個(gè)字節(jié)也就是32位二進(jìn)制來表達(dá)一個(gè)數(shù)字,雙精度浮點(diǎn)數(shù)采用8個(gè)字節(jié)即64bits來表達(dá),半精度浮點(diǎn)數(shù)就是采用16bits了,采用不同位數(shù)的浮點(diǎn)數(shù)的表達(dá)精度不一樣,造成的計(jì)算誤差也不一樣。一般而言,需要處理數(shù)字范圍大且需精確運(yùn)算的科學(xué)計(jì)算,要求采用雙精度浮點(diǎn)數(shù)。隨著要求精度降低,單精度浮點(diǎn)數(shù)或者半精度浮點(diǎn)數(shù)也夠用了。
如果是深度學(xué)習(xí)訓(xùn)練,不做超算類別的應(yīng)用,一般使用的是混合精度即FP32與FP16。這次的項(xiàng)目是圖片類別的深度學(xué)習(xí)訓(xùn)練,因此要采用混合精度訓(xùn)練模式。
在目前主流的Pascal GPU架構(gòu)中,只有Tesla P100采用了單精度計(jì)算單元和雙精度計(jì)算單元為2:1的比例設(shè)計(jì),其他核心采用的都是32:1的設(shè)計(jì)。如果轉(zhuǎn)化為雙精度數(shù)值,可以通過以下公式簡(jiǎn)單計(jì)算——雙精度理論峰值=FP64Cores*GPUBoost Clock*2,計(jì)算得出:
P100 5.3TFlops
V100 7.8TFlops
GTX1080ti 0.35TFlops
可見,Tesla P100雙精度浮點(diǎn)數(shù)是GTX1080Ti的16倍!這也就是林工使用P100的訓(xùn)練周期比蔡工使用GTX1080ti縮短了很多的原因。(當(dāng)然現(xiàn)在很有挑戰(zhàn)的是新的GeForce顯卡也支持混合精度,如果僅僅在訓(xùn)練時(shí)間上看P100,V100不會(huì)有幾倍性能RTX2080的提升了,不過Tesla系列還有很多專業(yè)深度學(xué)習(xí)GPU特性優(yōu)越于GeForce系列)。
二、ECC內(nèi)存檢驗(yàn)和糾正
GeForce系列GPU是沒有ECC內(nèi)存檢驗(yàn)和糾正的,簡(jiǎn)單來說,如果Geforce顯卡用來運(yùn)行游戲,內(nèi)存錯(cuò)誤不會(huì)造成嚴(yán)重問題,只是畫面顯示有些許錯(cuò)誤,可以忽略。
但就深度學(xué)習(xí)而言,所有訓(xùn)練都非常依賴GPU返回?cái)?shù)據(jù)的準(zhǔn)確性,特別是大量數(shù)據(jù)分析匯總。如果內(nèi)存出現(xiàn)多次錯(cuò)誤,就可能使計(jì)算結(jié)果出現(xiàn)誤差,甚至導(dǎo)致整個(gè)大數(shù)據(jù)分析的不準(zhǔn)確——這也很可能是蔡工Test set評(píng)估完整模型性能不理想的原因之一。
相比之下,Tesla P100就不一樣了。Tesla系列具備ECC校驗(yàn)功能,能夠發(fā)現(xiàn)并糾正L1/L2緩存或者現(xiàn)存錯(cuò)誤,極好地保證計(jì)算結(jié)果的準(zhǔn)確性,避免了因GPU內(nèi)存錯(cuò)誤導(dǎo)致模型性能不理想問題。
三、集群GPU
未來隨著數(shù)據(jù)量增加,為了更好地獲取性能加速,項(xiàng)目通常會(huì)采用集群GPU加速深度學(xué)習(xí)周期。
但是GeForce只支持單機(jī)P2P GPUDirect,不能支持跨主機(jī)的GPU RDMA,而Tesla與之相反,可以支持跨主機(jī)的GPU RDMA。
經(jīng)實(shí)驗(yàn)室測(cè)定,在GPU集群計(jì)算環(huán)境中,即使是同樣的Tesla GPU卡,采用GPU RDMA會(huì)比不使用RDMA僅使用TCP的性能提升2.5倍;而且相比單個(gè)GPU,使用RDMA基本可以獲得高達(dá)30.6倍線性加速。所以長(zhǎng)遠(yuǎn)考慮,同樣建議在開始就選擇合理的硬件配置。
四、易用性和管理型
從GPU和易用性和管理性來看,NVIDIA提供了NGC容器平臺(tái),NGC容器可接入Nvidia優(yōu)化的深度學(xué)習(xí)軟件、HPC應(yīng)用、Nvidia HPC可視化工具等。通過NGC容器平臺(tái),開發(fā)人員可以免費(fèi)訪問深度學(xué)習(xí)容器,包括Caffe、Caffe2、CNTK、MXNet、TensorFlow、Theano、Torch等。
而戴爾易安信PowerEdge服務(wù)器+Tesla組合經(jīng)過了Nvidia NGC認(rèn)證,可以直接將NGC接入服務(wù)器中,所有這些工具都是預(yù)先集成、經(jīng)過測(cè)試,并且專門為Nvidia GPU優(yōu)化的,大大縮減了產(chǎn)品開發(fā)以及業(yè)務(wù)部署的時(shí)間。
此外,許多健康工具和GPU管理功能僅為Tesla GPU提供支持。如通過IMPI監(jiān)控GPU健康狀態(tài)、調(diào)整風(fēng)扇速度以獲得適當(dāng)?shù)睦鋮s、遇到高溫等及時(shí)發(fā)送報(bào)警、保證設(shè)備持續(xù)穩(wěn)定運(yùn)行等等。當(dāng)然還有更多細(xì)節(jié),如Tesla比GeForce在GPU內(nèi)存容量、操作系統(tǒng)支持、應(yīng)用軟件支持、電源能效等方面有更好的表現(xiàn)等等,這里就不一一展開了。
服務(wù)器效用有多大
結(jié)合深度學(xué)習(xí)項(xiàng)目需求,基于快速應(yīng)用、24小時(shí)不間斷高性能運(yùn)行、未來集群擴(kuò)展性管理型的三大考量,戴爾易安信推薦了Tesla P100+PowerEdge T640組合。
對(duì)于新的深度學(xué)習(xí)項(xiàng)目架構(gòu),TeslaP100+PowerEdgeT640已經(jīng)得到了英偉達(dá)NGC認(rèn)證,可以快速接入深度學(xué)習(xí)框架,大大縮減產(chǎn)品開發(fā)以及業(yè)務(wù)部署的時(shí)間。而單臺(tái)PowerEdgeT640服務(wù)器至多可支持4塊P100或者V100,足以滿足項(xiàng)目初始需求,并且未來升級(jí)集群時(shí)可以使用RDMA等技術(shù)保證性能的線性增長(zhǎng)。
關(guān)于GPU服務(wù)器是否能穩(wěn)定運(yùn)行,問題就在散熱方面。
那么,為什么PowerEdge T640可以保證GPU在高負(fù)載情況下依然持續(xù)穩(wěn)定運(yùn)行呢?
原因是PowerEdge T640專門對(duì)GPU機(jī)箱做了以下幾方面的專業(yè)設(shè)計(jì):
1
專門為多GPU優(yōu)化設(shè)計(jì)了導(dǎo)風(fēng)罩,多GPU卡專業(yè)散熱,對(duì)氣流的規(guī)劃更為科學(xué)高效;
2
針對(duì)GPU設(shè)計(jì)專用風(fēng)扇,并為GPU卡設(shè)計(jì)外置散熱風(fēng)扇,保證GPU長(zhǎng)期高負(fù)載工作場(chǎng)景下更低的溫度;
3
特別設(shè)計(jì)了GPU前中后三段式固定,減輕了GPU卡重量對(duì)主板的影響,從各方面提高系統(tǒng)的穩(wěn)定性,保證機(jī)器在高負(fù)載下不間斷穩(wěn)定運(yùn)行。
當(dāng)然,對(duì)于超大型的深度學(xué)習(xí)架構(gòu)底層,或者想要單臺(tái)部署超過8GPU,服務(wù)器上可以選擇戴爾易安信DSS8440——至多單臺(tái)支持到10個(gè)V100的GPU,效用更為明顯。
“同樣的深度學(xué)習(xí)項(xiàng)目,硬件配置有差別,好比考場(chǎng)上人家拿了自動(dòng)替芯涂卡筆,而你是中華2B美術(shù)筆,人答題卡涂完了,你的鉛筆還沒削好,這可不就落下了。這么一分析,你覺得呢?”Tony微笑看向蔡工。
蔡工:“原來如此,學(xué)霸成績(jī)好不一定是腦子比我們好,而是在于有方法。原本我想靠“努力”來彌補(bǔ),但忽視了“方法”,所以再怎么追趕,也成不了另一個(gè)學(xué)霸。”
“
如同GTX1080ti對(duì)比Tesla P100
看似性能差距不大
但兩者的不同在于
是否經(jīng)過應(yīng)用和
戴爾易安信的驗(yàn)證通過
所以導(dǎo)致了失之毫厘,謬以千里的差距
因此,在人工智能
’軍備競(jìng)賽‘的這條道路上
你需要選擇戴爾易安信DSS8440
這樣’方法‘與’實(shí)力‘兼?zhèn)涞漠a(chǎn)品助您成為人工智能行業(yè)的新一代
學(xué)霸
相關(guān)內(nèi)容推薦:小編化身“李佳琦”前來帶貨啦
相關(guān)產(chǎn)品:PowerEdge T640塔式服務(wù)器