《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業界動態 > 一窺ARM的AI處理器

一窺ARM的AI處理器

2018-05-30
關鍵詞: ARM ADI MLProcesor AI

最近,ARM進一步公開了ML Procesor的一些信息。EETimes的文章“Arm Gives Glimpse of AI Core”[1] 和 AnandTech的文章“ARM Details “Project Trillium” Machine Learning Processor Architecture”分別從不同角度進行了介紹,值得我們仔細分析。


ARM公開它的ML Processor是在今年春節前夕,當時公布的信息不多,我也簡單做了點分析(AI芯片開年)。

這次ARM公開了更多信息,我們一起來看看。首先是關鍵的Feature和一些重要信息,2018年中會Release。


微信圖片_20180530232600.jpg



微信圖片_20180530232732.jpg

???

頂層架構

與最初公布的基本框圖相比,我們這次看到了更細化的模塊框圖和連接關系,如下圖所示。


微信圖片_20180530232809.jpg

MLP的頂層對外來看是個比較典型的硬件加速器,它有本地的SRAM,通過一個ACE-Lite接口和外部交互數據和主要的控制信息(指令)。另外應該還有一些控制信號,估計在這里略去了(可以參考Nvidia的NVDLA)。

在上圖中綠色箭頭應該表示的是數據流,紅色表示控制流。MLP中的CE共享一套DMA,Control Unit和Sync Unit,它的基本處理流程大概是這樣的:1. 配置Control Unit和DMA Engine;2. DMA Engine從外部(如DDR)讀入數據存在本地的SRAM中;3. Input Feature Map Read模塊和Weight Read模塊分別讀入待運算的feature map和weight,處理(比如Weight的解壓縮),并發送到MAC Convolution Engine(后面簡稱為MCE);4. MCE執行卷積等操作,并把結果傳輸給Programmable Layer Engine(后面簡稱為PLE);5. PLE執行其它處理,并將結果寫回本地SRAM;6. DMA Engine把結果傳輸到外部存儲空間(如DDR)。

微信圖片_20180530232846.jpg



在頂層標出的Broadcast接口,實現在多個Compute Engine(后面簡稱為CE)之間廣播feature map數據的功能。因此,基本的卷積運算模式是,相同的feature map廣播到多個CE,不同的CE使用不同的weight來和這些feature map進行運算。

從目前的配置來看,MLP包括16個compute engine,每個有128個MAC,即一共有16x128=2048個MAC,每個cycle可以執行4096個操作。如果要實現ARM所說的4.6TOPS的總的處理能力,則需要時鐘周期達到1.12GHz左右。由于這個指標是針對7nm工藝,實現問題不大。

???

MCE實現高效卷積

在MLP的架構中,MCE和PLE是最重要的功能模塊。MCE提供主要的運算能力(處理90%的運算),應該也是MLP中面積和功耗最大的部分。因此,MCE設計優化的一個主要目標就是實現高效的卷積操作。具體來講,MLP的設計主要考慮了以下一些方法,這些方法大部分我們之前也都討論過。

微信圖片_20180530233208.jpg



一個比較有趣的點是上面提到的“varied internal precision”。目前還不太清楚其具體的含義。不過對應用來說看到的應該是固定的8bit數據類型。至于對低精度Inference的支持,[1]中提供的信息是,“The team is tracking research on data types down to 1-bit precision, including a novel 8-bit proposal from Microsoft. So far, the alternatives lack support in tools to make them commercially viable, said Laudick.” 因此在第一版的MLP中,應該也不會看到低精度或者Bit-serial MAC了(參考AI芯片開年中對ISSCC2018出現的Bit-serial Processing的介紹)。

此外,數據的壓縮和對工藝的優化也是提高整體效率的主要手段。特別是工藝的優化,結合ARM的工藝庫,應該有比較好的效果,這也是ARM有優勢的地方。

???

PLE實現高效的可編程性

如下圖所示,PLE的結構基本是在一個ARM MCU基礎上擴展了Vector處理和NN處理的指令。在討論可編程性的時候,其出發點主要是NN算法和架構目前還在不斷演進。

微信圖片_20180530233242.jpg



我們前面已經分析了整個MLP的基本工作流程,MCE在完成了運算之后把結果傳輸給PLE。從這里可以看出,MCE應該是把結果發送到Vector Register File(VRF),然后產生中斷通知CPU。之后,CPU啟動Vector Engine對數據進行處理。具體如下圖所示。

微信圖片_20180530233412.jpg



對于做專用處理器的同學來說,這種scalar CPU+vector engine的架構并不陌生。這里,本地SRAM,VRF和PLE之外的Maing SRAM Unit(CE中的SRAM)之間有Load/Store單元和uDMA實現數據的傳輸,數據流也是比較靈活的。綜合來看,在MLP中,每個CE中都有一個PLE和MCE配合,即每個MCE(128個MAC)就對應一個可編程架構。因此,ARM MLP的可編程性和靈活性是要遠高于Google TPU1和Nvidia的NVDLA的。當然,靈活性也意味著更多額外的開銷,如[1]中指出的,“The programmable layer engine (PLE) on each slice of the core offers “just enough programmability to perform [neural-net] manipulations””。High-efficient Programmability是MLP的一個主要賣點之一,而ARM的“just enough”是否真是最合適的選擇,還有待進一步觀察。


???

其它信息

在這次發布中信息中,ARM還強調了他們在數據壓縮方面的考慮,包括對lossless compression的硬件支持。這部分內容我在之前的文章中也有比較多的討論,就不再贅述了,貼幾張比較有意思的圖,大家看看。

微信圖片_20180530233450.jpg







微信圖片_20180530233514.jpg

微信圖片_20180530233538.jpg

作為一個IP核,可配置性(configurability)是一個重要的特征。目前還不知道MLP有哪些硬件參數可以支持靈活配置。Compute Engine的數量,MAC數量,SRAM大小,這些比較大的參數應該有可能是支持配置的。其它更細致的內容還要看最終發布的情況。另外,這些參數的配置和相關的軟件工具有非常密切的關系,更多的可配置參數也意味著軟件工具需要相應的支持,難度更大。[2]對此的說法:“In terms of scalability the MLP is meant to come with configurable compute engine setups from 1 CE up to 16 CEs and a scalable SRAM buffer up to 1MB. The current active designs however are the 16CE and 1MB configurations and smaller scaled down variants will happen later on in the product lifecycle.”

???

競爭態勢

除了比較中規中矩的性能指標外,ARM還沒有公布MLP具體的面積,功耗等參數,以及具體發布的日期(目前的說法是“production release of the RTL is on track for mid-year”)。

在這個已經比較“擁擠”的市場,ARM顯然是動作比較慢的。[1]一開始就提到了,“Analysts generally praised the architecture as a flexible but late response to a market that is already crowded with dozens of rivals.”并列舉了一些競爭對手的例子。

其實,從ARM在處理器IP市場和整個生態鏈的關鍵地位來看,晚一點關系也不大。如[1]所說,一方面,ARM正在和一些智能手機廠商進行深度的合作,“ In a sign of Arm’s hunger to unseat its rivals in AI, the company has “gone further than we normally would, letting [potential smartphone customers] look under the hood””。

ARM的另一個重要優勢是,ARM在推出MLP之前在軟件工具上還是有一些準備的,包括armnn和開源的計算庫等等,如下圖。

微信圖片_20180530233602.jpg



這些工具的廣泛使用都可以幫助ARM積累經驗,優化硬件和軟件工具。正如[1]中引用來自ARM的說法,“Winning the hearts and minds of software developers is increasingly key in getting design wins for hardware sockets...This is kind of the start of software 2.0. For a processor company, that is cool. But it will be a slow shift, there’s a lot of things to be worked out, and the software and hardware will move in steps.” 


我們也看到,目前大量的嵌入AI應用還是運行在ARM的各種硬件上的,很多公司在相關算法和實現的優化上投入了很大的力量,也取得了很好的效果。當然這樣帶來另一個有趣的問題,那就是未來引入MLP之后,ML任務到底放到哪里跑?不同特點的處理器怎么配合?文章中正好也提到這個問題,“Arm will release more data on the core’s performance when it is launched, probably in mid-June. But don’t expect detailed guidance on when to run what AI jobs on its CPU, GPU, or new machine-learning cores, a complex issue that the company, so far, is leaving to its SoC and OEM customers.” 看來這個“難題”短期之內還是丟給用戶了。


另外一個值得關注細節是,[1]中提到,“Theoretically, the design scales from 20 GOPS to 150 TOPS, but the demand for inference in the Internet of Things will pull it first to the low end. Arm is still debating whether it wants to design a core for the very different workloads of the data center that includes training. “We are looking at [a data center core], but it’s a jump from here,” and its still early days for thoughts on a design specific for self-driving cars, said Laudick.”從這里可以看出,至少MLP在處理能力上還是具有比較強的伸縮性的,應該可以覆蓋從Edge到Cloud的大部分的inference應用。如果是最高的150TOPS,MAC的規模應該和Google第一代Inference專用的TPU類似,不過相比Google的脈動陣列架構,MLP有更復雜的控制通道,靈活性還是要高不少。不知道未來,這會不會幫助ARM打開data center的inference市場。


本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲免费大片| 欧美专区在线| 欧美亚洲三区| 亚洲欧美日韩精品| 亚洲男人影院| 亚洲欧美精品一区| 亚洲欧美国产不卡| 亚洲欧美成人在线| 性欧美超级视频| 午夜视频在线观看一区| 亚洲欧美一区二区三区久久| 亚洲午夜影视影院在线观看| 亚洲视频专区在线| 亚洲影视在线| 午夜在线观看免费一区| 欧美一级网站| 亚洲高清视频一区| 最新日韩精品| 日韩视频免费观看高清完整版| 亚洲国产日韩欧美在线99| 久久国产精品色婷婷| 亚洲国产成人在线| 亚洲毛片av| 亚洲午夜在线| 欧美一区二区日韩| 久久久噜久噜久久综合| 久久综合综合久久综合| 欧美a级片网站| 欧美日韩精品不卡| 国产精品久久久久77777| 国产精品午夜在线观看| 国产亚洲精品久久久久婷婷瑜伽| 国产一区二区三区四区老人| 亚洲二区在线观看| 亚洲精品极品| 亚洲无限av看| 久久精品国产在热久久 | 久久男人资源视频| 欧美成人精品1314www| 欧美日韩国产小视频在线观看| 欧美四级电影网站| 国产欧美日韩在线播放| 黄色成人av| 日韩视频免费观看高清完整版| 一区二区三区视频在线看| 亚洲欧美日韩一区二区在线| 亚洲国产岛国毛片在线| 亚洲神马久久| 久久av红桃一区二区小说| 免费成人黄色| 欧美三级黄美女| 国产一区自拍视频| 亚洲精品永久免费| 亚洲免费一在线| 亚洲日本va在线观看| 亚洲永久免费观看| 久久久www免费人成黑人精品| 免费试看一区| 国产精品日韩在线播放| 亚洲成色www久久网站| 亚洲视频精品| 亚洲激情在线激情| 午夜精品剧场| 欧美福利在线观看| 国产精品乱码一区二三区小蝌蚪 | 黄网站免费久久| 在线亚洲成人| 亚洲欧洲日产国产网站| 午夜精品福利视频| 欧美激情偷拍| 国产亚洲毛片| 一本色道久久88综合亚洲精品ⅰ| 久久er精品视频| 亚洲影院色无极综合| 免费日韩精品中文字幕视频在线| 国产精品色网| 亚洲美女av黄| 亚洲国产成人在线视频| 午夜激情综合网| 欧美日本精品| 伊人激情综合| 午夜精品一区二区三区电影天堂 | 亚洲午夜一区二区三区| 另类天堂视频在线观看| 国产毛片精品国产一区二区三区| 91久久精品国产91性色tv| 性高湖久久久久久久久| 亚洲一区日本| 欧美精品免费播放| 亚洲夫妻自拍| 久久精品99国产精品日本| 欧美一二三区在线观看| 欧美日韩在线另类| 最新日韩在线| 亚洲欧洲精品一区二区精品久久久| 久久国产一区二区| 国产精品久久国产三级国电话系列 | 亚洲一区不卡| 欧美精品一区二区三区高清aⅴ| 狠狠色综合色综合网络| 欧美一级大片在线观看| 午夜电影亚洲| 国产精品国产a级| 亚洲精品日韩久久| 亚洲另类在线视频| 牛夜精品久久久久久久99黑人 | 亚洲一区二区高清| 亚洲午夜一区| 欧美日韩三区| 亚洲裸体俱乐部裸体舞表演av| 亚洲欧洲精品成人久久奇米网 | 国产伦精品一区二区三区免费迷| 一本色道精品久久一区二区三区| 一区二区电影免费观看| 欧美精品一区二区三区在线播放| 亚洲二区视频| 亚洲精品国产精品国产自| 女人天堂亚洲aⅴ在线观看| 亚洲电影第三页| 亚洲国产一区在线观看| 美女视频黄免费的久久| 依依成人综合视频| 欧美在线视频播放| 久久久午夜视频| 伊人久久亚洲热| 亚洲电影在线播放| 欧美肥婆bbw| 日韩视频在线一区二区| 亚洲图片欧美一区| 欧美亚州一区二区三区| 亚洲欧美国产另类| 久久国产精品毛片| 国内精品久久久久影院优| 亚洲国产精品久久| 欧美成人r级一区二区三区| 亚洲激情二区| 一区二区三区四区五区精品视频| 欧美日韩亚洲一区三区| 亚洲性感美女99在线| 欧美在线视频a| 国产一在线精品一区在线观看| 亚洲国产成人av好男人在线观看| 欧美高清视频一区| 一区二区黄色| 欧美一区二视频在线免费观看| 牛牛精品成人免费视频| 精品成人国产| 亚洲精品四区| 国产精品扒开腿做爽爽爽软件| 亚洲一区在线观看免费观看电影高清 | 亚洲午夜av电影| 国产精品色网| 亚洲国产精品一区在线观看不卡 | 欧美色综合天天久久综合精品| 亚洲一区二区免费在线| 久久久精彩视频| 亚洲精品三级| 欧美一区二区高清| 原创国产精品91| 亚洲婷婷在线| 国产一在线精品一区在线观看| 亚洲狼人精品一区二区三区| 国产精品久久91| 亚洲国产精品一区二区第四页av| 欧美日韩视频不卡| 欧美一区二区免费视频| 欧美激情一区二区三区成人| 亚洲视频免费在线| 久久免费国产精品| 99国产麻豆精品| 久久精品91久久香蕉加勒比| 亚洲日本欧美天堂| 欧美在线播放一区| 亚洲激情在线| 欧美综合激情网| 日韩午夜精品| 久久久久久久久久码影片| 日韩一级视频免费观看在线| 久久精品国产精品亚洲精品| 亚洲伦伦在线| 久久中文在线| 亚洲图片欧美一区| 欧美高清在线视频| 欧美一区二区三区四区在线观看地址| 欧美激情成人在线| 午夜亚洲激情| 欧美日韩你懂的| 亚洲精品1区2区| 国产女同一区二区| 中国成人亚色综合网站| 国语自产精品视频在线看| 亚洲综合首页| 91久久精品国产91性色tv| 久久久久99| 亚洲视频在线观看| 欧美另类高清视频在线| 亚洲激情婷婷| 狠狠干成人综合网| 欧美中文字幕在线播放| 在线亚洲电影|