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