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

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

0

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

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

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

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

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

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

分享提綱:

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

  • Spark分布式計算框架的介紹

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

  • 開源項目StarGate

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

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

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

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

NodeManager (NM) 是每個節(jié)點上的資源和任務(wù)管理器。它會定時地向 RM 匯報本節(jié)點上的資源使用情況和各個 Container 的運行狀態(tài);同時會接收并處理來自 AM 的 Container 啟動/停止等請求。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

雷鋒網(wǎng)出品

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

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

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

編輯&記者

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