人工智能模型的複雜性不斷增加,網絡數量和種類也呈爆炸式增長,使得晶片制造商在固定功能加速和可程式設計加速器之間徘徊,并創造了一些同時包含兩者的新方法。
總的來說,通用的 AI 處理方法并不達标。通用處理器就是這樣的。它們不是為任何特定工作負載而設計或優化的。而且由于 AI 消耗了系統功耗的很大一部分,是以專注于特定用例或工作負載可以在更小的占用空間内實作更大的功耗節省和更好的性能。
Rambus 研究員、傑出發明家 Steven Woo 表示:“在過去十年中,人工智能對計算和半導體行業産生了深遠的影響——以至于現在已經采用了專門的處理器架構,并且還開發和采用了僅服務于人工智能市場的專用元件。”
但這種專業化是有代價的。Arm 研究員兼機器學習技術副總裁 Ian Bratt 表示:“對于 ML 和 AI 來說,計算需求是無止境的。如果你能做 10 倍以上的計算,人們就會使用它,因為當你運作一個 10 倍大的模型時,你可以做得更好。因為這種需求是無止境的,是以它會推動你針對該工作負載進行優化,并且已經建構了不同類型的 NPU,它們可以在特定類别的神經網絡模型上實作非常好的能源效率,并且你可以在這些空間中獲得出色的每瓦操作數和性能。然而,這是以靈活性為代價的,因為沒有人知道模型的發展方向。是以它犧牲了面向未來的方面。”
是以,一些工程團隊正在研究不同的優化方法。Bratt 說:“通用計算平台(如 CPU 和 GPU)一直在為神經網絡增加更多内部加速,同時又不犧牲這些平台(如 CPU)的通用可程式設計性。”Arm 擁有 CPU 指令路線圖,并且多年來一直在增加架構和 CPU 以提高 ML 性能。“雖然這仍然在通用平台上,但你可以在那裡獲得很多東西。它不如專用的 NPU 好,但它是一個更靈活、更面向未來的平台,”他說。
提高效率至關重要,它影響一切,從超大規模資料中心訓練人工智能模型所需的能量到進行推理的邊緣裝置的電池壽命。
Ansys 産品營銷總監 Marc Swinnen 表示:“如果你采用經典的神經網絡,其中有多層節點,資訊從一個節點傳遞到另一個節點,那麼訓練和執行的本質差別在于,在訓練期間,你有反向傳播。你擷取資料集并在節點中運作它。然後計算誤差函數,即與你知道需要實作的标記結果相比,答案有多錯誤。然後你擷取該誤差并反向傳播,并調整節點上以及節點之間連接配接的所有權重以減少誤差。然後你再次用更多資料掃描,然後再次反向傳播誤差。你來回反複,這就是訓練。每次掃描你都會改進權重,最終你希望收斂到一組由節點、偏差以及可以提供可靠輸出的權重和值組成的數萬億個權重和值。一旦你有了每個節點的權重和所有參數,并且執行了實際的 AI 算法,那麼你就不需要進行反向傳播了。你不需要再糾正它了。你隻需輸入資料并将其傳遞下去。這是一種更簡單、單向的資料處理方式。”
反向傳播需要大量能量來完成所有計算。
“你必須對所有節點和所有資料進行平均,以形成誤差函數,然後對其進行權重和除法等等。”Swinnen 解釋道。“反向傳播需要進行所有數學運算,而這在實際執行(推理期間)中不會發生。這是最大的差別之一。推理中需要進行的數學運算少得多。”
然而,這仍然需要進行大量的處理,并且随着人工智能算法變得越來越複雜,浮點運算的數量增加,趨勢線隻會指向上方和右側。
西門子數字工業軟體進階綜合部門項目總監 Russ Klein 表示:“過去五年來,獲勝的 ImageNet‘Top1’算法執行的浮點運算數量增加了 100 倍。” “當然,LLM 正在創下模型參數的新紀錄。随着計算負載的增加,在通用 CPU 上運作這些模型變得越來越不切實際。AI 算法通常具有高度資料并行性,這意味着操作可以分布在多個 CPU 上。這意味着隻需将更多 CPU 應用于問題即可滿足性能要求。但在 CPU 上執行這些計算所需的能量可能非常高。GPU 和 TPU 通常具有更高的功耗,但計算速度更快,進而降低了相同操作的能耗。”
盡管如此,對更多處理能力的需求仍在不斷增長。新思科技解決方案事業部産品經理 Gordon Cooper指出,生成式 AI 推理的基準測試請求數量急劇上升,表明人們的興趣日益濃厚。“我們最近 50% 以上的基準測試請求中至少有一個生成式 AI 模型在清單中,”他說。“更難評估的是,他們是否有特定的用例,或者他們是否在兩面下注,并說‘這是趨勢。我必須告訴人們我有這個。’我認為有必要聲稱這種能力仍然領先于用例。”
與此同時,這些模型的變化速度也在不斷加快。“我們距離硬連線 AI(即 ASIC)還有很長的路要走,以至于‘這就是它。标準已經确定。這些是基準,這将是最高效的’,”Cooper 說。“是以,可程式設計性仍然至關重要,因為你必須能夠為接下來出現的東西提供一定程度的可程式設計性,以確定你有一定的靈活性。但是,如果你的可程式設計性太強,那麼你就隻是一個通用 CPU 甚至 GPU,那麼你就沒有利用邊緣裝置的功率和面積效率。挑戰在于如何盡可能地優化,同時又能為未來提供可程式設計性。這就是我們和我們的一些競争對手試圖在足夠靈活的領域中徘徊的地方。一個例子是激活函數,例如 ReLU(整流線性單元)。我們過去常常将它們硬連線,但現在我們發現這很荒謬,因為我們無法猜測它們下次需要什麼。是以現在我們有一個可程式設計的查找表來支援未來的任何人。我們花了幾代人的時間才意識到我們必須開始讓它變得更加靈活。”
AI 處理不斷發展
AI 的快速發展得益于計算性能和容量的巨大進步。“我們現在處于 AI 2.0 時代,”Rambus 的 Woo 說道。“AI 1.0 的真正特點是首次嘗試将 AI 應用于整個計算領域。語音助手和推薦引擎等開始受到關注,因為它們能夠使用 AI 提供更高品質的結果。但回顧過去,它們在某些方面是有限的。系統可以使用某些類型的輸入和輸出,但它們并沒有真正生成今天能夠生成的高品質資訊。我們今天所處的位置是在 AI 1.0 的基礎上建構的。AI 2.0 的特點是系統現在可以從它們學習到的資料和它們獲得的輸入中創造出新的東西。”
這些技術中最重要的是大型語言模型和生成式人工智能,以及幫助人類提高生産力的副駕駛和數字助理。“這些系統的特點是多模态輸入和輸出,”Woo 解釋道。“它們可以接受許多輸入,文本、視訊、語音甚至代碼,并且可以從中産生新的東西。事實上,它們也可以從中産生多種類型的媒體。所有這些都是朝着通用人工智能 (AGI) 的更大目标邁出的又一步,我們作為一個行業,正在努力提供更像人類的行為,這些行為建立在人工智能 1.0 和人工智能 2.0 為我們設定的基礎之上。這裡的想法是能夠真正适應我們的環境,并為特定使用者和特定用例定制結果。内容生成的方式将得到改進,特别是在視訊等方面,甚至在未來,使用 AGI 作為一種方式來指導自主代理,例如既能學習又能适應的機器人助手。”
在此過程中,人工智能模型的規模一直在急劇增長——每年增長約 10 倍或更多。“今天,2024 年可用的最大模型已經突破了萬億參數大關,”他說。“這是因為更大的模型提供了更高的準确性,而我們仍處于讓模型達到非常高效的階段的早期階段。當然,這仍然是通往 AGI 的墊腳石。”
三四年前,在視覺轉換器和 LLM 出現之前,SoC 對新 NPU 功能的要求規範通常僅限于一小部分知名且經過優化的檢測器和圖像分類器,例如 Resnet50、ImageNet v2 和傳統 VGG16。Quadric 首席營銷官 Steve Roddy 表示:“半導體公司通常會評估這些網絡的第三方 IP,但最終決定為這些基準網絡中的通用建構塊圖運算符建構自己的加速器。事實上,批量 SoC 中的絕大多數 AI 加速都是自主研發的加速器。2024 年所有領先手機 SoC 的拆解将證明,所有六大批量移動 SoC 都使用内部 NPU。”
其中許多可能會被更靈活的商業 NPU 設計所取代或補充。“新 NPU IP 的提案請求通常包括 20、30 個或更多網絡,涵蓋一系列經典 CNN,例如 Resnet、ResNext 等,新的複雜 CNN(即 ConvNext),視覺轉換器(例如 SWIN 轉換器和可變形轉換器)以及 GenAI LLM/SLM,其中有太多的模型變體無法計數,”Roddy 說。“建構硬連線邏輯來加速由數百種不同的 AI 圖形運算符變體組成的如此多種多樣的網絡是不可行的。是以,SoC 架構師正在尋找更完全可程式設計的解決方案,大多數内部團隊都在尋找外部第三方 IP 供應商,這些供應商可以提供快速編譯新網絡所需的更強大的編譯器工具集,而不是以前手動移植 ML 圖的勞動密集型方法。”
曆史重演
人工智能的這種演變類似于計算領域随着時間的推移所發生的演變。“首先,計算機出現在資料中心,然後計算開始向外擴散,”Cadence Neo NPU 産品營銷總監 Jason Lawley 說。“我們轉向桌上型電腦,然後進入人們的家庭,并向外擴充。然後我們有了筆記本電腦,接着是手機。人工智能也是一樣。我們可以看看在資料中心開始進行人工智能所需的計算強度。我們現在在 NVIDIA 身上看到了這一點。
話雖如此,大型機和資料中心永遠都有一席之地。我們将看到人工智能從資料中心向外擴散,我們看到人工智能從資料中心向邊緣擴散。當你移動到邊緣時,你會得到各種不同類型的應用程式。Cadence 專注于視訊、音頻和雷達,以及圍繞這些的其他計算類,每個支柱都是應用處理器的加速器。在每個支柱中,他們可能需要做更多的人工智能,是以人工智能 NPU 成為加速器的加速器。”
客戶行為也在不斷發展。“越來越多的系統公司和最終使用者擁有自己的專有模型,或者使用專有資料集重新訓練的模型,”Roddy 說。“這些 OEM 和下遊使用者不能或不會将專有模型釋出給矽片供應商,讓矽片供應商的移植團隊開發出新的模型。即使你可以在供應鍊上下遊制定 NDA 保護措施,依賴于人工調整和移植 ML 模型的工作模型也無法擴充到足以支援整個消費電子和工業電子生态系統。新的工作模型是一個完全可程式設計的、基于編譯器的工具鍊,可以交由建立最終應用程式的資料科學家或軟體開發人員使用,這正是幾十年來領先的 CPU、DSP 和 GPU 的工具鍊的部署方式。”
算法的複雜性不斷增加,
給工程團隊帶來更多壓力
随着算法的複雜性不斷增加,設計人員被迫追求更高水準的加速。西門子的 Klein 表示:“加速器越是針對特定模型進行量身定制,它的速度就越快、效率就越高,但通用性就越差。而且它對應用和需求變化的适應性也會降低。”
圖 1:運作 AI 模型、CPU、GPU、TPU 和自定義加速器的不同執行平台的功率和性能關系
圖 2:推理的複雜性不斷增加
Rambus 的 Woo 還看到了向更大 AI 模型發展的趨勢,因為它們可以提供更高品質、更強大和更準确的結果。“這一趨勢沒有放緩的迹象,我們預計未來對更大 DRAM 容量和更大 DRAM 帶寬的需求将繼續大幅增加。我們預計這種情況将持續下去。我們都知道,AI 訓練引擎是 AI 的展示部分,至少從硬體方面來看是這樣。NVIDIA 和 AMD 等公司的計算引擎,以及谷歌等公司生産的專用引擎(TPU),在行業計算和提供更好 AI 的能力方面取得了巨大進步。但這些引擎必須輸入大量資料,而資料移動是當今限制我們訓練模型速度的關鍵因素之一。如果這些高性能引擎在等待資料,那麼它們就沒有完成工作。我們必須確定整個管道的設計能夠以能夠讓這些引擎保持運作的方式提供資料。
如果我們從左到右看,通常的情況是存儲了大量的資料,有時是以非常非結構化的方式存儲的,是以它們會存儲在 SSD 或硬碟驅動器等裝置上,這些系統的任務是提取最相關、最重要的資料來訓練我們正在訓練的模型,并将其轉換為引擎可以使用的形式。這些存儲系統也有很多正常記憶體,用于緩沖區等。舉個例子,其中一些存儲系統的記憶體容量可以高達 1TB。一旦資料從存儲中提取出來,它就會被發送到一組伺服器進行資料準備。有些人稱之為讀取層。這裡的想法是擷取這些非結構化資料,然後對其進行準備,以便以 AI 引擎可以最佳訓練的方式使用它。”
同時,替代數字表示可以進一步改善 PPA。“浮點數通常用于 Python ML 架構中的 AI 訓練和推理,但對于這些計算來說,浮點數并不是理想的格式”,Klein 解釋道。“AI 計算中的數字主要在 -1.0 到 1.0 之間。資料通常會被标準化到這個範圍。雖然 32 位浮點數的範圍可以從 -10 38到 10 38,但這會在數字和對這些數字執行計算的運算符中留下大量未使用的空間。運算符的硬體和存儲值的記憶體會占用矽片面積并消耗電量。”
Google 建立了一種名為 brain float (bfloat) 的 16 位浮點數格式,該格式針對 AI 計算。由于模型參數和中間結果的存儲區域減少了一半,PPA 得到了很大的改善。矢量化 (SIMD) bfloat 指令現在是 RISC-V 處理器的可選指令集擴充。一些算法使用整數或定點表示來部署。從 32 位浮點數移動到 8 位整數需要四分之一的記憶體區域。資料在設計中的移動速度提高了四倍,乘法器縮小了 97%。較小的乘法器允許在相同的矽片面積和功率預算中使用更多的運算符,進而實作更高的并行性。“Posits”是另一種在 AI 算法上運作良好的奇特表示。
“通用 AI 加速器(例如 NVIDIA 和 Google 生産的加速器)必須支援 32 位浮點數,因為某些 AI 算法需要它們,”Klein 說道。“此外,它們還可以增加對各種大小的整數的支援,可能還有腦浮點數或假設。但支援每種新的數值表示都需要該表示的運算符,這意味着需要更多的矽片面積和功率,進而損害 PPA。除了 32 位浮點數外,一些 Google TPU 還支援 8 位和 16 位整數格式。但如果應用程式的最佳大小為 11 位特征和 7 位權重,則不太合适。需要使用 16 位整數運算符。但具有 11 x 7 整數乘法器的定制加速器将使用大約 3.5 倍的面積和能量。對于某些應用程式來說,這将是考慮定制加速器的有力理由。”
所有道路都通向定制,晶片設計師需要了解許多有關定制 AI 引擎的注意事項。
“當你獲得高度定制或定制程度不一的産品的授權時,你得到的東西就會有所不同,” Expedera營銷副總裁 Paul Karazuba 說道。“它不是标準産品。是以,你需要一點時間來學習。你得到的是精品産品,而這些産品中會有一些你作為晶片設計師獨有的鈎子。這意味着,作為一名晶片設計師和架構師,你需要學習曲線,以準确了解這些産品在你的系統中将如何發揮作用。這樣做有其優勢。如果标準 IP(如 PCIe 或 USB)中包含你不想要或不需要的内容,那麼其中的鈎子可能與你作為晶片設計師所選擇的架構不相容。”
這本質上是設計中的裕度,它會影響性能和功耗。“當你獲得定制的 AI 引擎時,你可以確定那些你不喜歡的鈎子不存在,”Karazuba 說。“你可以確定 IP 在你的系統中發揮良好作用。是以,這樣做肯定有好處。但也有缺點。你無法獲得标準 IP 所具有的規模。但對于高度定制的東西,你就會擁有它。你會得到一些定制的東西,這對你的系統有一些好處,但你需要處理更長的交貨時間。你可能要處理一些獨特的東西。會有一些複雜之處。”
然而,這些好處可以超過學習曲線。在一個早期的客戶示例中,Karazuba 回憶道:“他們開發了自己的内部 AI 網絡,旨在降低 4k 視訊流中的噪音。他們想要實作 4k 視訊速率。這是他們内部開發的網絡。他們花了數百萬美元來建構它。他們最初打算使用其應用處理器上現有的 NPU,正如您所猜測的那樣,這是一個通用 NPU。他們将算法放在該 NPU 上,獲得了每秒兩幀的幀率,這顯然不是視訊速率。他們找到我們,我們向他們授權了我們 IP 的針對性定制版本。他們為他們打造了一款包含我們 IP 的晶片,運作完全相同的網絡,獲得了每秒 40 幀的幀率,是以通過建構一個專注的引擎,性能提高了 20 倍。另一個好處是,由于它是專注的,是以他們能夠以應用處理器上 NPU 所消耗功率的一半來運作它。是以,以不到一半的功率實作了 20 倍的吞吐量。
公平地說,它與應用處理器采用相同的工藝節點,是以這确實是同類比較。這些是您從此類事情中看到的好處。現在,顯然存在成本方面的問題。建構自己的晶片比使用您已經購買的晶片上已有的東西要昂貴得多。但是,如果您可以利用這種人工智能來區分您的産品,并且可以獲得這種級别的性能,那麼額外的成本可能就不是障礙了。”
結論
就未來的發展方向而言,Arm 的 Bratt 表示,AI/ML 已經足夠多了。“我們将看到,在人們真正關心能源效率且工作負載較慢的情況下,例如深度嵌入式環境,您會看到這些專用的 NPU 具有針對這些 NPU 的高度優化模型,您将獲得出色的性能。但總的來說,像 CPU 這樣的可程式設計平台将繼續向前發展。它們将在 ML 方面不斷進步,并且它們将運作那些全新的工作負載。也許您無法将它們映射到現有的 NPU,因為它們有新的運算符或新的資料類型。
但随着情況穩定下來,對于某些垂直行業,您将采用在可程式設計平台上運作的那些模型,并針對 NPU 對其進行優化,您将在嵌入式垂直領域(如監控攝像頭或其他應用程式)中獲得最佳性能。這兩種模式将在未來相當長的一段時間内共存。”
Cadence 的 Lawley 表示,晶片架構師和設計工程師需要了解 AI 處理帶來的變化,歸結為三件事:存儲、移動和計算資料。
“從根本上說,這三件事自摩爾定律開始以來就沒有改變過,但他們必須意識到的最重要的事情是低功耗和最佳資料使用的趨勢,以及量化方面的進步——将記憶體固定到系統中并有效重複使用的能力。那麼在資料移動、資料存儲和資料計算中,應該使用哪種層融合?軟體在這方面發揮的作用與硬體一樣重要,是以算法能夠不錯誤地計算不需要計算的東西,并移動不需要移動的東西——這是我們關注的重點。我們如何以最小的能量獲得最大的性能?這是一個很難解決的問題。”
參考連結
https://semiengineering.com/mass-customization-for-ai-inference/
來 源 | 半導體行業觀察編譯自semiengineering
推薦閱讀——美國再将13家中企列入“未經驗證清單”(附中文名單)
日本突發,更新出口管制!包含5項半導體産品
一文看懂算力核心HBM的技術特點
美國更新AI晶片出口禁令,13家中國GPU企業被列入實體清單(附名單)又來!外媒:美國商務部将對42家中國企業出口管制(附中文清單)美商務部再将11個中國實體列入實體清單(附名單)歐美擔心中國加速生産傳統晶片!專家:美政府在對華晶片問題上無清晰戰略日本7月23日起尖端半導體出口管制生效,影響23種制造裝置(附明細)涉及近20家中國企業!美國國會對四家美國風投公司在華投資展開調查(附名單)美國宣布制裁13個中國實體與個人,我駐美使館回應(附制裁對象清單)【半導體】以涉俄軍為由,美帝将12個中國企業加入管制出口“實體清單”
☞商務合作:☏ 請緻電 010-82306118 / ✐ 或緻件 [email protected]