日本在线看黄a美女久草|日本动漫亚洲在线一区|日韩人妻无码免费视频|A√有码中文字幕|日韩一级片视频热久久久|一区二区三区四区精品无码在线|亚洲AV成人无码一二三app|亚洲综合图片绯色|91极品人妻在线网站|国产成人精品一区二三区四区五区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號(hào)安全和更好的產(chǎn)品體驗(yàn),強(qiáng)烈建議使用更快更安全的瀏覽器
此為臨時(shí)鏈接,僅用于文章預(yù)覽,將在時(shí)失效
人工智能開發(fā)者 正文
發(fā)私信給楊文
發(fā)送

0

如何在集群中高效地部署和使用 AI 芯片? | 分享總結(jié)

本文作者: 楊文 2018-04-18 19:42
導(dǎo)語:如何在集群中高效地部署和使用 AI 芯片?

雷鋒網(wǎng)AI研習(xí)社按:人工智能技術(shù)發(fā)展迅猛的背后不僅得益于龐大的數(shù)據(jù)量,更需要強(qiáng)大的硬件支持。面對(duì)層出不窮的 AI 應(yīng)用,已經(jīng)很難采用一種通用的硬件進(jìn)行高效的數(shù)據(jù)計(jì)算和處理,這也促使了各種類型的 AI 芯片蓬勃發(fā)展。

近期,在雷鋒網(wǎng) AI 研習(xí)社線上公開課上,Thinker (AI 芯片) 團(tuán)隊(duì)深度學(xué)習(xí)平臺(tái)負(fù)責(zé)人周鵬程分享了目前主流的分布式異構(gòu)計(jì)算特性,區(qū)別和應(yīng)用,并且介紹了如何讓當(dāng)前流行的大數(shù)據(jù)分析引擎(如:Spark)從 AI 芯片的強(qiáng)大計(jì)算能力中獲益。視頻回放:http://www.mooc.ai/open/course/479

周鵬程,Thinker (AI 芯片) 團(tuán)隊(duì)深度學(xué)習(xí)平臺(tái)負(fù)責(zé)人,曾就職于阿里巴巴技術(shù)保障事業(yè)部,擔(dān)任算法工程師;清華大學(xué)微電子碩士,主要研究方向:面向可重構(gòu)芯片的編譯器后端優(yōu)化,指令級(jí)并行,高并發(fā)編程模型以及分布式計(jì)算。

分享主題:如何在集群中高效地部署和使用 AI 芯片

分享提綱:

  • 關(guān)于Hadoop YARN資源管理系統(tǒng)的介紹

  • Spark分布式計(jì)算框架的介紹

  • 各種異構(gòu)芯片不同的平臺(tái),特性,區(qū)別,以及應(yīng)用

  • 開源項(xiàng)目StarGate

這次直播分享首先為大家介紹 Hadoop YARN 資源管理系統(tǒng)。Hadoop YARN 資源管理框架,它主要管理集群中的 CPU 和內(nèi)存。

YARN(Yet Another Resource Negotiator)是一個(gè)通用的資源管理平臺(tái),可為各類計(jì)算框架提供資源的管理和調(diào)度。

如何在集群中高效地部署和使用 AI 芯片? | 分享總結(jié)

YARN 總體上是 Master/Slave 結(jié)構(gòu),主要由 ResourceManager、NodeManager、 ApplicationMaster 和 Container 等幾個(gè)組件構(gòu)成。

NodeManager (NM) 是每個(gè)節(jié)點(diǎn)上的資源和任務(wù)管理器。它會(huì)定時(shí)地向 RM 匯報(bào)本節(jié)點(diǎn)上的資源使用情況和各個(gè) Container 的運(yùn)行狀態(tài);同時(shí)會(huì)接收并處理來自 AM 的 Container 啟動(dòng)/停止等請(qǐng)求。

ApplicationMaster (AM) 用戶提交的應(yīng)用程序均包含一個(gè) AM,負(fù)責(zé)應(yīng)用的監(jiān)控,跟蹤應(yīng)用執(zhí)行狀態(tài),重啟失敗任務(wù)等。ApplicationMaster 是應(yīng)用框架,它負(fù)責(zé)向 ResourceManager 協(xié)調(diào)資源,并且與 NodeManager 協(xié)同工作完成 Task 的執(zhí)行和監(jiān)控。

Container 是 YARN 中的資源抽象,它封裝了某個(gè)節(jié)點(diǎn)上的多維度資源,如內(nèi)存、CPU、磁盤、網(wǎng)絡(luò)等,當(dāng) AM 向 RM 申請(qǐng)資源時(shí),RM 為 AM 返回的資源便是用 Container 表示的。YARN 會(huì)為每個(gè)任務(wù)分配一個(gè) Container 且該任務(wù)只能使用該 Container 中描述的資源。

接下來介紹一個(gè)特殊的 applicationmaster,它就是 Spark。這個(gè)計(jì)算框架非常流行,可以支持流式計(jì)算,圖計(jì)算,數(shù)據(jù)庫查詢。更多關(guān)于 Spark 的介紹,大家可以參考官網(wǎng),本文主要介紹如何讓 spark 應(yīng)用在異構(gòu)計(jì)算平臺(tái)上。

如何在集群中高效地部署和使用 AI 芯片? | 分享總結(jié)

Spark 的數(shù)據(jù)結(jié)構(gòu) RDD (Resilient Distributed Dataset)

RDD 是 Spark 提供的核心抽象,全稱為 Resillient Distributed Dataset,即彈性分布式數(shù)據(jù)集。可以抽象地認(rèn)為它是在一個(gè)集群環(huán)境中的一個(gè)大數(shù)組,這個(gè)數(shù)組不可變,但又可以切分很多的小數(shù)組,每一個(gè)小數(shù)組(partition)被分發(fā)到集群中的幾個(gè)節(jié)點(diǎn),這樣就實(shí)現(xiàn)了數(shù)據(jù)的并行,然后把計(jì)算推送到有數(shù)據(jù)的節(jié)點(diǎn)上,就完成了一次分布式計(jì)算。

如何在集群中高效地部署和使用 AI 芯片? | 分享總結(jié)

RDD 通常通過 Hadoop 上的文件,即 HDFS 文件或者 Hive 表,來進(jìn)行創(chuàng)建;有時(shí)也可以通過應(yīng)用程序中的集合來創(chuàng)建。

RDD 最重要的特性就是,提供了容錯(cuò)性,可以自動(dòng)從節(jié)點(diǎn)失敗中恢復(fù)過來。即如果某個(gè)節(jié)點(diǎn)上的 RDD partition,因?yàn)楣?jié)點(diǎn)故障,導(dǎo)致數(shù)據(jù)丟了,那么 RDD 會(huì)自動(dòng)通過自己的數(shù)據(jù)來源重新計(jì)算該 partition。這一切對(duì)使用者是透明的。

RDD 的數(shù)據(jù)默認(rèn)情況下存放在內(nèi)存中的,但是在內(nèi)存資源不足時(shí),Spark 會(huì)自動(dòng)將 RDD 數(shù)據(jù)寫入磁盤。

Spark on YARN 模式的計(jì)算瓶頸是底層芯片上,關(guān)于這部分可觀看回放視頻介紹。

如何在集群中高效地部署和使用 AI 芯片? | 分享總結(jié)

接下來是CPU,GPU,F(xiàn)PGA,AI芯片在不同的應(yīng)用上的區(qū)別。

如何在集群中高效地部署和使用 AI 芯片? | 分享總結(jié)

圖中綠色的部分是 GPU 計(jì)算核心,GPU 的計(jì)算單元特別豐富,但是控制邏輯單元非常少,這就導(dǎo)致它只能適用于比較規(guī)則的計(jì)算類型,比如卷積運(yùn)算,這種類型的運(yùn)算只是簡單且重復(fù)的做矩陣乘法。因此,最適合用GPU了。

FPGA 和 GPU 的不一樣在于,F(xiàn)PGA 首先設(shè)計(jì)資源受到很大的限制,例如 GPU 如果想多加幾個(gè)核心只要增加芯片面積就行,但 FPGA 一旦你型號(hào)選定了邏輯資源上限就確定了(浮點(diǎn)運(yùn)算在 FPGA 里會(huì)占用很多資源),其次,F(xiàn)PGA 里面的邏輯單元是基于 SRAM-查找表,其性能會(huì)比 GPU 里面的標(biāo)準(zhǔn)邏輯單元差好多。最后,F(xiàn)PGA 的布線資源也受限制(有些線必須要繞很遠(yuǎn)),不像 GPU 這樣走 ASIC flow 可以隨意布線,這也會(huì)限制性能。

現(xiàn)實(shí)中有很多應(yīng)用,不是都適合用 GPU 來處理,比如圖計(jì)算。我們都知道圖是由很多的節(jié)點(diǎn)和邊組成,如果用一個(gè)節(jié)點(diǎn)表示一個(gè)算子,節(jié)點(diǎn)之間的邊表示數(shù)據(jù)相關(guān)或數(shù)據(jù)依賴的話,我們就構(gòu)建了一個(gè)計(jì)算圖,也可以稱為數(shù)據(jù)流圖(DFG)。之所以說圖計(jì)算不適合用 GPU 來做的,是因?yàn)樗鼪]有辦法高效處理這種數(shù)據(jù)依賴,只能通過訪存來傳遞這種依賴。而如果把這種數(shù)據(jù)流圖映射到 FPGA 上,就可以通過計(jì)算單元之間的連線結(jié)構(gòu)來傳遞和處理這種依賴,而且不同的計(jì)算單元可以執(zhí)行不同的算子,再應(yīng)用流水線技術(shù),便可以大大降低訪存的壓力,大幅度提高性能。這就是 FPGA 比較適用于不規(guī)則應(yīng)用(如:圖計(jì)算、流式計(jì)算)的原因所在。

CPU,GPU,F(xiàn)PGA,ASIC 的架構(gòu)特點(diǎn)

如何在集群中高效地部署和使用 AI 芯片? | 分享總結(jié)

下圖是我們團(tuán)隊(duì)研發(fā)的三款芯片,主要用于深度學(xué)習(xí)應(yīng)用的加速。

如何在集群中高效地部署和使用 AI 芯片? | 分享總結(jié)

英特爾FPGA的開發(fā)流程

如何在集群中高效地部署和使用 AI 芯片? | 分享總結(jié)

了解芯片的基本開發(fā)流程后,我們接下來要考慮的是如何高效地管理和使用服務(wù)器上已經(jīng)安裝好的各種加速器資源。為了實(shí)現(xiàn)這個(gè)目標(biāo),需要設(shè)計(jì)和實(shí)現(xiàn)對(duì)應(yīng)的組件或者服務(wù),比如需要一個(gè)監(jiān)控組件用于實(shí)時(shí)監(jiān)控加速器的各種狀態(tài)和資源使用情況,同時(shí)還需要一個(gè)調(diào)度器組件負(fù)責(zé)為多個(gè)應(yīng)用程序分配相應(yīng)的加速器資源。總之,我們需要一個(gè)進(jìn)行資源管理的服務(wù)。

如何在集群中高效地部署和使用 AI 芯片? | 分享總結(jié)

這是我們團(tuán)隊(duì)自主研發(fā)的 StarGate 開源項(xiàng)目。地址:http://github.com/stargate-team/stargate

如何在集群中高效地部署和使用 AI 芯片? | 分享總結(jié)

StarGate 的主要架構(gòu)

如何在集群中高效地部署和使用 AI 芯片? | 分享總結(jié)

接下來是 Spark on StarGate 部分的講解,由于篇幅限制,這里不再做文字內(nèi)容回顧,感興趣的同學(xué)可以直接觀看視頻回放。視頻地址鏈接:http://www.mooc.ai/open/course/479

總結(jié)

當(dāng)前流行的大數(shù)據(jù)生產(chǎn)系統(tǒng)的計(jì)算瓶頸存在于底層芯片上,而芯片能夠在很大程度上緩解計(jì)算壓力。為了說明 AI 芯片強(qiáng)大的計(jì)算能力,分別介紹 AI 芯片的基本架構(gòu)、特性以及適用場景。但是不同的 AI 芯片對(duì)當(dāng)前主流的大數(shù)據(jù)生產(chǎn)系統(tǒng)的支持程度不同,很多時(shí)候需要擴(kuò)展當(dāng)前的生產(chǎn)系統(tǒng)才能集成現(xiàn)有的 AI 芯片。為了最小化 AI 芯片在數(shù)據(jù)中心部署的代價(jià)并且高效地利用 AI 芯片的強(qiáng)大計(jì)算能力,我們?cè)O(shè)計(jì)并開發(fā)了開源項(xiàng)目 StarGate。

以上就是本次雷鋒網(wǎng) AI 研習(xí)社公開課的全部分享內(nèi)容。更多視頻直播課程關(guān)注微信公眾號(hào):AI 研習(xí)社

雷鋒網(wǎng)出品

雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。

如何在集群中高效地部署和使用 AI 芯片? | 分享總結(jié)

分享:
相關(guān)文章

編輯&記者

AI科技評(píng)論員,微信:yeohandwin
當(dāng)月熱門文章
最新文章
請(qǐng)?zhí)顚懮暾?qǐng)人資料
姓名
電話
郵箱
微信號(hào)
作品鏈接
個(gè)人簡介
為了您的賬戶安全,請(qǐng)驗(yàn)證郵箱
您的郵箱還未驗(yàn)證,完成可獲20積分喲!
請(qǐng)驗(yàn)證您的郵箱
立即驗(yàn)證
完善賬號(hào)信息
您的賬號(hào)已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說