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

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

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

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

Astroys ? 來源:Astroys ? 作者:Astroys ? 2022-11-09 09:55 ? 次閱讀

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

IMC將計(jì)算元素放在內(nèi)存中而不是中央處理器中的概念在計(jì)算機(jī)科學(xué)的邊緣有很長的歷史。IMC是那些總是建立在合理推理基礎(chǔ)上的想法之一,而且非常有意義,甚至影響了計(jì)算機(jī)架構(gòu)的重大進(jìn)步,但卻沒有以其純粹的形式突破主流。但現(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ù),做一些簡單的計(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)師采取了顯而易見的行動(dòng),為什么把它們?nèi)考性贑PU中,而不直接將簡單的計(jì)算元素構(gòu)建到內(nèi)存單元中呢?理論上,這將大大減少所有讀寫操作的時(shí)間延遲和功耗,并且可以繞過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)師很聰明。他們用另一種方法來解決所有這些讀寫的低效問題:緩存。然后是更多緩存,更多的緩存層。通過嘗試讓大多數(shù)讀寫操作發(fā)生在緩存而不是主內(nèi)存中,可以消除一些低效的問題(取決于緩存和相關(guān)算法)。

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

IMC的機(jī)遇

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

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

進(jìn)入AI

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

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

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

模擬

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

其次,工程師們很久以前就發(fā)現(xiàn),閃存單元不僅可以存儲(chǔ)數(shù)字位,還可以存儲(chǔ)模擬數(shù)據(jù):例如,足以產(chǎn)生可接受的語音記錄。這一發(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)重并相加的集合來說,是非常好的。整個(gè)過程功耗非常小。

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

但是在模擬電路中存在著固有的挑戰(zhàn),以至于許多年來大多數(shù)模擬電路設(shè)計(jì)已經(jīng)被數(shù)字方法所取代。模擬信號(hào)會(huì)被噪聲破壞。模擬內(nèi)存會(huì)隨著時(shí)間的推移而損耗。模擬電路往往是專用的,而且很難從一種工藝擴(kuò)展到下一種。這些問題會(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)和日益增長的供應(yīng)鏈擔(dān)憂,使得僅僅遵循摩爾定律的數(shù)字工藝讓模擬方法被淘汰的說法沒那么肯定了。

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

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

審核編輯 :李倩

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

    關(guān)注

    68

    文章

    10810

    瀏覽量

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

    關(guān)注

    1

    文章

    124

    瀏覽量

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

    關(guān)注

    0

    文章

    24

    瀏覽量

    4572

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

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

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

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

    不同類型神經(jīng)網(wǎng)絡(luò)在回歸任務(wù)中的應(yīng)用

    神經(jīng)網(wǎng)絡(luò)是一種強(qiáng)大的機(jī)器學(xué)習(xí)模型,可以用于各種任務(wù),包括回歸。在本文中,我們將討論不同類型的神經(jīng)網(wǎng)絡(luò),以及它們?cè)?b class='flag-5'>回歸任務(wù)中的應(yīng)用。 基本的神經(jīng)網(wǎng)絡(luò) 基本的神經(jīng)網(wǎng)絡(luò),也稱為多層感知器(MLP),是一種
    的頭像 發(fā)表于 07-11 10:27 ?948次閱讀

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

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

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

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

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

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

    華為公司經(jīng)營基本回歸常態(tài) 華為2023年銷售收入超7000億

    解決方案競(jìng)爭(zhēng)力顯著提升。從昨天華為公布的營業(yè)數(shù)據(jù)來看華為經(jīng)營基本回歸常態(tài);華為經(jīng)受住了嚴(yán)峻考驗(yàn)。 華為2023年銷售收入超7000億 在華為2024年合作伙伴大會(huì)上華為常務(wù)董事、ICT基礎(chǔ)設(shè)施業(yè)務(wù)管理委員會(huì)主任汪濤表示,在2023年華為公司經(jīng)營基本
    的頭像 發(fā)表于 03-15 17:03 ?1644次閱讀

    CAN無法與IMC101T-F048 IC通信的原因?

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

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

    IMC300A的中斷系統(tǒng)中,不同的中斷源優(yōu)先級(jí)如果設(shè)置為相同,請(qǐng)問中斷時(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)問一下IMC101T-038這個(gè)款芯片是否支持處理紅外接收頭的傳輸出速度呢?謝謝謝謝
    發(fā)表于 01-25 07:09

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

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

    ISD選用IMC102T-64PIN開發(fā)工程,驅(qū)動(dòng)報(bào)警CPU執(zhí)行故障后,不能發(fā)放去除指令清除怎么處理?

    ISD平臺(tái)下選用IMC102T-64PIN 芯片開發(fā)的工程,跑長運(yùn)時(shí),驅(qū)動(dòng)報(bào)警 CPU 執(zhí)行故障后,不能發(fā)放去除指令清除,必須給芯片斷電后重新上電片位能清除 CPU 執(zhí)行故障故障。 問題: 1、確認(rèn)
    發(fā)表于 01-23 08:34

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

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

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

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