那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

人工智能的演進需要高適應性的推理平臺

李泳瑜 ? 來源:我不吃魚 ? 作者:我不吃魚 ? 2022-08-03 16:48 ? 次閱讀

模型大小不斷增長給現有架構帶來了挑戰

深度學習對計算能力的需求正以驚人的速度增長,其近年來的發展速度已從每年翻一番縮短到每三個月翻一番。深度神經網絡(DNN)模型容量的不斷提升,表明從自然語言處理到圖像處理的各個領域都得到了改進——深度神經網絡是諸如自動駕駛機器人等實時應用的關鍵技術。例如,Facebook的研究表明,準確率與模型大小的比率呈線性增長,通過在更大的數據集進行訓練,準確率甚至可以得到進一步提高。

目前在許多前沿領域,模型大小的增長速度遠快于摩爾定律,用于一些應用的萬億參數模型正在考慮之中。雖然很少有生產系統會達到同樣的極端情況,但在這些示例中,參數數量對性能的影響將在實際應用中產生連鎖反應。模型大小的增長給實施者帶來了挑戰。如果不能完全依靠芯片擴展路線圖,就需要其他解決方案來滿足對模型容量增加部分的需求,而且成本要與部署規模相適應。這種增長要求采用定制化的架構,以最大限度地發揮每個可用晶體管的性能。

Parameters (log scale):參數(對數刻度)

Image-processing models:圖像處理模型

Language-processing models:語言處理模型

隨著參數數量快速增長,深度學習架構也在快速演進。當深度神經網絡繼續廣泛使用傳統卷積、全連接層和池化層的組合時,市場上也出現了其它結構,諸如自然語言處理(NLP)中的自注意力網絡。它們仍然需要高速矩陣和面向張量的算法,但是存儲訪問模式的變化可能會給圖形處理器GPU)和當前現有的加速器帶來麻煩。

結構上的變化意味著諸如每秒萬億次操作(TOps)等常用指標的相關性在降低。通常情況下,處理引擎無法達到其峰值TOps分數,因為如果不改變模型的處理方式,存儲和數據傳輸基礎設施就無法提供足夠的吞吐量。例如,批處理輸入樣本是一種常見的方法,因為它通常可以提高許多架構上可用的并行性。但是,批處理增加了響應的延遲,這在實時推理應用中通常是不可接受的。

數值靈活性是實現高吞吐量的一種途徑

提高推理性能的一種途徑是使計算的數值分辨率去適應各個獨立層的需求,這也代表了與架構的快速演進相適應。一般來說,與訓練所需的精度相比,許多深度學習模型在推理過程中可以接受明顯的精度損失和增加的量化誤差,而訓練通常使用標準或雙精度浮點算法進行。這些格式能夠在非常寬的動態范圍內支持高精度數值。這一特性在訓練中很重要,因為訓練中常見的反向傳播算法需要在每次傳遞時對許多權重進行細微更改,以確保收斂。

通常來說,浮點運算需要大量的硬件支持才能實現高分辨率數據類型的低延遲處理,它們最初被開發用來支持高性能計算機上的科學應用,完全支持它所需的開銷并不是一個主要問題。

許多推理部署都將模型轉換為使用定點運算操作,這大大降低了精度。在這些情況下,對準確性的影響通常是最小的。事實上,有些層可以轉換為使用極其有限的數值范圍,甚至二進制或三進制數值也都是可行的選擇。

然而,整數運算并不總是一種有效的解決方案。有些濾波器和數據層就需要高動態范圍。為了滿足這一要求,整數硬件可能需要以24位或32位字長來處理數據,這將比8位或16位的整數數據類型消耗更多的資源,這些數據類型很容易在典型的單指令多數據(SIMD)加速器中得到支持。

一種折衷方案是使用窄浮點格式,例如適合16位字長的格式。這種選擇可以實現更大的并行性,但它并沒有克服大多數浮點數據類型固有的性能障礙。問題在于,在每次計算后,浮點格式的兩部分都需要進行調整,因為尾數的最高有效位沒有顯式存儲。因此,指數的大小需要通過一系列的邏輯移位操作來調整,以確保隱含的前導“1”始終存在。這種規范化操作的好處是任何單個數值都只有一種表示形式,這對于用戶應用程序中的軟件兼容性很重要。然而,對于許多信號處理和人工智能推理常規運算來說,這是不必要的。

這些操作的大部分硬件開銷都可以通過在每次計算后無需標準化尾數和調整指數來避免。這是塊浮點算法所采用的方法,這種數據格式已被用于標準定點數字信號處理(DSP),以提高其在移動設備的音頻處理算法、數字用戶線路(DSL)調制解調器和雷達系統上的性能。

mantissa:尾數

block exponent:塊指數

使用塊浮點算法,無需將尾數左對齊。用于一系列計算的數據元素可以共享相同的指數,這一變化簡化了執行通道的設計。對占據相似動態范圍的數值進行四舍五入造成的精度損失可被降到最小。在設計時就要為每個計算塊選擇合適的范圍。在計算塊完成后,退出函數就可以對數值進行四舍五入和標準化處理,以便在需要時將它們用作常規的浮點值。

支持塊浮點格式是機器學習處理器(MLP)的功能之一。Achronix的Speedster?7t FPGA器件和Speedcore? eFPGA架構提供了這種高度靈活的算術邏輯單元。機器學習處理器針對人工智能應用所需的點積和類似矩陣運算進行了優化。相比傳統浮點,這些機器學習處理器對塊浮點的支持提供了實質性的改進。16位塊浮點運算的吞吐量是傳統的半精度浮點運算的8倍,使其與8位整數運算的速度一樣快,與僅以整數形式的運算相比,有功功耗僅增加了15%。

另一種可能很重要的數據類型是TensorFloat 32(TF32)格式,與標準精度格式相比,該格式的精度有所降低,但保持了較高的動態范圍。TF32也缺乏塊指數處理的優化吞吐量,但對于一些應用是有用的,在這些應用中,使用TensorFlow和類似環境所創建的模型的易于移植性是很重要的。Speedster7t FPGA中機器學習處理器所具有的高度靈活性使得使用24位浮點模式來處理TF32算法成為可能。此外,機器學習處理器的高度可配置性意味著可以支持一個全新的、塊浮點版本的TF32,其中四個樣本共享同一個指數。機器學習處理器支持的塊浮點TF32,其密度是傳統TF32的兩倍。

Wireless:無線

AI/ML:人工智能/機器學習

Input Values:輸入值

Input Layer:輸入層

Hidden Layer 1:隱藏層1

Hidden Layer 2:隱藏層2

Output Layer:輸出層

處理靈活性優化了算法支持

雖然機器學習處理器能夠支持多種數據類型,這對于推理應用而言是至關重要的,但只有成為FPGA架構的一部分,它的強大功能才能釋放出來。可輕松定義不同互連結構的能力使FPGA從大多數架構中脫穎而出。在FPGA中同時定義互連和算術邏輯的能力簡化了構建一種平衡架構的過程。設計人員不僅能夠為自定義數據類型構建直接支持,還可以去定義最合適的互連結構,來將數據傳入和傳出處理引擎。可重編程的特性進一步提供了應對人工智能快速演進的能力。通過修改FPGA的邏輯可以輕松支持自定義層中數據流的變化。

FPGA的一個主要優勢是可以輕松地在優化的嵌入式計算引擎和由查找表單元實現的可編程邏輯之間切換功能。一些功能可以很好地映射到嵌入式計算引擎上,例如Speedster7t MLP。又如,較高精度的算法最好分配給機器學習處理器(MLP),因為增加的位寬會導致功能單元的大小呈指數增長,這些功能單元是用來實現諸如高速乘法之類的功能。

較低精度的整數運算通常可以有效地分配給FPGA架構中常見的查找表(LUT)。設計人員可以選擇使用簡單的位串行乘法器電路來實現高延遲、高并行性的邏輯陣列。或者,他們可以通過構建進位保存和超前進位的加法器等結構來為每個功能分配更多的邏輯,這些結構通常用來實現低延遲的乘法器。通過Speedster7t FPGA器件中獨特的LUT配置增強了對高速算法的支持,其中LUT提供了一種實現Booth編碼的高效機制,這是一種節省面積的乘法方法。

結果是,對于一個給定的位寬,實現整數乘法器所需的LUT數量可以減半。隨著機器學習中的隱私和安全性等問題變得越來越重要,應對措施可能是在模型中部署同態加密形式。這些協議通常涉及非常適合于LUT實現的模式和位域操作,有助于鞏固FPGA作為人工智能未來驗證技術的地位。

數據傳輸是吞吐量的關鍵

為了在機器學習環境中充分利用數值自定義,周圍的架構也同樣重要。在越來越不規范的圖形表示中,能隨時在需要的地方和時間傳輸數據是可編程硬件的一個關鍵優勢。但是,并非所有的FPGA架構都是一樣的。

傳統FPGA架構的一個問題是,它們是從早期應用演變而來的;但在早期應用中,其主要功能是實現接口控制電路邏輯。隨著時間的推移,由于這些器件為蜂窩移動通信基站制造商提供了一種從愈發昂貴的ASIC中轉移出來的方法,FPGA架構結合了DSP模塊來處理濾波和信道估計功能。原則上,這些DSP模塊都可以處理人工智能功能。但是,這些模塊最初設計主要是用于處理一維有限沖激響應(1D FIR)濾波器,這些濾波器使用一個相對簡單的通道通過處理單元傳輸數據,一系列固定系數在該通道中被應用于連續的樣本流。

傳統的處理器架構對卷積層的支持相對簡單,而對其他的則更為復雜。例如,全連接層需要將一層中每個神經元的輸出應用到下一層的所有神經元上。其結果是,算術邏輯單元之間的數據流比傳統DSP應用中的要復雜得多,并且在吞吐量較高的情況下,會給互連帶來更大的壓力。

盡管諸如DSP內核之類的處理引擎可以在每個周期中生成一個結果,但FPGA內部的布線限制可能導致無法足夠快速地將數據傳遞給它。通常,對于專為許多傳統FPGA設計的、通信系統中常見的1D FIR濾波器來說,擁塞不是問題。每個濾波階段所產生的結果都可以輕松地傳遞到下一個階段。但是,張量操作所需的更高的互連以及機器學習應用較低的數據局部性,使得互連對于任何實現而言都更加重要。

Memory Cascade Out:存儲級聯輸出

Operand Cascade in:操作數級聯

Register File:寄存器文件

Fracturable:可分割

Adder/Accumulator:加法器/累加器

Memory Cascade in:存儲級聯

機器學習中的數據局部性問題需要注意多層級的互連設計。由于在最有效的模型中參數數量龐大,片外數據存儲通常是必需的。關鍵要求是可以在需要時以低延遲傳輸數據的機制,并使用靠近處理引擎的高效便箋式存儲器,以最有效地利用預取以及其他使用可預測訪問模式的策略,來確保數據在合適的時間可用。

在Speedster7t架構中,有以下三項用于數據傳輸的創新:

優化的存儲層次結構

高效的本地布線技術

一個用于片內和片外數據傳輸的高速二維片上網絡(2D NoC)

傳統的FPGA通常具有分布在整個邏輯架構上的片上RAM塊,這些RAM塊被放置在距離處理引擎有一定距離的地方。對于典型的FPGA設計來說,這種選擇是一種有效的架構,但在人工智能環境中,它帶來了額外的和不必要的布線開銷。在Speedster7t架構中,每個機器學習處理器(MLP)都與一個72kb的雙端口塊RAM(BRAM72k)和一個較小的2kb的雙端口邏輯RAM(LRAM2k)相關聯,其中LRAM2k可以作為一個緊密耦合的寄存器文件。

可以通過FPGA布線資源分別訪問機器學習處理器(MLP)及其相關聯的存儲器。但是,如果一個存儲器正在驅動關聯的MLP,則它可以使用直接連接,從而卸載FPGA布線資源并提供高帶寬連接。

在人工智能應用中,BRAM可以作為一個存儲器,用于存儲那些預計不會在每個周期中發生變化的值,諸如神經元權重和激活值。LRAM更適合存儲只有短期數據局部性的臨時值,諸如輸入樣本的短通道以及用于張量收縮和池化活動的累積值。

該架構考慮到需要能夠將大型復雜的層劃分為可并行操作的段,并為每個段提供臨時數據值。BRAM和LRAM都具有級聯連接功能,可輕松支持機器學習加速器中常用的脈動陣列的構建。

MLP可以從邏輯陣列、共享數據的級聯路徑以及關聯的BRAM72k和LRAM2k逐周期驅動。這種安排能夠構建復雜的調度機制和數據處理通道,使MLP持續得到數據支持,同時支持神經元之間盡可能廣泛的連接模式。為MLP持續提供數據是提高有效TOps算力的關鍵。

MLP的輸出具有同樣的靈活性,能夠創建脈動陣列和更復雜的布線拓撲,從而為深度學習模型中可能需要的每種類型的層提供優化的架構。

Multiplier / multiplicand fractions after converting inputs to have the same exponent:將輸入轉換為具有相同指數后的乘數/被乘數分數

Multiplier block exponent:乘數塊指數

Multiplicand block exponent:被乘數塊指數

Integer Multiply / Add Tree:整數乘法/加法樹:

Convert to Floating Point:轉換為浮點

Floating Point Accumulation:浮點累加

Round to desired precision:四舍五入到所需精度

Speedster7t架構中的2D NoC提供了從邏輯陣列的可編程邏輯到位于I/O環中的高速接口子系統的高帶寬連接,用于連接到片外資源。它們包括用于高速存儲訪問的GDDR6和諸如PCIe Gen5和400G以太網等片內互連協議。這種結構支持構建高度并行化的架構,以及基于中央FPGA的高度數據優化的加速器。

通過將高密度數據包路由到分布在整個邏輯陣列上的數百個接入點,2D NoC使得大幅增加FPGA上的可用帶寬成為可能。傳統的FPGA必須使用數千個單獨編程的布線路徑來實現相同的吞吐量,而這樣做會大量吃掉本地的互連資源。通過網絡接入點將千兆數據傳輸到本地區域,2D NoC緩解了布線問題,同時支持輕松而快速地將數據傳入和傳出MLP和基于LUT的定制化處理器。

相關的資源節省是相當可觀的——一個采用傳統FPGA軟邏輯實現的2D NoC具有64個NoC接入點(NAP),每個接入點提供一個運行頻率為400MHz的128位接口,將消耗390kLUT。相比之下,Speedster 7t1500器件中的硬2D NoC具有80個NAP,不消耗任何FPGA軟邏輯,并且提供了更高的帶寬。

使用2D NoC還有其他的一些優勢。由于相鄰區域之間互連擁塞程度較低,因此邏輯設計更易于布局。因為無需從相鄰區域分配資源來實現高帶寬路徑的控制邏輯,因此設計也更加有規律。另一個好處是極大地簡化了局部性重新配置——NAP支持單個區域成為有效的獨立單元,這些單元可以根據應用的需要進行交換導入和導出。這種可重配置的方法反過來又支持需要在特定時間使用的不同模型,或者支持片上微調或定期對模型進行再訓練這樣的架構。

結論

隨著模型增大和結構上變得更加復雜,FPGA正成為一種越來越具吸引力的基礎器件來構建高效、低延遲AI推理解決方案,而這要歸功于其對多種數值數據類型和數據導向功能的支持。但是,僅僅將傳統的FPGA應用于機器學習中是遠遠不夠的。機器學習以數據為中心的特性需要一種平衡的架構,以確保性能不受人為限制。考慮到機器學習的特點,以及不僅是現在,而且在其未來的開發需求,Achronix Speedster7t FPGA為AI推理提供了理想的基礎器件。

審核編輯:彭靜
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 神經網絡
    +關注

    關注

    42

    文章

    4781

    瀏覽量

    101178
  • 人工智能
    +關注

    關注

    1796

    文章

    47683

    瀏覽量

    240313
  • 深度學習
    +關注

    關注

    73

    文章

    5516

    瀏覽量

    121556
收藏 人收藏

    評論

    相關推薦

    2025年人工智能在工程領域的應用趨勢

    人工智能在重塑工程范式方面發揮著關鍵作用,它提供的工具和方法可提高各個領域的精度、效率和適應性。想要在人工智能競賽中保持領先的工程領導者應該關注四個關鍵領域的進步:生成式人工智能、驗證
    的頭像 發表于 12-27 15:40 ?298次閱讀

    人工智能推理及神經處理的未來

    、個性化和效率的社會需求,又進一步推動了人工智能技術的集成。此外,不斷發展的監管體系,則強調了合乎倫理道德的人工智能、數據隱私和算法透明度的重要,進而指導人工
    的頭像 發表于 12-23 11:18 ?317次閱讀
    <b class='flag-5'>人工智能</b><b class='flag-5'>推理</b>及神經處理的未來

    BNC插座彎式適應性怎樣

    德索工程師說道BNC插座彎式在適應性方面具有顯著的優勢,這些優勢主要體現在空間利用、布線靈活性、信號傳輸質量以及應用場景的廣泛等多個方面。以下是對BNC插座彎式適應性的詳細分析:   BNC插座
    的頭像 發表于 12-07 16:22 ?191次閱讀
    BNC插座彎式<b class='flag-5'>適應性</b>怎樣

    嵌入式和人工智能究竟是什么關系?

    嵌入式和人工智能究竟是什么關系? 嵌入式系統是一種特殊的系統,它通常被嵌入到其他設備或機器中,以實現特定功能。嵌入式系統具有非常強的適應性和靈活性,能夠根據用戶需求進行定制化設計。它廣泛應用于各種
    發表于 11-14 16:39

    《AI for Science:人工智能驅動科學創新》第6章人AI與能源科學讀后感

    和國際合作等多個層面。這些內容讓我更加認識到,在推動人工智能與能源科學融合的過程中,需要不斷探索和創新,以應對各種挑戰和機遇。 最后,通過閱讀這一章,我深刻感受到人工智能對于能源科學的重要
    發表于 10-14 09:27

    AI for Science:人工智能驅動科學創新》第4章-AI與生命科學讀后感

    很幸運社區給我一個閱讀此書的機會,感謝平臺。 《AI for Science:人工智能驅動科學創新》第4章關于AI與生命科學的部分,為我們揭示了人工智能技術在生命科學領域中的廣泛應用和深遠影響。在
    發表于 10-14 09:21

    《AI for Science:人工智能驅動科學創新》第一章人工智能驅動的科學創新學習心得

    周末收到一本新書,非常高興,也非常感謝平臺提供閱讀機會。 這是一本挺好的書,包裝精美,內容詳實,干活滿滿。 《AI for Science:人工智能驅動科學創新》這本書的第一章,作為整個著作的開篇
    發表于 10-14 09:12

    risc-v在人工智能圖像處理應用前景分析

    RISC-V在人工智能圖像處理領域的應用前景十分廣闊,這主要得益于其開源、靈活性和低功耗等特點。以下是對RISC-V在人工智能圖像處理應用前景的詳細分析: 一、RISC-V的基本特點 RISC-V
    發表于 09-28 11:00

    名單公布!【書籍評測活動NO.44】AI for Science:人工智能驅動科學創新

    、污染治理、碳減排三個方面介紹了人工智能為環境科學引入的新價值和新機遇。 第8章探討了AI for Science在快速發展過程中面臨的機遇和挑戰,并對“平臺科研”模式進行了展望。 申請時間
    發表于 09-09 13:54

    報名開啟!深圳(國際)通用人工智能大會將啟幕,國內外大咖齊聚話AI

    呈現、產業展覽、技術交流、學術論壇于一體的世界級人工智能合作交流平臺。本次大會暨博覽會由工業和信息化部政府采購中心、廣東省工商聯、前海合作區管理局、深圳市工信局等單位指導,深圳市人工智能產業協會主辦
    發表于 08-22 15:00

    FPGA在人工智能中的應用有哪些?

    定制化的硬件設計,提高了硬件的靈活性和適應性。 綜上所述,FPGA在人工智能領域的應用前景廣闊,不僅可以用于深度學習的加速和云計算的加速,還可以針對特定應用場景進行定制化計算,為人工智能技術的發展提供有力支持。
    發表于 07-29 17:05

    CYW43455如何設置ED(能量檢測)的適應性閾值嗎?

    我想設置 ED(能量檢測)的適應性閾值嗎? * 如何激活 ED?
    發表于 05-31 07:08

    5G智能物聯網課程之Aidlux下人工智能開發(SC171開發套件V2)

    Aidlite-SDK模型推理 https://v2.docs.aidlux.com/sdk-api/aidlite-sdk/aidlite-python 人工智能 5G AIoT技術實踐入門與探索_V2 59分
    發表于 05-10 16:46

    5G智能物聯網課程之Aidlux下人工智能開發(SC171開發套件V1)

    .pdf 人工智能 軟件平臺使用指導A:AidLux平臺介紹 8分29秒 https://t.elecfans.com/v/25505.html *附件:AidLux平臺使用介紹.pd
    發表于 04-01 10:40

    嵌入式人工智能的就業方向有哪些?

    嵌入式人工智能的就業方向有哪些? 在新一輪科技革命與產業變革的時代背景下,嵌入式人工智能成為國家新型基礎建設與傳統產業升級的核心驅動力。同時在此背景驅動下,眾多名企也紛紛在嵌入式人工智能領域布局
    發表于 02-26 10:17
    大发888赌城| 澳门百家乐网上赌| 百家乐官网路书| 百家乐官网桌子定制| 新濠峰百家乐官网的玩法技巧和规则 | 唐人博彩| 绥棱县| 至尊百家乐官网下载| 欢乐博百家乐官网娱乐城| 专业百家乐官网软件| 肯博百家乐现金网| 百家乐高手技巧| 网页百家乐的玩法技巧和规则| 威尼斯人娱乐城老品牌值得您信赖lm0| 大发888在线娱乐城合作伙伴| 蓝盾国际娱乐| 澳门百家乐官网赢钱秘诀| 澳门百家乐官网官网www.bjbj100.com | 网络百家乐最安全| 百家乐太阳城真人游戏| 永利高平台网址| 鸿运国际| 百家乐官网浴盆博彩通排名| 百家乐官网网上漏洞| 百家乐作弊视频| 百家乐游戏新| 澳门葡京娱乐| 百家乐官网娱乐用品| 皇室百家乐官网的玩法技巧和规则| 百家乐室系统软件| 威尼斯人娱乐城官方地址| 智尊娱乐| 百家乐官网技术论坛| 大玩家百家乐游戏| 威尼斯人娱乐城送38| 星河国际娱乐场| 百家乐官网赌博论坛博客| 模拟百家乐游戏软件| 大发888娱乐场菲律宾| 百家乐破解方法技巧| 易胜博|