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

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

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

IMC為什么會(huì)回歸?

Astroys ? 來(lái)源:Astroys ? 作者:Astroys ? 2022-11-09 09:55 ? 次閱讀

In-memory computing(以下簡(jiǎn)稱(chēng)IMC)是一種古老而有爭(zhēng)議的組織計(jì)算機(jī)硬件的方式,以最大限度地減少能耗并提高性能,但除了在一些非常特定的應(yīng)用中,它從未真正進(jìn)入主流。但邊緣計(jì)算AI的需求可能為這種架構(gòu)理念提供了機(jī)會(huì)。

IMC將計(jì)算元素放在內(nèi)存中而不是中央處理器中的概念在計(jì)算機(jī)科學(xué)的邊緣有很長(zhǎng)的歷史。IMC是那些總是建立在合理推理基礎(chǔ)上的想法之一,而且非常有意義,甚至影響了計(jì)算機(jī)架構(gòu)的重大進(jìn)步,但卻沒(méi)有以其純粹的形式突破主流。但現(xiàn)在,一種古老的錄音技術(shù)、邊緣計(jì)算的限制和深度學(xué)習(xí)網(wǎng)絡(luò)的內(nèi)部結(jié)構(gòu)的奇妙結(jié)合,可能會(huì)把IMC重新拉回聚光燈下。

一個(gè)古老的觀點(diǎn)

IMC的概念可以追溯到計(jì)算機(jī)的早期。計(jì)算機(jī)工程師們很快意識(shí)到,雖然馮諾依曼架構(gòu)(中央處理器從主存儲(chǔ)單元讀取指令和數(shù)據(jù))非常靈活并被普遍采用,但它的效率往往很低。重復(fù)地從內(nèi)存中獲取少量數(shù)據(jù),做一些簡(jiǎn)單的計(jì)算,然后把結(jié)果放回內(nèi)存的算法,一遍又一遍地,花費(fèi)大量的時(shí)間和精力獲取指令和移動(dòng)數(shù)據(jù),但在實(shí)際計(jì)算上花費(fèi)的時(shí)間和精力卻被壓縮了。由于從內(nèi)存中獲取一個(gè)單詞的時(shí)間和能量幾乎總是比CPU中的算術(shù)或邏輯成本大,這種低效很要命,特別是在像邊緣計(jì)算這樣的功耗受限的環(huán)境中。

一些架構(gòu)師采取了顯而易見(jiàn)的行動(dòng),為什么把它們?nèi)考性贑PU中,而不直接將簡(jiǎn)單的計(jì)算元素構(gòu)建到內(nèi)存單元中呢?理論上,這將大大減少所有讀寫(xiě)操作的時(shí)間延遲和功耗,并且可以繞過(guò)CPU不斷獲取和解碼指令的需要。

現(xiàn)實(shí)的阻礙

事實(shí)證明,不這么做有一些非常好的實(shí)際理由。賦予內(nèi)存計(jì)算元素什么樣的能力是至關(guān)重要的。將這些功能放在哪里,以及如何將它們連接到內(nèi)存陣列中也是如此。雖然通常有可能設(shè)計(jì)一個(gè)IMC架構(gòu),在一組很窄的算法上工作得很好,但你越試圖使架構(gòu)通用,你放棄的效率就越多。如果你只是在CPU上做了一些聰明的事,那么很快就會(huì)得到一個(gè)效率較低的架構(gòu)。

CPU架構(gòu)師很聰明。他們用另一種方法來(lái)解決所有這些讀寫(xiě)的低效問(wèn)題:緩存。然后是更多緩存,更多的緩存層。通過(guò)嘗試讓大多數(shù)讀寫(xiě)操作發(fā)生在緩存而不是主內(nèi)存中,可以消除一些低效的問(wèn)題(取決于緩存和相關(guān)算法)。

與此同時(shí),主存儲(chǔ)正從一種高度專(zhuān)業(yè)化的手工制造產(chǎn)品變成一種商品。用戶越來(lái)越不愿意做任何迫使他們購(gòu)買(mǎi)專(zhuān)用存儲(chǔ)芯片的事了。因此,IMC成了一種很難銷(xiāo)售的產(chǎn)品。但這并沒(méi)有阻止該領(lǐng)域的研究。今年的ISSCC會(huì)議有許多關(guān)于這個(gè)主題的論文,原因我們稍后將會(huì)看到。

IMC的機(jī)遇

有一種非常狹窄的算法可以從IMC中獲得巨大的收益,這是個(gè)巨大的商業(yè)領(lǐng)域:3D圖形渲染。著色(在3D模型的2D渲染中為像素添加色彩和亮度的過(guò)程)對(duì)3D模型中的每個(gè)點(diǎn)進(jìn)行一些簡(jiǎn)單的操作,反復(fù)進(jìn)行。雖然著色算法有很多變體,但它們都非常相似,一個(gè)設(shè)計(jì)良好的架構(gòu)可以覆蓋很多變體,這是一個(gè)成功的IMC應(yīng)用的處方。

我們知道這種思維的結(jié)果就是GPU。雖然通常不這樣描述,但GPU實(shí)際上是一個(gè)巨大的內(nèi)存芯片,它有專(zhuān)門(mén)的處理器(著色引擎)明智地分散在內(nèi)存塊中。這種架構(gòu)不僅主導(dǎo)了3D圖形渲染,而且通用GPU和CUDA等并行編程語(yǔ)言的出現(xiàn)也顯示了這種架構(gòu)對(duì)更廣泛的并行化問(wèn)題的適應(yīng)性。

進(jìn)入AI

其中一類(lèi)可并行化的問(wèn)題是AI的一個(gè)分支:深度學(xué)習(xí)網(wǎng)絡(luò)。當(dāng)你訓(xùn)練或使用深度學(xué)習(xí)網(wǎng)絡(luò)時(shí),里面發(fā)生的只是我們一直在討論的那種大規(guī)模、有序的簡(jiǎn)單計(jì)算陣列。在訓(xùn)練過(guò)程中,你將輸入和正確的答案輸入到模型中,并進(jìn)行大量的簡(jiǎn)單計(jì)算,將答案通過(guò)網(wǎng)絡(luò)的各層向輸入傳播,同時(shí)細(xì)化稱(chēng)為激活權(quán)重的巨大參數(shù)表。一旦訓(xùn)練好網(wǎng)絡(luò),你就把輸入信息應(yīng)用到模型中,做一系列矩陣乘法(同樣是簡(jiǎn)單操作的有序集合,在網(wǎng)絡(luò)的末端彈出一個(gè)答案,一個(gè)推理)。

通過(guò)對(duì)內(nèi)存非常仔細(xì)的安排和精心編程,這個(gè)過(guò)程對(duì)GPU來(lái)說(shuō)是小菜一碟。因此,GPU在深度學(xué)習(xí)中無(wú)處不在。但是GPU雖然對(duì)優(yōu)秀的軟件非常有效,但在推理計(jì)算方面卻沒(méi)有理想的效率。這一事實(shí)導(dǎo)致了大量的研究論文和初創(chuàng)公司設(shè)計(jì)更適合深度學(xué)習(xí)加速,特別是為推理加速設(shè)計(jì)的加速器芯片。這種架構(gòu)有很多,但大多數(shù)都有一個(gè)共同的想法:使用大量的小型計(jì)算元素來(lái)并行處理深度學(xué)習(xí)的大量計(jì)算負(fù)載,并將這些元素放置在非??拷蛭挥趦?nèi)存中的位置。

Syntiant和Untether等初創(chuàng)公司也屬于非常接近的一類(lèi)。這類(lèi)公司似乎更喜歡“at-memory computing(以下簡(jiǎn)稱(chēng)為AMC)”這個(gè)短語(yǔ),而不是更傳統(tǒng)的術(shù)語(yǔ),可能是因?yàn)樗麄儧](méi)有把計(jì)算元素放在內(nèi)存陣列中,而是放在芯片的旁邊。但還有另外一類(lèi)。

模擬

這就是那個(gè)奇怪結(jié)合的地方(一個(gè)模擬推理加速器),我們分三步討論。首先,深度學(xué)習(xí)網(wǎng)絡(luò)有一個(gè)奇怪的特性:大多數(shù)網(wǎng)絡(luò)在內(nèi)部計(jì)算中幾乎不受微小誤差的影響。在幾乎所有的有序算術(shù)中,無(wú)論你用32位、8位,甚至有時(shí)是4位來(lái)表示數(shù)字,對(duì)所產(chǎn)生的推理的準(zhǔn)確性都沒(méi)有什么區(qū)別。在這些計(jì)算中,傳統(tǒng)GPU中的大部分內(nèi)存和數(shù)據(jù)路徑位都被浪費(fèi)了。

其次,工程師們很久以前就發(fā)現(xiàn),閃存單元不僅可以存儲(chǔ)數(shù)字位,還可以存儲(chǔ)模擬數(shù)據(jù):例如,足以產(chǎn)生可接受的語(yǔ)音記錄。這一發(fā)現(xiàn)為多級(jí)閃存的工作奠定了基礎(chǔ)。因此,在原則上,模擬閃存可以存儲(chǔ)深度學(xué)習(xí)網(wǎng)絡(luò)的低精度激活權(quán)重,而不放棄推理的準(zhǔn)確性。

第三,由于閃存陣列的組織方式,你可以讓閃存陣列在一個(gè)周期內(nèi)計(jì)算乘積的模擬和乘積,這是矩陣算術(shù)和推理計(jì)算的基本操作,只需要很少的能量。這對(duì)于將激活權(quán)重(只在訓(xùn)練期間改變)作為模擬值存儲(chǔ)在閃存單元中,然后一次性讀出整個(gè)輸入乘以權(quán)重并相加的集合來(lái)說(shuō),是非常好的。整個(gè)過(guò)程功耗非常小。

把這三個(gè)部分放在一起,你就有了一個(gè)非??臁⒎浅8咝У哪M推理加速器背后的想法。這種設(shè)計(jì)消除了數(shù)字設(shè)計(jì)的大部分內(nèi)存和大多數(shù)處理元素,而是在閃存陣列中進(jìn)行模擬乘積。Axelera、Mythic和TetraMem等初創(chuàng)公司正在使用這種方法開(kāi)發(fā)芯片或IP,并瞄準(zhǔn)了對(duì)功耗要求嚴(yán)苛的邊緣計(jì)算領(lǐng)域。

但是在模擬電路中存在著固有的挑戰(zhàn),以至于許多年來(lái)大多數(shù)模擬電路設(shè)計(jì)已經(jīng)被數(shù)字方法所取代。模擬信號(hào)會(huì)被噪聲破壞。模擬內(nèi)存會(huì)隨著時(shí)間的推移而損耗。模擬電路往往是專(zhuān)用的,而且很難從一種工藝擴(kuò)展到下一種。這些問(wèn)題會(huì)再次導(dǎo)致模擬應(yīng)用被其數(shù)字競(jìng)爭(zhēng)對(duì)手超越嗎?

這一次可能會(huì)有所不同。在邊緣計(jì)算中,以極低的功耗進(jìn)行大規(guī)模、快速推理的能力是非常大的優(yōu)勢(shì)。隨著芯片從14nm擴(kuò)展到10nm、5nm及以上,不斷上升的成本、巨大的設(shè)計(jì)挑戰(zhàn)和日益增長(zhǎng)的供應(yīng)鏈擔(dān)憂,使得僅僅遵循摩爾定律的數(shù)字工藝讓模擬方法被淘汰的說(shuō)法沒(méi)那么肯定了。

ARM和IBM的研究人員最近聯(lián)合發(fā)表的一篇論文表明,一些非常重要的玩家正在認(rèn)真對(duì)待這項(xiàng)技術(shù)的長(zhǎng)期發(fā)展。該論文介紹了一種14nm模擬IMC芯片,該芯片直接解決了該技術(shù)的噪聲和內(nèi)存漂移問(wèn)題。

似乎可以肯定的是,更多的IMC和AMC的例子將出現(xiàn)在邊緣計(jì)算應(yīng)用中,無(wú)論具體的實(shí)現(xiàn)是模擬還是數(shù)字。除了在這些環(huán)境中GPU已經(jīng)霸占的領(lǐng)域之外,這種方法是否會(huì)過(guò)渡到云數(shù)據(jù)中心或超級(jí)計(jì)算機(jī),仍然是一個(gè)開(kāi)放和非常有趣的問(wèn)題。

審核編輯 :李倩

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

    關(guān)注

    68

    文章

    10863

    瀏覽量

    211763
  • 中央處理器
    +關(guān)注

    關(guān)注

    1

    文章

    124

    瀏覽量

    16523
  • IMC
    IMC
    +關(guān)注

    關(guān)注

    0

    文章

    25

    瀏覽量

    4593

原文標(biāo)題:IMC為什么會(huì)回歸?

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    TetraMem將IMC技術(shù)與Andes晶心科技RISC-V CPU向量整合

    Computing, IMC)。釋放多級(jí)阻變存儲(chǔ)器(RRAM)的潛力,讓這一承諾在今天比以往更加真實(shí),硅谷新創(chuàng)公司TetraMem引領(lǐng)這一發(fā)展,正在解決阻礙這一解決方案發(fā)展的根本挑戰(zhàn)。該公司的獨(dú)特IMC采用多級(jí)RRAM技術(shù),提供更高效、低延遲的AI處理,滿足AR/VR、
    的頭像 發(fā)表于 12-06 10:14 ?249次閱讀

    IMC到底是越厚越好?還是越薄越好

    ? 談起IMC這個(gè)問(wèn)題,有點(diǎn)困惑 IMC到底是越厚越好?還是越薄越好? IMC全稱(chēng)為intermetallic(金屬間化合物),金屬化合物是兩種不同金屬原子按照一定比例進(jìn)行化合,形成與原來(lái)兩者晶格
    的頭像 發(fā)表于 11-27 11:23 ?422次閱讀
    <b class='flag-5'>IMC</b>到底是越厚越好?還是越薄越好

    什么是回歸測(cè)試_回歸測(cè)試的測(cè)試策略

    ? 1、什么是回歸測(cè)試 回歸測(cè)試(Regression testing) 指在發(fā)生修改之后重新測(cè)試先前的測(cè)試以保證修改的正確性。理論上,軟件產(chǎn)生新版本,都需要進(jìn)行回歸測(cè)試,驗(yàn)證以前發(fā)現(xiàn)和修復(fù)的錯(cuò)誤
    的頭像 發(fā)表于 11-14 16:44 ?249次閱讀

    哪些精密放大器適用于逆變器和電機(jī)控制系統(tǒng) (IMC)?

    哪些精密放大器適用于逆變器和電機(jī)控制系統(tǒng) (IMC)?
    發(fā)表于 08-05 06:54

    如何在IMC300系列中使用開(kāi)環(huán)控制?

    如何在 IMC300 系列中使用開(kāi)環(huán)控制? 我設(shè)置角度選擇 = 2 和 CtrlModeSelect = 2,就可以控制電機(jī)的速度了。 目前,我想測(cè)試開(kāi)環(huán)。 我將 Vd_Ext 和 Vq_Ext 都
    發(fā)表于 07-22 07:20

    請(qǐng)問(wèn)IMC300的熱敏電阻輸入引腳是否具有內(nèi)部線性化功能?

    IMC300 的熱敏電阻輸入引腳是否具有內(nèi)部線性化功能?
    發(fā)表于 05-28 07:28

    求助,使用IMC102t實(shí)現(xiàn)霍爾傳感器的問(wèn)題求解

    我們目前在使用 IMC102t 實(shí)施霍爾傳感器時(shí)面臨挑戰(zhàn)。 盡管使用另一個(gè)基于霍爾的 6 步控制器成功地運(yùn)行了電機(jī),但 IMC102t 還是拋出了\"霍爾無(wú)效故障。\" 我附上
    發(fā)表于 05-22 08:15

    深入探討線性回歸與柏松回歸

    或許我們所有人都會(huì)學(xué)習(xí)的第一個(gè)機(jī)器學(xué)習(xí)算法就是線性回歸算法,它無(wú)疑是最基本且被廣泛使用的技術(shù)之一——尤其是在預(yù)測(cè)分析方面。
    的頭像 發(fā)表于 03-18 14:06 ?674次閱讀
    深入探討線性<b class='flag-5'>回歸</b>與柏松<b class='flag-5'>回歸</b>

    CAN無(wú)法與IMC101T-F048 IC通信的原因?

    我 CAN無(wú)法與 IMC101T-F048 IC 通信。 這是我更換的第二個(gè) IMC101T-F048 IC。 雖然是第一次編程(固件 參數(shù)),但連接和編程都沒(méi)問(wèn)題。 第一次編程后,我無(wú)法
    發(fā)表于 01-31 06:17

    IMC300A中斷系統(tǒng)中,不同的中斷源優(yōu)先級(jí)如果設(shè)置為相同,請(qǐng)問(wèn)中斷時(shí)發(fā)生時(shí)如何處理?

    IMC300A的中斷系統(tǒng)中,不同的中斷源優(yōu)先級(jí)如果設(shè)置為相同,請(qǐng)問(wèn)中斷時(shí)發(fā)生時(shí)如何處理? 在 “口的TBCTR和PASRBCTR 存檔器中,DPTR和LIMIT字段有何作業(yè),能不能有具體例子介紹下嗎?
    發(fā)表于 01-29 06:31

    IMC300A如何在 “口的初始化函數(shù)” 中指定響應(yīng)接收器幀完成中斷事件?

    void irq10_Handler (void) {uint8_t receiveByte; receiveByte = imc
    發(fā)表于 01-29 06:09

    IMC101T-038是否支持處理紅外接收頭的傳輸出速度呢?

    我想使用一個(gè)紅外遙控去控制電機(jī),請(qǐng)問(wèn)一下IMC101T-038這個(gè)款芯片是否支持處理紅外接收頭的傳輸出速度呢?謝謝謝謝
    發(fā)表于 01-25 07:09

    可以使用IMC302A-F064來(lái)控制三相電機(jī)嗎?

    我想使用 IMC302A-F064 來(lái)控制額定電壓為 220V @ 1.8A 的三相電機(jī)。 這可能嗎? 問(wèn)候。
    發(fā)表于 01-25 06:49

    imc101T-T038無(wú)法在MCE Wizard中設(shè)置占空比選項(xiàng)怎么解決?

    我曾經(jīng)通過(guò)占空比應(yīng)用程序控制接口驅(qū)動(dòng) imc101T-T038。 在無(wú)傳感器方法中,我可以在 MCE Wizard 中設(shè)置占空比選項(xiàng)。 但是在三數(shù)字霍爾傳感器方法中,我無(wú)法在 MCE Wizard 中設(shè)置占空比選項(xiàng)。 霍爾傳感器模式下沒(méi)有選項(xiàng)。 我怎樣才能解決這些問(wèn)題?
    發(fā)表于 01-22 08:30

    IMC101T-T038恒功率控制如何修改變量轉(zhuǎn)向?

    IMC101T-T038 芯片使用腳本功能,恒功率如何控制變量轉(zhuǎn)向
    發(fā)表于 01-19 06:21