一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一窺ARM的AI處理器

dKBf_eetop_1 ? 來(lái)源:未知 ? 作者:胡薇 ? 2018-05-31 11:44 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

ARM公開(kāi)它的ML Processor是在今年春節(jié)前夕,當(dāng)時(shí)公布的信息不多,我也簡(jiǎn)單做了點(diǎn)分析(AI芯片開(kāi)年)。

這次ARM公開(kāi)了更多信息,我們一起來(lái)看看。首先是關(guān)鍵的Feature和一些重要信息,2018年中會(huì)Release。

???

頂層架構(gòu)

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

MLP的頂層對(duì)外來(lái)看是個(gè)比較典型的硬件加速器,它有本地的SRAM,通過(guò)一個(gè)ACE-Lite接口和外部交互數(shù)據(jù)和主要的控制信息(指令)。另外應(yīng)該還有一些控制信號(hào),估計(jì)在這里略去了(可以參考Nvidia的NVDLA)。

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

在頂層標(biāo)出的Broadcast接口,實(shí)現(xiàn)在多個(gè)Compute Engine(后面簡(jiǎn)稱(chēng)為CE)之間廣播feature map數(shù)據(jù)的功能。因此,基本的卷積運(yùn)算模式是,相同的feature map廣播到多個(gè)CE,不同的CE使用不同的weight來(lái)和這些feature map進(jìn)行運(yùn)算。

從目前的配置來(lái)看,MLP包括16個(gè)compute engine,每個(gè)有128個(gè)MAC,即一共有16x128=2048個(gè)MAC,每個(gè)cycle可以執(zhí)行4096個(gè)操作。如果要實(shí)現(xiàn)ARM所說(shuō)的4.6TOPS的總的處理能力,則需要時(shí)鐘周期達(dá)到1.12GHz左右。由于這個(gè)指標(biāo)是針對(duì)7nm工藝,實(shí)現(xiàn)問(wèn)題不大。

???

MCE實(shí)現(xiàn)高效卷積

在MLP的架構(gòu)中,MCE和PLE是最重要的功能模塊。MCE提供主要的運(yùn)算能力(處理90%的運(yùn)算),應(yīng)該也是MLP中面積和功耗最大的部分。因此,MCE設(shè)計(jì)優(yōu)化的一個(gè)主要目標(biāo)就是實(shí)現(xiàn)高效的卷積操作。具體來(lái)講,MLP的設(shè)計(jì)主要考慮了以下一些方法,這些方法大部分我們之前也都討論過(guò)。

一個(gè)比較有趣的點(diǎn)是上面提到的“varied internal precision”。目前還不太清楚其具體的含義。不過(guò)對(duì)應(yīng)用來(lái)說(shuō)看到的應(yīng)該是固定的8bit數(shù)據(jù)類(lèi)型。至于對(duì)低精度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中,應(yīng)該也不會(huì)看到低精度或者Bit-serial MAC了(參考AI芯片開(kāi)年中對(duì)ISSCC2018出現(xiàn)的Bit-serial Processing的介紹)。

此外,數(shù)據(jù)的壓縮和對(duì)工藝的優(yōu)化也是提高整體效率的主要手段。特別是工藝的優(yōu)化,結(jié)合ARM的工藝庫(kù),應(yīng)該有比較好的效果,這也是ARM有優(yōu)勢(shì)的地方。

???

PLE實(shí)現(xiàn)高效的可編程

如下圖所示,PLE的結(jié)構(gòu)基本是在一個(gè)ARM MCU基礎(chǔ)上擴(kuò)展了Vector處理和NN處理的指令。在討論可編程性的時(shí)候,其出發(fā)點(diǎn)主要是NN算法和架構(gòu)目前還在不斷演進(jìn)。

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

對(duì)于做專(zhuān)用處理器的同學(xué)來(lái)說(shuō),這種scalar CPU+vector engine的架構(gòu)并不陌生。這里,本地SRAM,VRF和PLE之外的Maing SRAM Unit(CE中的SRAM)之間有Load/Store單元和uDMA實(shí)現(xiàn)數(shù)據(jù)的傳輸,數(shù)據(jù)流也是比較靈活的。綜合來(lái)看,在MLP中,每個(gè)CE中都有一個(gè)PLE和MCE配合,即每個(gè)MCE(128個(gè)MAC)就對(duì)應(yīng)一個(gè)可編程架構(gòu)。因此,ARM MLP的可編程性和靈活性是要遠(yuǎn)高于Google TPU1和Nvidia的NVDLA的。當(dāng)然,靈活性也意味著更多額外的開(kāi)銷(xiāo),如[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的一個(gè)主要賣(mài)點(diǎn)之一,而ARM的“just enough”是否真是最合適的選擇,還有待進(jìn)一步觀(guān)察。

???

其它信息

在這次發(fā)布中信息中,ARM還強(qiáng)調(diào)了他們?cè)跀?shù)據(jù)壓縮方面的考慮,包括對(duì)lossless compression的硬件支持。這部分內(nèi)容我在之前的文章中也有比較多的討論,就不再贅述了,貼幾張比較有意思的圖,大家看看。

作為一個(gè)IP核,可配置性(configurability)是一個(gè)重要的特征。目前還不知道MLP有哪些硬件參數(shù)可以支持靈活配置。Compute Engine的數(shù)量,MAC數(shù)量,SRAM大小,這些比較大的參數(shù)應(yīng)該有可能是支持配置的。其它更細(xì)致的內(nèi)容還要看最終發(fā)布的情況。另外,這些參數(shù)的配置和相關(guān)的軟件工具有非常密切的關(guān)系,更多的可配置參數(shù)也意味著軟件工具需要相應(yīng)的支持,難度更大。[2]對(duì)此的說(shuō)法:“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.”

???

競(jìng)爭(zhēng)態(tài)勢(shì)

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

在這個(gè)已經(jīng)比較“擁擠”的市場(chǎng),ARM顯然是動(dòng)作比較慢的。[1]一開(kāi)始就提到了,“Analysts generally praised the architecture as a flexible but late response to a market that is already crowded with dozens of rivals.”并列舉了一些競(jìng)爭(zhēng)對(duì)手的例子。

其實(shí),從ARM在處理器IP市場(chǎng)和整個(gè)生態(tài)鏈的關(guān)鍵地位來(lái)看,晚一點(diǎn)關(guān)系也不大。如[1]所說(shuō),一方面,ARM正在和一些智能手機(jī)廠(chǎng)商進(jìn)行深度的合作,“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的另一個(gè)重要優(yōu)勢(shì)是,ARM在推出MLP之前在軟件工具上還是有一些準(zhǔn)備的,包括armnn和開(kāi)源的計(jì)算庫(kù)等等,如下圖。

這些工具的廣泛使用都可以幫助ARM積累經(jīng)驗(yàn),優(yōu)化硬件和軟件工具。正如[1]中引用來(lái)自ARM的說(shuō)法,“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應(yīng)用還是運(yùn)行在A(yíng)RM的各種硬件上的,很多公司在相關(guān)算法和實(shí)現(xiàn)的優(yōu)化上投入了很大的力量,也取得了很好的效果。當(dāng)然這樣帶來(lái)另一個(gè)有趣的問(wèn)題,那就是未來(lái)引入MLP之后,ML任務(wù)到底放到哪里跑?不同特點(diǎn)的處理器怎么配合?文章中正好也提到這個(gè)問(wèn)題,“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.” 看來(lái)這個(gè)“難題”短期之內(nèi)還是丟給用戶(hù)了。

另外一個(gè)值得關(guān)注細(xì)節(jié)是,[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.”從這里可以看出,至少M(fèi)LP在處理能力上還是具有比較強(qiáng)的伸縮性的,應(yīng)該可以覆蓋從Edge到Cloud的大部分的inference應(yīng)用。如果是最高的150TOPS,MAC的規(guī)模應(yīng)該和Google第一代Inference專(zhuān)用的TPU類(lèi)似,不過(guò)相比Google的脈動(dòng)陣列架構(gòu),MLP有更復(fù)雜的控制通道,靈活性還是要高不少。不知道未來(lái),這會(huì)不會(huì)幫助ARM打開(kāi)data center的inference市場(chǎng)。

參考:

1."Arm Gives Glimpse of AI Core",https://www.eetimes.com/document.asp?doc_id=1333307

2."ARM Details “Project Trullium” Machine Learning Processor Architecture", https://www.anandtech.com/show/12791/arm-details-project-trillium-mlp-architecture.

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • ARM
    ARM
    +關(guān)注

    關(guān)注

    134

    文章

    9352

    瀏覽量

    377537
  • AI處理器
    +關(guān)注

    關(guān)注

    0

    文章

    94

    瀏覽量

    9743

原文標(biāo)題:一窺ARM的AI處理器

文章出處:【微信號(hào):eetop-1,微信公眾號(hào):EETOP】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    ARM處理器簡(jiǎn)介及RISC設(shè)計(jì)要點(diǎn)

    ARM個(gè)32位RISC(精簡(jiǎn)指令集)處理器架構(gòu),ARM處理器則是ARM架構(gòu)下的微
    的頭像 發(fā)表于 04-01 08:17 ?9609次閱讀
    <b class='flag-5'>ARM</b><b class='flag-5'>處理器</b>簡(jiǎn)介及RISC設(shè)計(jì)要點(diǎn)

    ARM處理器ARM處理器工作模式

    ARM處理器狀態(tài)ARM處理器的工作狀態(tài)般有兩種,并可在兩種狀態(tài)之間切換:第種為
    發(fā)表于 01-27 11:13

    ARM處理器ARM處理器工作模式

    ARM處理器狀態(tài)ARM處理器的工作狀態(tài)般有兩種,并可在兩種狀態(tài)之間切換:第種為
    發(fā)表于 01-27 14:19

    什么是ARM處理器 ARM處理器有哪些系列

    ARM 處理器種低功耗高性能的 32 位 RISC(精簡(jiǎn)指令系統(tǒng))處理器。從結(jié)構(gòu) 入手對(duì)其進(jìn)行分析,并針對(duì)目前流行的 ARM920T 核
    發(fā)表于 09-24 17:47

    什么是ARM處理器

    廠(chǎng)商的x86架構(gòu)處理器,有IBM的power架構(gòu)處理器,高通蘋(píng)果海思有ARM架構(gòu)處理器。說(shuō)PC端的處理器大家比較熟悉,移動(dòng)端現(xiàn)在幾乎
    發(fā)表于 11-24 07:05

    ARM處理器的編程模型

    簡(jiǎn)介ARM處理器編程模型的些基本概念,包括工作狀態(tài)切換、數(shù)據(jù)的存儲(chǔ)格式、處理器異常等,通過(guò)對(duì)本章的閱讀,希望讀者能了解ARM
    發(fā)表于 09-09 14:54 ?382次下載

    ARM處理器的編程模型

    ARM處理器的編程模型 目錄ARM處理器的工作狀態(tài)ARM體系結(jié)構(gòu)的存儲(chǔ)格式指令長(zhǎng)度及數(shù)據(jù)
    發(fā)表于 02-21 09:14 ?50次下載

    ARM處理器的工作模式

    ARM處理器的工作模式 ARM處理器狀態(tài)    ARM處理器
    發(fā)表于 03-01 15:41 ?30次下載

    ARM,ARM處理器是什么意思

    ARM,ARM處理器是什么意思 ARM處理器簡(jiǎn)介 ARM(Advanced RISC Mach
    發(fā)表于 03-26 10:53 ?5484次閱讀

    基于ARM和CPLD的無(wú)線(xiàn)內(nèi)系統(tǒng)設(shè)計(jì)

    基于ARM和CPLD的無(wú)線(xiàn)內(nèi)系統(tǒng)設(shè)計(jì)
    發(fā)表于 01-24 16:15 ?19次下載

    初識(shí)ARM系列處理器

    11和SecurCore,其中ARM11為最近推出的產(chǎn)品。進(jìn)步的產(chǎn)品來(lái)自于合作伙伴,例如Intel Xscale ARM7、ARM9、ARM
    發(fā)表于 10-18 15:51 ?3次下載

    arm是什么處理器,arm處理器匯總

    ARM處理器是Acorn計(jì)算機(jī)有限公司面向低預(yù)算市場(chǎng)設(shè)計(jì)的第款RISC微處理器。更早稱(chēng)作Acorn RISC Machine。ARM
    發(fā)表于 11-10 16:32 ?3393次閱讀

    arm的協(xié)處理器有幾個(gè)?ARM協(xié)處理器詳解

    本文首先介紹了ARM處理器特點(diǎn)與主要模式,其次介紹了arm的協(xié)處理器有幾個(gè),最后介紹了CP14和CP15系統(tǒng)控制協(xié)處理器
    發(fā)表于 04-24 15:34 ?9258次閱讀

    解答arm是什么/arm處理器采用什么技術(shù)

    ,ARM(Adanced RISC Machines),不僅是是處理器的通稱(chēng),也是個(gè)公司名字,還可以認(rèn)為是種技術(shù)名字。
    發(fā)表于 10-26 09:46 ?8477次閱讀

    arm處理器有哪些中斷源?arm處理器對(duì)異常中斷的響應(yīng)過(guò)程

    arm處理器有哪些中斷源?arm處理器對(duì)異常中斷的響應(yīng)過(guò)程? ARM處理器
    的頭像 發(fā)表于 10-19 16:35 ?1962次閱讀