但首先,必須解決效用問題。電力是否被浪費了?“我們將電力用于有價值的用途,”Ansys(現為新思科技旗下公司)產品營銷總監 Marc Swinnen 說道。“它沒有被浪費。它是電力的工業應用,它只是另一個行業 —— 就像鋼鐵和銅一樣。”
在很多情況下,這些電力可以被顯著的節約所抵消。“農民使用人工智能來控制自動駕駛拖拉機進行耕作,”Microchip 高級產品營銷經理 Diptesh Nandi 說道。 “他們在噴灑農藥和肥料時使用人工智能進行推理。這不僅節省了時間,還減少了化學品的使用量。生產這些化學品需要電力,因此使用人工智能可以節省電力。我們已經看到人工智能驅動的邊緣設備蓬勃發展,尤其是在農業領域。”
在今年的設計自動化大會上,一些學者聲稱,在降低功耗方面,一些簡單的改進已經被實現了。“我不同意這種說法,” 新思科技系統設計事業部系統解決方案戰略項目執行總監 Frank Schirrmeister 說道。“我們還遠沒有達到優化所有目標。此外,應用需求增長如此之快,以至于很難跟上功耗的步伐。問題可能是:‘如何實現最低功耗?’片上網絡(NoC)的影響、芯片分區的影響、特定工作負載架構的影響,以及對更高性能的渴望,這是一個與功耗的權衡。”
有些人將計算機的功耗與自然功耗進行比較。 “如果你觀察像玄鳳鸚鵡這樣的生物,想想它大腦里 2 瓦的功率能做什么,它就能飛,”Cadence 計算解決方案事業部產品營銷總監 Jason Lawley 說道。“它可以模仿文字,可以對周圍環境進行復雜的視覺理解,進行 3D 計算,還可以在樹林間飛翔。從這個角度來看,很多事情都是可能的。問題只是我們多久才能趕上它們。我認為人工智能不會永遠沿著同一條道路發展。會有其他創新和發明讓我們繼續前進,比如神經形態計算。”
許多頭條數據都與數據中心的訓練有關,但從長遠來看,這可能是錯誤的重點。“傳統上,訓練占據了我們計算需求的主導地位,因為它需要大量的數據集和更長的周期,”Normal Computing 的高級人工智能工程師 Doyun Kim 說道。“如今,我們正見證推理時計算技術的根本性轉變。模型執行多步推理,包括思維鏈、思維樹和代理工作流,每次查詢都會觸發數十次推理操作,其功耗如今已可與訓練強度相媲美。對于芯片設計人員和數據中心運營商而言,這代表著一次重大轉變。推理正成為首要的功耗考慮因素。但我們如何應對這一功耗挑戰?
這可能會迫使設計團隊更加節約用電。“邊緣 AI 的功耗將會增加,但它將更多地由電池供電,”Cadence 的 Jason Lawley 說道。“它將更加分散地融入我們的日常生活中。相對而言,我們能夠投入到這些電池中的電量與數據中心本身的功耗相比微不足道,而用戶將要求更長的電池續航時間。”
邊緣AI更具價值
如果我們假設 AI 能夠提供價值,那么我們可以看看等式的另一面。 “現有的電網并非為人工智能而建,無法應對,”Ansys(現已被新思科技收購)總監 Rich Goldman 表示。“升級基礎設施將耗費大量時間,成本也非常高昂。我們必須考慮本地能源生產,而不是試圖將能源從生產地輸送到需求地。小型核反應堆的時代即將到來。”
還有其他非碳排放的方式來生產所需的電力。“好處是,數據中心可以建在任何有電的地方,”Ansys 的 Marc Swinnen 補充道。“想想撒哈拉沙漠。那里土地充足,陽光充足,你可以建造太陽能發電場。人工智能的魅力在于,你只需在那里鋪設一條光纜,就可以將所有數據輸入和輸出,而無需大量的基礎設施。你不需要港口和道路。”
雖然這解決了數據中心的問題,但也必須考慮邊緣計算。 Normal Computing 高級 AI 工程師 Maxim Khomiakov 表示:“在運行 LLM 時,設備上的邊緣 AI 執行仍然是一個極其耗能的過程。轉向模型高效地獲取輸出是一項巨大的挑戰。暴力破解解決方案非常耗能。一種已知的技術是生成許多輸出軌跡,并同時對有用的軌跡進行子集化,從而優化提示和答案。從長遠來看,未來的道路是構建針對 LLM 和推理密集型工作負載優化的 ASIC 芯片。推理需求正在飆升,這正在趕上訓練成本。
邊緣自主性正在不斷發展。“使用邊緣 AI 的客戶的主要要求是降低延遲,”Microchip 的 Diptesh Nandi 說道。“將數據發送到數據中心并獲取響應需要耗費太多時間和功耗。一種解決方案是在將其發送到數據中心之前在邊緣執行一些計算。例如,如果您在高速公路上監控車牌,75% 的工作負載是檢測車牌的位置并沿道路跟蹤它。一旦您能夠鎖定該位置,就可以將數據發送回云端進行字符識別。”
模型演進
模型規模持續擴大。“這些大型語言模型的變化速度持續加快,這直接增加了訓練的消耗率,”Jason Lawley 說道。“觀察它們在何時達到收益遞減的臨界點將會很有趣,但目前看來它們還遠未達到這個臨界點。它們持續輸入更多數據,并取得了更好的結果。它們對初始數據集采用了不同的改進技術,并且進行了二次訓練和其他形式的訓練,最終將這些大型語言模型融入其中。”
目前的目標似乎是創建更大、更統一的模型。“首先可以優化的是模型本身,”Synopsys 的 Frank Schirrmeister 說道。“通過使模型更貼合其需求,可以獲得很多好處。你可以使這些模型更加貼合應用程序,從而能夠限制它們。在其上運行的、消耗所有能量的應用程序正在變得更加優化,不再局限于泛化。”
這可能會讓事情朝著不同的方向發展。“正如硅片行業引入多電壓域、時鐘門控和電源門控來節省功耗一樣,我們可以將類似的概念應用于 AI 系統,”Normal 的 Doyun Kim 說道。“就像避免同時運行整個模型的混合專家 (MoE) 架構一樣,我們可以使 AI 系統更加模塊化。通過實時預測需要哪些模塊并動態地僅激活必要的組件 —— 類似于工作負載預測 —— 我們可以通過智能系統級電源管理實現顯著的節能。”
一些優化需要協同設計。“軟件堆棧有很多改進的機會,例如運算符融合、布局轉換和編譯器感知調度,”Expedera 軟件工程總監 Prem Theivendran 說道。“這些可以釋放潛在的硬件效率,但前提是硬件能夠暴露這些鉤子。這需要硬件功能和軟件優化之間的密切協調。當模型、編譯器和硬件協同優化時,即使在已經高效的加速器上,也能獲得顯著的收益。”
邊緣計算擁有更多機遇。“量化是最重要的關鍵之一,”Jason Lawley 說道。“我們看到人們正在朝著兩個方向發展。一是縮小規模。雖然目前許多人都在使用 Int8,但 Int4,有時甚至是 Int1 也在考慮之中。Int1 可以減少存儲空間、帶寬和計算量,而這三個方面是我們功耗的主要來源。我們看到越來越多關于混合量化模式的研究,其中一些層可能以 FP16 運行,因為它們非常重要,而其他層則以 Int4 運行。我們也看到人們從整數回歸浮點,甚至使用 FP16 和 FP8,因為他們發現,在使用 8 位或 16 位非線性的模型中,浮點數能獲得更好的結果。使用浮點表示可以獲得更精細的粒度。”
設計更優的硬件
主要有兩種方法。第一種是設計更適合執行 AI 工作負載的架構,第二種是提高現有架構的效率。“工程設計始終是一個抽象的過程,從這個角度來看,這是一種權衡,因為你永遠無法真正在整個設計層次上實現全面優化,”Fraunhofer IIS 自適應系統工程部門高級混合信號自動化團隊經理 Benjamin Prautsch 說道。“你會嘗試盡可能地抽象,以便在更短的時間內創造更多價值。但這是以次優設計為代價的,至少對于特定用途而言是這樣。我們永遠無法真正找到最優方案。當然,我們希望進行優化,這需要對整個堆棧進行優化,沿著價值鏈從上到下。我們可能需要兼具整體視角和能夠優化關鍵問題的優秀工具。最大的問題是人工智能發展如此迅速,這與制造時間表并不兼容。
在工藝的每個步驟中都可以節省功耗,但功耗也可能被浪費。“雖然降低功耗看似簡單 —— 最小化 P=fCv2 中的各項 —— 但由于功耗、性能和面積 (PPA) 之間的內在權衡,這使其變得復雜,”Cadence 數字與簽核事業部產品管理總監 Jeff Roane 表示。“由于難以測量和優化的故障功耗,這些復雜性在 AI 芯片數學函數中成倍增加。因此,必須在每一個設計抽象層級進行以準確分析為驅動的有效優化,其中架構級優化可實現最大程度的降幅,最高可達 50%;RT 級優化可實現最高 20% 的降幅;門控物理良率最高可達 10%。”
在每個設計步驟中,了解工作負載都至關重要。“功耗主要由動態功耗決定,而動態功耗高度依賴于矢量,” 新思科技研究員 Godwin Maben 表示。“特定于 AI 的工作負載定義非常明確,因此生成工作負載并非問題。功耗主要取決于從計算到內存再到計算的數據傳輸。擁有一個節能的總線架構至關重要,甚至像壓縮進出內存的數據這樣的架構決策也至關重要。功耗降低是可擴展的。由于同一計算單元的實例會重復數千次,因此優化一個單元將顯著降低整體功耗。”
在所有討論中,數據移動都是功耗關注點的首要問題。“AI 工作負載涉及在計算單元、內存和加速器之間傳輸大量數據,”Arteris 產品管理和營銷副總裁 Andy Nightingale 表示。“為了降低每次推理的功耗,需要考慮本地化通信。與長距離傳輸相比,平鋪或空間聚類技術更受歡迎。我們預見到,未來巧妙的互連設計將成為 SoC 架構師扭轉 AI 功耗曲線的最重要杠桿。”
處理器的其他部分對工作負載的依賴程度較低。“回顧過去,矩陣乘法一直是貫穿整個 AI 領域始終不變的要素,”Jason Lawley 說道。“這部分其實并沒有改變。量化變了,激活函數變了,帶寬變了,人們排列不同層的方式也變了。但矩陣乘法的功能始終不變。我們確保擁有非常強大的矩陣乘法解決方案,同時在激活函數等方面也擁有更高的可編程性。”
更重要的架構變革研究仍在繼續。“關于內存計算的討論尚未結束,”Frank Schirrmeister 說道。“它有助于提高性能和功耗,因為你無需跨邊界傳輸數據。你無需移動數據即可執行計算。這些都是尚未得到充分利用的領域。其他人正在認真考慮神經形態計算。我不認為我們會被馮?諾依曼束縛。只是太多的遺留問題依賴于它。你能用不同的方法嗎,尤其是在人工智能加速的背景下?當然可以。市面上有很多方法。有什么方法能堅持下去嗎?可能是為了滿足那些特定的需求,比如降低能耗和功耗。”
為了更接近大腦的運作方式,必須考慮模擬技術。“有一些非常有趣的模擬初創公司,已經取得了巨大的成果,”Jason Lawley 說。“不幸的是,他們無法擴展到所需的所有算子范圍。對于模擬加速器擅長的事情,它們確實做得很好,而且功耗極低。但很多時候,它們不得不回歸數字技術。模擬技術是一個復雜的制造過程。為了達到必要的控制水平,你需要確保所有電流、電阻和線路連接都正確。這是一個更難解決的問題。也許未來會解決這個問題,但各大公司長期以來一直在努力解決這個問題。
EDA 的作用
EDA 主要通過兩種方式幫助降低 AI 功耗。首先是提供決策所需的信息。其次是提供工具,以實現高效的實施和優化。Expedera 的 Prem Theivendran 表示:“EDA 可以將過去的猜測轉化為數據驅動的設計,從而塑造 AI 架構。通過設計空間探索、工作負載分析和 AI 輔助調優,EDA 可以幫助架構師構建不僅功能齊全,而且針對實際 AI 工作負載進行優化的硬件。”
左移的真正程度在系統層面上變得顯而易見。“我們已經到了不能只考慮芯片級優化的階段 —— 我們需要考慮從封裝到電路板再到機架級的整個堆棧,”Doyun Kim 說道。“尤其重要的是工作負載感知的系統設計。不同的 AI 工作負載 —— 無論是訓練、推理,還是這些新的推理時計算模式 —— 都具有截然不同的功耗和散熱特性。EDA 工具需要不斷發展,以幫助我們根據實際工作負載特性分析和優化這些全系統交互。只有這樣,我們才能設計出真正最大化硅片利用率的系統,而不是在大多數時間里受到散熱限制。”
硬件架構的快速迭代讓我們可以考慮更多選項。“EDA 需要融入高級的、物理感知的規劃工具,”Arteris 的 Andy Nightingale 說道。“自動化必須能夠快速迭代拓撲和布局,模擬功耗和性能之間的權衡。基于 AI 的設計空間探索還可以幫助實現最佳分區、布線和資源布局。”
工作負載、架構、事務與內存存儲之間交互的復雜性不斷增加。“它們變得過于復雜,人們根本無法預測,”Frank Schirrmeister 說道。“在某些組件中,電子表格仍然可以幫助您識別緩存對跨越芯片或芯片集邊界的流量的影響,這可能會消耗更多電量。您仍然可以進行粗略的計算并使用隨機模型。但這些交互過于復雜,以至于人們要求在目標架構上運行 AI 工作負載,以便您確信自己在性能方面做得正確。”
人類創新仍有很大的空間。“這是一個復雜性的問題,它本質上過于復雜,這表明在設計過程中可能會出現大量的浪費,”Fraunhofer 的 Benjamin Prautsch 說道。“在將問題分解為解決方案時,這種情況并不少見。這始終是一個權衡,而且總是帶有偏見的。利益相關者之間的良好溝通至關重要,這樣才能快速排除各種選項,并迅速縮小最合理的選擇范圍,但這并不一定意味著最佳解決方案已經擺在桌面上。”
結論
人工智能的功耗問題開始敲響警鐘,這是有充分理由的。但這與其他行業的興起并無二致。關鍵在于我們如何應對。我們是應該創造更多清潔能源,還是應該以某種方式降低功耗?我們能否通過在半導體的舒適區之外進行設計來做得更好,還是這會限制其帶來效益的速度?有人能完全理解他們所做決策的含義嗎?
解決方案需要眾多利益相關者的共同努力,這在過去一直很困難。如今,軟件開發的速度遠遠超過了硬件的響應速度,一些人希望人工智能能夠加快這一速度。“人工智能的終極目標是完全設計出能夠提高人工智能自身效率的芯片,”Normal 的 Maxim Khomiakov 說道。