《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業界動態 > 一窺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网站| 亚洲乱亚洲高清| 亚洲第一网站| 激情视频一区二区三区| 国语自产精品视频在线看| 国产精品看片资源| 国产精品亚洲网站| 国产噜噜噜噜噜久久久久久久久| 欧美性一二三区| 国产精品你懂的在线| 国产精品你懂的在线| 国产精品女人网站| 国产精品美女久久久久久2018 | 国产精品99久久久久久www| 99国产精品久久久久老师| 亚洲免费av观看| 一区二区三区 在线观看视| 99这里只有精品| 亚洲另类在线视频| 夜夜爽99久久国产综合精品女不卡| 日韩一二三在线视频播| 夜夜嗨av一区二区三区网页| 亚洲一二三级电影| 狂野欧美性猛交xxxx巴西| 久久精彩视频| 久久香蕉精品| 免费影视亚洲| 久久精品国产精品亚洲综合| 久久九九国产精品怡红院| 久久久久久成人| 久热国产精品视频| 欧美激情亚洲自拍| 欧美视频在线观看视频极品| 国产精品亚洲第一区在线暖暖韩国| 国产午夜亚洲精品羞羞网站| 国内精品久久久久久久影视蜜臀| 影音先锋亚洲精品| 在线免费观看日本一区| 日韩亚洲精品视频| 亚洲特级毛片| 亚洲电影有码| 日韩亚洲欧美成人一区| 亚洲欧美国产77777| 久久精品视频播放| 欧美精品xxxxbbbb| 国产精品亚洲一区二区三区在线| 韩国精品在线观看| 日韩视频在线一区| 欧美一区二区三区电影在线观看| 亚洲激情第一页| 一区二区三欧美| 久久av二区| 欧美精品麻豆| 国产日韩欧美中文在线播放| 亚洲国产成人tv| 亚洲男女自偷自拍图片另类| 91久久精品一区| 亚洲欧美日韩直播| 蜜臀久久99精品久久久画质超高清| 欧美午夜精品| 樱桃成人精品视频在线播放| 夜夜嗨av一区二区三区网页| 亚洲电影毛片| 亚洲免费中文| 欧美国产日韩在线观看| 国产嫩草影院久久久久| 亚洲伦理一区| 亚洲国产色一区| 亚洲欧美日韩国产综合精品二区| 蜜臀91精品一区二区三区| 国产精品三级视频| 亚洲精品视频在线观看免费| 久久国产天堂福利天堂| 亚洲欧美日韩视频二区| 免费成人av在线| 国产性猛交xxxx免费看久久| 日韩亚洲欧美在线观看| 亚洲国产精品专区久久| 欧美在线观看一区| 欧美日韩精品三区| 一区视频在线播放| 欧美一级午夜免费电影| 亚洲永久视频| 欧美精品色一区二区三区| 激情欧美一区二区| 午夜精品久久久久久| 亚洲私人影院| 欧美久久久久久久久| 一区福利视频| 久久国产主播精品| 亚欧美中日韩视频| 国产精品久久久久久久久久三级 | 亚洲国产精品黑人久久久| 亚洲欧美日韩国产一区| 欧美片网站免费| 黄色av日韩| 欧美一区二区视频在线观看| 午夜久久久久久| 欧美色大人视频| 亚洲精品男同| 亚洲精品国产精品国自产在线| 久久久99精品免费观看不卡| 国产精品自拍三区| 亚洲四色影视在线观看| 亚洲先锋成人| 欧美日韩无遮挡| 亚洲美女在线一区| 一本色道88久久加勒比精品 | 先锋亚洲精品| 欧美一级成年大片在线观看| 欧美性一区二区| 亚洲视频综合| 亚洲欧美另类中文字幕| 欧美性猛片xxxx免费看久爱| 日韩午夜av在线| 一区二区高清在线| 欧美日韩一区二区视频在线| 亚洲美女黄网| 亚洲视频 欧洲视频| 欧美日韩国内| 99精品热视频只有精品10| 99精品欧美一区二区蜜桃免费| 欧美精品色综合| 9人人澡人人爽人人精品| 亚洲视频视频在线| 国产精品成人播放| 亚洲免费在线精品一区| 欧美一区二区三区视频| 国产日本欧美在线观看| 久久国产精品久久久久久久久久| 久久久亚洲国产美女国产盗摄| 国内视频一区| 亚洲欧洲在线看| 欧美日韩国产一区| 在线亚洲+欧美+日本专区| 亚洲欧美国产三级| 国产女主播一区二区三区| 久久狠狠亚洲综合| 欧美成人tv| 亚洲精品视频中文字幕| 亚洲综合欧美日韩| 国产小视频国产精品| 亚洲国产高清自拍| 欧美日韩成人精品| 亚洲天天影视| 久久精品视频在线播放| 在线观看亚洲专区| 中国成人亚色综合网站| 国产精品视频一二三| 欧美呦呦网站| 欧美国产日韩二区| 亚洲婷婷综合久久一本伊一区| 欧美一区二区网站| 亚洲电影免费观看高清完整版| 一区二区av| 国产一区二区三区高清在线观看 | 欧美**人妖| 一区二区欧美亚洲| 久久精品视频在线观看| 最新国产乱人伦偷精品免费网站| 亚洲午夜电影| 国产午夜精品理论片a级探花| 亚洲日本一区二区三区| 国产精品成人aaaaa网站| 久久爱www久久做| 欧美日韩一区综合| 久久精品国产免费| 欧美日韩xxxxx| 性一交一乱一区二区洋洋av| 欧美成人午夜免费视在线看片 | 欧美一区二区三区在线免费观看| 一区二区三区在线免费视频| 亚洲视频一区| 韩国v欧美v日本v亚洲v| 亚洲一本视频| 在线日韩欧美| 午夜在线一区| 最新日韩中文字幕| 久久精品国产免费观看| 亚洲精品激情| 久久久亚洲成人| 亚洲午夜精品网| 欧美成人a∨高清免费观看| 亚洲永久在线| 欧美片网站免费| 久久av一区二区| 国产精品a级| 亚洲日本一区二区| 国产亚洲一级高清| 亚洲一区二区久久| 亚洲国产精品久久久久秋霞影院| 亚洲永久免费观看| 亚洲精美视频| 久久久噜噜噜久久久| 亚洲无限乱码一二三四麻| 欧美大片免费| 久久精品亚洲热| 国产日韩在线不卡| 亚洲欧美久久久|