來源:貿(mào)澤電子 在2014年,斯坦福大學(xué)教授Mark Horowitz發(fā)表了一篇題目為“計(jì)算的能源問題(以及我們?cè)撛趺崔k)”的論文。這篇具有深遠(yuǎn)意義的論文,討論了當(dāng)前半導(dǎo)體行業(yè)所面臨的最熱門的、與登納德縮放比例定律(Dennard Scaling)和摩爾定律(Moore’s Law)失效相關(guān)的挑戰(zhàn)。 如果可以的話,我想借用并改編一下Mark的論文標(biāo)題,這樣我就可以就機(jī)器學(xué)習(xí)推斷應(yīng)用為什么應(yīng)該考慮專用硬件,分享一下我的觀點(diǎn)。 專用硬件加速實(shí)在必行 首先,讓我們考慮一下問題的癥結(jié)所在。大約在2005年,處理器內(nèi)核時(shí)鐘頻率的增長進(jìn)入了瓶頸。縮小工藝尺寸和降低內(nèi)核電壓不再像以前一樣能夠?yàn)槲覀儙韮?yōu)勢(shì)。其根本的問題,就是計(jì)算已經(jīng)達(dá)到了功率密度(W/mm2)的極限。 如果我們?cè)谕粋(gè)裸片上放置更多的內(nèi)核,我們就可以在相同的功耗預(yù)算下增加運(yùn)算數(shù)量,但其前提是我們還還要在一定程度上降低時(shí)鐘頻率,以抵消額外內(nèi)核所消耗的能量。AMD和英特爾都是在2005-2006年期間發(fā)布了他們的首個(gè)雙核處理器,這并不是巧合。然而,隨著我們繼續(xù)嘗試增加內(nèi)核的數(shù)量,我們必須考慮每個(gè)運(yùn)算所消耗的能量和每個(gè)運(yùn)算所需的芯片面積。此外,我們還需要確保我們能夠通過N來有效地實(shí)現(xiàn)并行算法,其中N是內(nèi)核的數(shù)量。對(duì)于所有的算法來說,這一問題的通用解決方案,或者說“計(jì)算飽和的靈丹妙藥”仍然是一個(gè)難以捉摸的問題,現(xiàn)在最好的解決方法就是應(yīng)用“自適應(yīng)硬件”。 事實(shí)證明,無論您的處理器設(shè)計(jì)是使用多核CPU、GPU還是SoC實(shí)現(xiàn)的,在處理器級(jí)的總體功耗分布都將大致相同。所以假若我們估算出以下的情況便較為接近真實(shí)情況: 內(nèi)核=30% 內(nèi)部存儲(chǔ)器(L1、L2、L3)=30% 外部存儲(chǔ)器(DDR)=40% 在上面的分析中,我們沒有考慮的是還存在另外一個(gè)總體優(yōu)化的方式,那就是專用硬件加速器優(yōu)化的實(shí)現(xiàn)方式。我們可以對(duì)專用硬件進(jìn)行優(yōu)化以極高效地執(zhí)行特定的功能。通常情況下,這種硬件是為了減少外部存儲(chǔ)器訪問而設(shè)計(jì)的,其同時(shí)減少了時(shí)延與功耗。我們可以對(duì)專用硬件進(jìn)行優(yōu)化,以便給定算法的數(shù)據(jù)運(yùn)動(dòng)部分使用本地化存儲(chǔ)器(BlockRAM、UltraRAM)來進(jìn)行中間結(jié)果的存儲(chǔ)。 設(shè)計(jì)高效加速器是多維度的設(shè)計(jì)問題 如何實(shí)現(xiàn)硬件優(yōu)化來處理我們的特定算法?(Mark很好地回答了這一問題,即必須將算法從“所有算法的空間”移動(dòng)到“受限空間”。) 如何保持?jǐn)y帶數(shù)據(jù)的加速器,以確保計(jì)算加速器在每個(gè)時(shí)鐘周期都是飽和的? 如何最大限度地減少通信開銷? 如何優(yōu)化正在處理的運(yùn)算符的動(dòng)態(tài)范圍? 如何最大限度地減少外部存儲(chǔ)器,甚至是本地存儲(chǔ)器的使用? 如何消除指令處理管道開銷? 如何安排操作以確保數(shù)據(jù)重用,從而使存儲(chǔ)器流量最小化,并且使存儲(chǔ)器訪問相關(guān)的運(yùn)算數(shù)量最大化? 自適應(yīng)硬件的戰(zhàn)略優(yōu)勢(shì)這里,我們將討論和評(píng)估賽靈思的自適應(yīng)硬件及DNNDK如何應(yīng)對(duì)上述這些尖銳的問題和挑戰(zhàn),特別是當(dāng)它涉及到機(jī)器學(xué)習(xí)推斷時(shí)。在進(jìn)行下一次設(shè)計(jì)之前,我建議您回顧一下Mark有關(guān)這個(gè)主題的精彩演講,然后再考慮如何在您的下一次設(shè)計(jì)中使用自適應(yīng)硬件來實(shí)現(xiàn)您的戰(zhàn)略優(yōu)勢(shì)。 在這篇文章的第2部分中,我們將討論和評(píng)估賽靈思的自適應(yīng)硬件及DNNDK(現(xiàn)在已經(jīng)發(fā)布Vitis AI統(tǒng)一軟件平臺(tái))如何應(yīng)對(duì)這些挑戰(zhàn),特別是當(dāng)它涉及到機(jī)器學(xué)習(xí)推斷時(shí)。 人工智能引發(fā)能源問題,我們?cè)撛趺崔k?(二) |