草榴社区

解決 AI 硬體中的功耗挑戰

本文原文由张贴

英文原文:

人工智慧 (AI)加速器在神經網路等 AI 類型的工作中扮演關鍵角色。這些高效能的平行計算機可以提供高資料量所需的處理效率。隨著人工智慧在我們的生活中扮演日益重要的角色,從智慧揚聲器等消費性電子产物到自動化工廠等工業應用,我們都必須考慮這些應用的能源效率。舉例來說,在设计 AI 加速器時,设计的初期就可以有機會讓功耗最佳化。

事實上,考慮到對環境造成的影響,人工智慧硬體的功耗已經成為值得重點關注的領域。AI 研發公司 OpenAI 的資料顯示,麻萨诸塞大学阿默斯特分校的研究人员预估,,相當於五輛汽車在其整個生命週期中的排放總量。一旦將人工智慧模型用於實際應用上,其能耗又會進一步增加。AI 硬體通常由具有上千片晶片(處理元件) 的大型陣列組成,此设计需要十億多個邏輯閘,因此極其耗電。,包括降低成本、延长电池续航力,同时能将对环境造成的影响降到最低。

其中一项功耗方面要注意的关键挑战即是驳濒颈迟肠丑功耗。在電子设计中,如果組合電路路徑內的訊號時序不平衡,就會發生故障而造成競爭條件(race condition),進而引起不必要的訊號轉換(glitches),並產生額外的動態功率。Glitches的數量與系統單晶片(SoC)執行的操作數量成正比。您只要想想在硬體上運行 AI 演算法需要多麼大量的操作數量,就能理解為什麼驳濒颈迟肠丑功耗對於整體功耗會產生如此大的影響 (在許多情況下,一個晶片的驳濒颈迟肠丑功耗可佔其總功率的 40%)。此外,glitch還可能引發電遷移(EM) 和 IR 壓降的問題 (甚至在電源佈線網中也可能發生)。

由於 AI 的硬體架構具有對稱性和重複性,所以在设计週期初期就能找到在glitch問題上最可行的微架構(micro-architecture)是非常重要的。就目前來說,驳濒颈迟肠丑功耗通常只能在具有時序延遲的邏輯閘級模拟時,才能在流程的後期進行計算。到了這個階段,要再修改微架構、在實作過程中將驳濒颈迟肠丑功耗納入功耗預算,或者執行特定的電路修改流程 (ECO) 來降低驳濒颈迟肠丑功耗,都為時已晚。在系統或 RTL 層級就能確認面臨glitch問題時的最佳微架構,是更好的做法。透過降低大數量且高度重複的晶片功耗,得以在晶片層級上大幅節省能耗。

若要辨識glitch並確定它們所造成的額外功耗,设计人員需要特別注意元件延遲和線路延遲。幸運的是,有些故驳濒颈迟肠丑功耗分析和最佳化工具可以利用準確的延遲資訊,來擷取這些glitch並測量額外切換動作所造成的功耗。舉例來說,實作工具可以利用glitch所產生的額外切換來做出更好的決策,藉以抑制glitch的數量或使其對 EMIR 的影響最小化。

全面性的驳濒颈迟肠丑功耗分析

新思科技的 PrimePower 产物系列提供了一種端對端(end-to-end)的解决方案,可以在實際的軟體上的SoC 或晶片層級上執行,以進行從 RTL層級到邏輯閘層級的 驳濒颈迟肠丑功耗分析。PrimePower RTL 可計算並回報每個階層結構的glitch情況,以找出具有高glitch的電路實體區塊(instance)。设计師可以使用這個工具進行假設分析,找出產生最多glitch的 RTL 原始碼位置以降低驳濒颈迟肠丑功耗。這對於 AI 和機器學習硬體而言,是非常實用的功能。

PrimePower 解决方案可提供 RTL 模拟所生成的延遲/glitch感知向量(Delay-/glitch-aware vector)。此产物可以從任何指定電路描述檔案(電路合成後的輸出、CTS 輸出、佈局佈線輸出等) 的 RTL,模拟產生帶有glitch資訊 (IG 和 TG) 的 SAIF 和延遲感知 SAIF。SAIF 或 FSDB 可用於實作或 ECO 期間含感知glitch的最佳化。此外,PrimePower 邏輯閘層級功率分析和絕佳的功率签核(power signoff)可利用無延遲邏輯閘級或具時間資訊的模拟資料(simulation vectors)來進驳濒颈迟肠丑功耗的分析,得到進乎SPICE 精準程度的功耗報告。

總而言之,解決驳濒颈迟肠丑功耗問題為晶片设计人員提供了另一種降低 AI 硬體功耗的方向,從而降低在日常應用中日益重要的運算密集型機器對環境造成的影響。