0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

比谷歌快46倍!GPU助力IBM Snap ML,40億樣本訓(xùn)練模型僅需91.5秒

DPVg_AI_era ? 來(lái)源:未知 ? 作者:李倩 ? 2018-03-26 10:29 ? 次閱讀

近日,IBM 宣布他們使用一組由 Criteo Labs發(fā)布的廣告數(shù)據(jù)集來(lái)訓(xùn)練邏輯回歸分類器,在POWER9服務(wù)器和GPU上運(yùn)行自身機(jī)器學(xué)習(xí)庫(kù)Snap ML,結(jié)果比此前來(lái)自谷歌的最佳成績(jī)快了46倍。

英偉達(dá)CEO黃仁勛和IBM 高級(jí)副總裁John Kelly在Think大會(huì)上

最近,在拉斯維加斯的IBM THINK大會(huì)上,IBM宣布,他們利用優(yōu)化的硬件上的新軟件和算法,取得了AI性能的大突破,包括采用 POWER9 和NVIDIA?V100?GPU 的組合。

谷歌云上TensorFlow和POWER9 (AC922)cluster上IBM Snap的對(duì)比(runtime包含數(shù)據(jù)加載的時(shí)間和訓(xùn)練的時(shí)間)

如上圖所示,workload、數(shù)據(jù)集和模型都是相同的,對(duì)比的是在Google Cloud上使用TensorFlow進(jìn)行訓(xùn)練和在Power9上使用Snap ML訓(xùn)練的時(shí)間。其中,TensorFlow使用了89臺(tái)機(jī)器(60臺(tái)工作機(jī)和29臺(tái)參數(shù)機(jī)),Snap ML使用了9個(gè) Power9 CPU和16個(gè)NVIDIA Tesla V100 GPU。

相比 TensorFlow,Snap ML 獲得相同的損失,但速度快了 46 倍。

怎么實(shí)現(xiàn)的?

Snap ML:居然比TensorFlow快46倍

早在去年二月份,谷歌軟件工程師Andreas Sterbenz寫(xiě)了一篇關(guān)于使用谷歌Cloud ML和TensorFlow進(jìn)行大規(guī)模預(yù)測(cè)廣告和推薦場(chǎng)景的點(diǎn)擊次數(shù)的博客。

Sterbenz訓(xùn)練了一個(gè)模型,以預(yù)測(cè)在Criteo Labs中顯示的廣告點(diǎn)擊量,這些日志大小超過(guò)1TB,并包含來(lái)自數(shù)百萬(wàn)展示廣告的特征值和點(diǎn)擊反饋。

數(shù)據(jù)預(yù)處理(60分鐘)之后是實(shí)際學(xué)習(xí),使用60臺(tái)工作機(jī)和29臺(tái)參數(shù)機(jī)進(jìn)行培訓(xùn)。該模型花了70分鐘訓(xùn)練,評(píng)估損失為0.1293。

雖然Sterbenz隨后使用不同的模型來(lái)獲得更好的結(jié)果,減少了評(píng)估損失,但這些都花費(fèi)更長(zhǎng)的時(shí)間,最終使用具有三次epochs(度量所有訓(xùn)練矢量一次用來(lái)更新權(quán)重的次數(shù))的深度神經(jīng)網(wǎng)絡(luò),耗時(shí)78小時(shí)。

但是IBM在POWER9服務(wù)器和GPU上運(yùn)行的自身訓(xùn)練庫(kù)后,可以在基本的初始訓(xùn)練上勝過(guò)谷歌Cloud Platform上的89臺(tái)機(jī)器。

他們展示了一張顯示Snap ML、Google TensorFlow和其他三個(gè)對(duì)比結(jié)果的圖表:

比TensorFlow快46倍,是怎么做到的?

研究人員表示,Snap ML具有多層次的并行性,可以在集群中的不同節(jié)點(diǎn)間分配工作負(fù)載,利用加速器單元,并利用各個(gè)計(jì)算單元的多核并行性。

1. 首先,數(shù)據(jù)分布在集群中的各個(gè)工作節(jié)點(diǎn)上。

2. 在節(jié)點(diǎn)上,數(shù)據(jù)在CPU和GPU并行運(yùn)行的主CPU和加速GPU之間分離

3. 數(shù)據(jù)被發(fā)送到GPU中的多個(gè)核心,并且CPU工作負(fù)載是多線程的

Snap ML具有嵌套的分層算法(nested hierarchical algorithmic)功能,可以利用這三個(gè)級(jí)別的并行性。

簡(jiǎn)而言之,Snap ML的三個(gè)核心特點(diǎn)是:

分布式訓(xùn)練:Snap ML是一個(gè)數(shù)據(jù)并行的框架,能夠在大型數(shù)據(jù)集上進(jìn)行擴(kuò)展和訓(xùn)練,這些數(shù)據(jù)集可以超出單臺(tái)機(jī)器的內(nèi)存容量,這對(duì)大型應(yīng)用程序至關(guān)重要。

GPU加速:實(shí)現(xiàn)了專門(mén)的求解器,旨在利用GPU的大規(guī)模并行架構(gòu),同時(shí)保持GPU內(nèi)存中的數(shù)據(jù)位置,以減少數(shù)據(jù)傳輸開(kāi)銷。為了使這種方法具有可擴(kuò)展性,利用最近異構(gòu)學(xué)習(xí)的一些進(jìn)步,即使可以存儲(chǔ)在加速器內(nèi)存中的數(shù)據(jù)只有一小部分,也可以實(shí)現(xiàn)GPU加速。

稀疏數(shù)據(jù)結(jié)構(gòu):大部分機(jī)器學(xué)習(xí)數(shù)據(jù)集都是稀疏的,因此在應(yīng)用于稀疏數(shù)據(jù)結(jié)構(gòu),對(duì)系統(tǒng)中使用的算法進(jìn)行了一些新的優(yōu)化。

技術(shù)過(guò)程:在91.5秒內(nèi)實(shí)現(xiàn)了0.1292的測(cè)試損失

先對(duì)Tera-Scale Benchmark設(shè)置。

Terabyte Click Logs是由Criteo Labs發(fā)布的一個(gè)大型在線廣告數(shù)據(jù)集,用于分布式機(jī)器學(xué)習(xí)領(lǐng)域的研究。它由40億個(gè)訓(xùn)練樣本組成。

其中,每個(gè)樣本都有一個(gè)“標(biāo)簽”,即用戶是否點(diǎn)擊在線廣告,以及相應(yīng)的一組匿名特征?;谶@些數(shù)據(jù)訓(xùn)練機(jī)器學(xué)習(xí)模型,其目標(biāo)是預(yù)測(cè)新用戶是否會(huì)點(diǎn)擊廣告。

這個(gè)數(shù)據(jù)集是目前最大的公開(kāi)數(shù)據(jù)集之一,數(shù)據(jù)在24天內(nèi)收集,平均每天收集1.6億個(gè)訓(xùn)練樣本。

為了訓(xùn)練完整的Terabyte Click Logs數(shù)據(jù)集,研究人員在4臺(tái)IBM Power System AC922服務(wù)器上部署Snap ML。每臺(tái)服務(wù)器都有4個(gè)NVIDIA Tesla V100 GPU和2個(gè)Power9 CPU,可通過(guò)NVIDIA NVLink接口與主機(jī)進(jìn)行通信。服務(wù)器通過(guò)Infiniband網(wǎng)絡(luò)相互通信。當(dāng)在這樣的基礎(chǔ)設(shè)施上訓(xùn)練邏輯回歸分類器時(shí),研究人員在91.5秒內(nèi)實(shí)現(xiàn)了0.1292的測(cè)試損失。

再來(lái)看一遍前文中的圖:

在為這樣的大規(guī)模應(yīng)用部署GPU加速時(shí),出現(xiàn)了一個(gè)主要的技術(shù)挑戰(zhàn):訓(xùn)練數(shù)據(jù)太大而無(wú)法存儲(chǔ)在GPU上可用的存儲(chǔ)器中。因此,在訓(xùn)練期間,需要有選擇地處理數(shù)據(jù)并反復(fù)移入和移出GPU內(nèi)存。為了解釋?xiě)?yīng)用程序的運(yùn)行時(shí)間,研究人員分析了在GPU內(nèi)核中花費(fèi)的時(shí)間與在GPU上復(fù)制數(shù)據(jù)所花費(fèi)的時(shí)間。

在這項(xiàng)研究中,使用Terabyte Clicks Logs的一小部分?jǐn)?shù)據(jù),包括初始的2億個(gè)訓(xùn)練樣本,并比較了兩種硬件配置:

基于Intel x86的機(jī)器(Xeon Gold 6150 CPU @ 2.70GHz),帶有1個(gè)使用PCI Gen 3接口連接的NVIDIA Tesla V100 GPU。

使用NVLink接口連接4個(gè)Tesla V100 GPU的IBM POWER AC922服務(wù)器(在比較中,僅使用其中1個(gè)GPU)。

圖a顯示了基于x86的設(shè)置的性能分析結(jié)果??梢钥吹絊1和S2這兩條線。在S1線上,實(shí)際的訓(xùn)練即將完成時(shí)(即,調(diào)用邏輯回歸內(nèi)核)。訓(xùn)練每個(gè)數(shù)據(jù)塊的時(shí)間大約為90毫秒(ms)。

當(dāng)訓(xùn)練正在進(jìn)行時(shí),在S2線上,研究人員將下一個(gè)數(shù)據(jù)塊復(fù)制到GPU上。觀察到復(fù)制數(shù)據(jù)需要318毫秒,這意味著GPU閑置了相當(dāng)長(zhǎng)的一段時(shí)間,復(fù)制數(shù)據(jù)的時(shí)間顯然是一個(gè)瓶頸。

在圖b中,對(duì)于基于POWER的設(shè)置,由于NVIDIA NVLink提供了更快的帶寬,因此下一個(gè)數(shù)據(jù)塊復(fù)制到GPU的時(shí)間顯著減少到55 ms(幾乎減少了6倍)。這種加速是由于將數(shù)據(jù)復(fù)制時(shí)間隱藏在內(nèi)核執(zhí)行后面,有效地消除了關(guān)鍵路徑上的復(fù)制時(shí)間,并實(shí)現(xiàn)了3.5倍的加速。

IBM的這個(gè)機(jī)器學(xué)習(xí)庫(kù)提供非??斓挠?xùn)練速度,可以在現(xiàn)代CPU / GPU計(jì)算系統(tǒng)上訓(xùn)練流主流的機(jī)器學(xué)習(xí)模型,也可用于培訓(xùn)模型以發(fā)現(xiàn)新的有趣模式,或者在有新數(shù)據(jù)可用時(shí)重新訓(xùn)練現(xiàn)有模型,以保持速度在線速水平(即網(wǎng)絡(luò)所能支持的最快速度)。這意味著更低的用戶計(jì)算成本,更少的能源消耗,更敏捷的開(kāi)發(fā)和更快的完成時(shí)間。

不過(guò),IBM研究人員并沒(méi)有聲稱TensorFlow沒(méi)有利用并行性,并且也不提供Snap ML和TensorFlow之間的任何比較。

但他們的確說(shuō):“我們實(shí)施專門(mén)的解決方案,來(lái)利用GPU的大規(guī)模并行架構(gòu),同時(shí)尊重GPU內(nèi)存中的數(shù)據(jù)區(qū)域,以避免大量數(shù)據(jù)傳輸開(kāi)銷?!?/p>

文章稱,采用NVLink 2.0接口的AC922服務(wù)器,比采用其Tesla GPU的PCIe接口的Xeon服務(wù)器(Xeon Gold 6150 CPU @ 2.70GHz)要更快,PCIe接口是特斯拉GPU的接口?!皩?duì)于基于PCIe的設(shè)置,我們測(cè)量的有效帶寬為11.8GB /秒,對(duì)于基于NVLink的設(shè)置,我們測(cè)量的有效帶寬為68.1GB /秒。”

訓(xùn)練數(shù)據(jù)被發(fā)送到GPU,并在那里被處理。NVLink系統(tǒng)以比PCIe系統(tǒng)快得多的速度向GPU發(fā)送數(shù)據(jù)塊,時(shí)間為55ms,而不是318ms。

IBM團(tuán)隊(duì)還表示:“當(dāng)應(yīng)用于稀疏數(shù)據(jù)結(jié)構(gòu)時(shí),我們對(duì)系統(tǒng)中使用的算法進(jìn)行了一些新的優(yōu)化?!?/p>

總的來(lái)說(shuō),似乎Snap ML可以更多地利用Nvidia GPU,在NVLink上傳輸數(shù)據(jù)比在x86服務(wù)器的PCIe link上更快。但不知道POWER9 CPU與Xeons的速度相比如何,IBM尚未公開(kāi)發(fā)布任何直接POWER9與Xeon SP的比較。

因此也不能說(shuō),在相同的硬件配置上運(yùn)行兩個(gè)suckers之前,Snap ML比TensorFlow好得多。

無(wú)論是什么原因,46倍的降幅都令人印象深刻,并且給了IBM很大的空間來(lái)推動(dòng)其POWER9服務(wù)器作為插入Nvidia GPU,運(yùn)行Snap ML庫(kù)以及進(jìn)行機(jī)器學(xué)習(xí)的場(chǎng)所。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 谷歌
    +關(guān)注

    關(guān)注

    27

    文章

    6128

    瀏覽量

    104952
  • 神經(jīng)網(wǎng)絡(luò)

    關(guān)注

    42

    文章

    4734

    瀏覽量

    100420
  • gpu
    gpu
    +關(guān)注

    關(guān)注

    28

    文章

    4673

    瀏覽量

    128594

原文標(biāo)題:比谷歌快46倍!GPU助力IBM Snap ML,40億樣本訓(xùn)練模型僅需91.5 秒

文章出處:【微信號(hào):AI_era,微信公眾號(hào):新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    FPGACPU和GPU的原理是什么

    本文首先闡述了FPGA的原理了,其次分析了FPGACPU和GPU的原理,最后闡述了CPU與GPU的區(qū)別。
    的頭像 發(fā)表于 05-31 09:00 ?1.7w次閱讀
    FPGA<b class='flag-5'>比</b>CPU和<b class='flag-5'>GPU</b><b class='flag-5'>快</b>的原理是什么

    挑戰(zhàn)GPU,Habana推出四處理能力的AI訓(xùn)練芯片

    人工智能處理器開(kāi)發(fā)商Habana Labs宣布推出Habana Gaudi人工智能訓(xùn)練處理器,基于Gaudi的訓(xùn)練系統(tǒng)實(shí)現(xiàn)了擁有相同數(shù)量的GPU系統(tǒng)高四
    發(fā)表于 06-21 11:46 ?2223次閱讀

    matlab自學(xué)一通(新版軟件+基礎(chǔ)教程+案例源碼)

    代碼,TensorFlow的性能高7,Caffe2的性能高4.5。另外,此發(fā)行版還添加了新的重要的深度學(xué)習(xí)功能,可簡(jiǎn)化工程師、研究人員及其他領(lǐng)域?qū)<以O(shè)計(jì)、
    發(fā)表于 12-11 14:29

    在Ubuntu上使用Nvidia GPU訓(xùn)練模型

    問(wèn)題最近在Ubuntu上使用Nvidia GPU訓(xùn)練模型的時(shí)候,沒(méi)有問(wèn)題,過(guò)一會(huì)再訓(xùn)練出現(xiàn)非??D,使用nvidia-smi查看發(fā)現(xiàn),顯示GPU
    發(fā)表于 01-03 08:24

    GPU如何訓(xùn)練大批量模型?方法在這里

    深度學(xué)習(xí)模型和數(shù)據(jù)集的規(guī)模增長(zhǎng)速度已經(jīng)讓 GPU 算力也開(kāi)始捉襟見(jiàn)肘,如果你的 GPU 連一個(gè)樣本都容不下,你要如何訓(xùn)練大批量
    發(fā)表于 12-03 17:24 ?857次閱讀

    阿里云圖像識(shí)別速度創(chuàng)紀(jì)錄,AWS2.36,谷歌5.28

    阿里云圖像識(shí)別速度創(chuàng)紀(jì)錄,AWS2.36,谷歌5.28
    發(fā)表于 12-27 12:51 ?224次閱讀

    YOLO的另一選擇,手機(jī)端97FPS的Anchor-Free目標(biāo)檢測(cè)模型NanoDet

    華為P30上用NCNN移植跑benchmark,每幀10.23毫,yolov4-tiny3
    的頭像 發(fā)表于 12-08 22:42 ?942次閱讀

    一個(gè)GPU訓(xùn)練一個(gè)130參數(shù)的模型

    現(xiàn)在的模型動(dòng)輒數(shù)百、數(shù)千億參數(shù),普通人訓(xùn)不動(dòng)怎么辦? 前不久,谷歌發(fā)布了參數(shù)量為 1.6 萬(wàn)億的語(yǔ)言模型Swith Transformer,將 GPT-3 創(chuàng)下的參數(shù)量記錄(1750
    的頭像 發(fā)表于 02-11 09:04 ?2399次閱讀
    一個(gè)<b class='flag-5'>GPU</b><b class='flag-5'>訓(xùn)練</b>一個(gè)130<b class='flag-5'>億</b>參數(shù)的<b class='flag-5'>模型</b>

    樣本量極少可以訓(xùn)練機(jī)器學(xué)習(xí)模型嗎?

    本文首先介紹了用小樣本訓(xùn)練模型會(huì)導(dǎo)致的問(wèn)題,再介紹了Few-Shot Learning的基本原理即三大思路下的方法。
    的頭像 發(fā)表于 06-23 15:02 ?6855次閱讀

    NVIDIA GPU助力提升模型訓(xùn)練和推理性價(jià)比

    ,其中的模型數(shù)量達(dá)數(shù)千個(gè),日均調(diào)用服務(wù)達(dá)到千億級(jí)別。無(wú)量推薦系統(tǒng),在模型訓(xùn)練和推理都能夠進(jìn)行海量Embedding和DNN模型GPU計(jì)算,
    的頭像 發(fā)表于 08-23 17:09 ?4760次閱讀

    形狀感知零樣本語(yǔ)義分割

    由于大規(guī)模視覺(jué)語(yǔ)言預(yù)訓(xùn)練取得了令人矚目的進(jìn)展,最近的識(shí)別模型可以以驚人的高準(zhǔn)確度對(duì)任意對(duì)象進(jìn)行零樣本和開(kāi)放式分類。
    的頭像 發(fā)表于 04-28 11:26 ?787次閱讀
    形狀感知零<b class='flag-5'>樣本</b>語(yǔ)義分割

    谷歌模型訓(xùn)練軟件有哪些功能和作用

    谷歌模型訓(xùn)練軟件主要是指ELECTRA,這是一種新的預(yù)訓(xùn)練方法,源自谷歌AI。ELECTRA不僅擁有BERT的優(yōu)勢(shì),而且在效率上更勝一籌。
    的頭像 發(fā)表于 02-29 17:37 ?727次閱讀

    谷歌模型訓(xùn)練軟件有哪些?谷歌模型訓(xùn)練軟件哪個(gè)好?

    谷歌模型訓(xùn)練方面提供了一些強(qiáng)大的軟件工具和平臺(tái)。以下是幾個(gè)常用的谷歌模型訓(xùn)練軟件及其特點(diǎn)。
    的頭像 發(fā)表于 03-01 16:24 ?789次閱讀

    為什么ai模型訓(xùn)練要用gpu

    GPU憑借其強(qiáng)大的并行處理能力和高效的內(nèi)存系統(tǒng),已成為AI模型訓(xùn)練不可或缺的重要工具。
    的頭像 發(fā)表于 10-24 09:39 ?176次閱讀

    PyTorch GPU 加速訓(xùn)練模型方法

    在深度學(xué)習(xí)領(lǐng)域,GPU加速訓(xùn)練模型已經(jīng)成為提高訓(xùn)練效率和縮短訓(xùn)練時(shí)間的重要手段。PyTorch作為一個(gè)流行的深度學(xué)習(xí)框架,提供了豐富的工具和
    的頭像 發(fā)表于 11-05 17:43 ?409次閱讀