在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

不同角度進行介紹ML Procesor的一些信息,值得我們仔細分析

DPVg_AI_era ? 來源:未知 ? 作者:李倩 ? 2018-05-31 16:40 ? 次閱讀

最近,ARM 進一步公開了ML Procesor 的一些信息。本文從不同角度進行了介紹,值得我們仔細分析。

最近,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。

pIYBAFsPtbyAa8C6AAFEx1cH5xU799.png

pIYBAFsPtbyAcX-1AAEnI1T3RBY941.png

頂層架構

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

pIYBAFsPtbyAW3huAAFAhEAOYeQ508.png

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)。

pIYBAFsPtbyAe1pNAAEeQAuvJfY325.png

在頂層標出的 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 的設計主要考慮了以下一些方法,這些方法大部分我們之前也都討論過。

pIYBAFsPtb2AZORrAAEhc-wzlmU255.png

一個比較有趣的點是上面提到的 “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 算法和架構目前還在不斷演進。

pIYBAFsPtb2AH_NfAAE9FSNj6j0268.png

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

pIYBAFsPtb6AO3DSAAD70t2MxfY204.png

對于做專用處理器的同學來說,這種 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 的硬件支持。這部分內容我在之前的文章中也有比較多的討論,就不再贅述了,貼幾張比較有意思的圖,大家看看。

pIYBAFsPtb6ADowXAAGHz5IRtHw690.png

pIYBAFsPtb6AfO-kAAEJE-CXX0Y078.png

pIYBAFsPtb-ATCnZAAEWHgmH3M8828.png

作為一個 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 designshoweverare 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 和開源的計算庫等等,如下圖。

pIYBAFsPtb-AfnDbAADUJBPrc9w382.png

這些工具的廣泛使用都可以幫助 ARM 積累經驗,優化硬件和軟件工具。正如 [1] 中引用來自 ARM 的說法,“Winningthe 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 onwhen 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.Armis still debating whether it wants to design a core for the very different workloads of the datacenterthat includes training. “We are looking at [a datacentercore], 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 市場。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 處理器
    +關注

    關注

    68

    文章

    19329

    瀏覽量

    230141
  • ARM
    ARM
    +關注

    關注

    134

    文章

    9105

    瀏覽量

    367908
  • AI
    AI
    +關注

    關注

    87

    文章

    31028

    瀏覽量

    269381

原文標題:一窺 ARM 的 AI 處理器

文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    【AWorks試用體驗】+硬件篇之開膛破腹分析

    :對應我們來說 差別不大;外設多少稍有差別。再來看看功能框圖:周立功好就好在總能想到你沒想到的,服務于工程師:這么豐富的外接功能開發,覆蓋了大部分領域開發;下面針對我們這塊板子,仔細分析電路吧.首先
    發表于 08-17 15:51

    介紹一些SVA基本的概念和常用的語法

    ;#036;countones(gnt) == 0)));表面上看,二者似乎樣。仔細分析下,在clock 8的phase,由于gnt=0,整個assertion直接被disable,我們也就沒法檢測出上
    發表于 10-27 16:37

    仔細分析下RSS的邏輯實現

    在網卡領域,多隊列技術已經是項很常用的技術,而網絡報文的負載分流,常見的就是RSS。本文就索性仔細分析下RSS的邏輯實現,同時以SpinalHDL給出RSS中最為關鍵的Toeplitz Hash
    發表于 11-09 14:57

    ARM指令集體系結構(ISA)的一些功能介紹

    本指南介紹了特定于每個ARM指令集體系結構(ISA)的一些功能,并考慮了哪些應用程序最好地利用了這些功能。該指南的重點是Cortex-R。然而,我們也考慮Cortex-A和Cortex-M,在幫
    發表于 08-02 07:39

    基于HTML 標記的信息隱藏方法

    本文通過仔細分析 HTML 中標記的各種性質,提出了幾種新的基于標記的隱藏信息的方法。這些方法的隱蔽性較好;綜合運用這些方法可以獲得較大的信息隱藏容量,具有較高的隱
    發表于 08-24 11:18 ?21次下載

    關于PID一些常用知識

    本文檔詳細介紹分析了關于PID的一些常用知識
    發表于 08-29 14:22 ?2次下載

    關于信息治理與云的一些事實

    關于信息治理與云的一些事實
    發表于 12-28 11:07 ?0次下載

    窺ARM的AI處理器

    EETimes的文章“Arm Gives Glimpse of AI Core”[1] 和 AnandTech的文章“ARM Details “Project Trillium” Machine Learning Processor Architecture”分別從不同角度進行
    的頭像 發表于 05-31 11:44 ?3736次閱讀
    <b class='flag-5'>一</b>窺ARM的AI處理器

    AI芯片大戰后,ARM的“just enough”是否真是最合適的選擇?

    “Project Trillium” Machine Learning Processor Architecture”分別從不同角度進行介紹值得
    發表于 08-29 08:55 ?1083次閱讀

    一些開關電源的拓撲結構詳細分析

    本文檔的主要內容詳細介紹的是一些開關電源的拓撲結構詳細分析
    發表于 01-06 00:16 ?20次下載
    <b class='flag-5'>一些</b>開關電源的拓撲結構詳<b class='flag-5'>細分析</b>

    恒大造車值得我們多給其一些耐心與期待

    礪石導言:對恒大汽車這樣投入巨大,業務復雜,需要心無旁騖發展的初創企業,我們建議公眾多一些善意,少一些臆測與干擾,只要其是踏踏實實地在做業務,而沒有做任何危害社會,危害用戶的事情,就值得
    的頭像 發表于 12-15 15:41 ?1237次閱讀

    介紹一些大功率IGBT模塊應用中的一些技術

    PPT主要介紹了大功率IGBT模塊應用中的一些技術,包括參數解讀、器件選型、驅動技術、保護方法以及失效分析等。
    發表于 09-05 11:36 ?801次閱讀

    一些對OpenMP進行優化的方法

    本文調研了一些對OpenMP進行優化的方法。
    的頭像 發表于 10-18 09:44 ?1752次閱讀

    我們的微服務中為什么需要網關?

    Cloud Gateway,不過在之前的介紹中,我可能更加側重于跟小伙伴們介紹 Spring Cloud Gateway 的用法,對于我們在微服務中為什么要使用 Spring Cloud Gateway 可能沒有和大家
    的頭像 發表于 05-04 17:38 ?1283次閱讀
    <b class='flag-5'>我們</b>的微服務中為什么需要網關?

    我們為什么需要了解一些先進封裝?

    我們為什么需要了解一些先進封裝?
    的頭像 發表于 11-23 16:32 ?592次閱讀
    <b class='flag-5'>我們</b>為什么需要了解<b class='flag-5'>一些</b>先進封裝?
    主站蜘蛛池模板: 成人午夜网址| 欧美18性欧美丶黑吊| 亚洲视频精品| 夜夜操操操| 天堂网在线www资源在线| 人人干狠狠操| www奇米影视com| 26uuu影院亚洲欧美综合| 久久久久国产成人精品亚洲午夜| 国产一区中文字幕在线观看| 亚洲毛片大全| 日韩欧美黄色| 久久国产三级| 中国美女一级黄色片| 天堂网资源www| 成人黄色一级片| 亚洲一区色| 诱人的老师bd高清日本在线观看| 天堂在线.www资源在线观看| 欧美色惰| 成人a毛片高清视频| 日本精品视频一视频高清| 亚洲乱淫| 高清不卡一区| 色婷婷在线视频| 好吊操免费视频| 天天做天天爱夜夜爽女人爽宅| 国产精品免费久久久久影院| 亚色网站| 色网站综合| 国产乱码1卡一卡二卡| 日韩一级片视频| 在线视频 一区二区| 五月婷婷色视频| 精品卡1卡2卡三卡免费网站视频| 午夜视频你懂的| 手机在线完整视频免费观看| 在线www天堂资源网| 欧美成人性色| 亚洲一本之道在线观看不卡| 99久久精品99999久久|