解決 AI 硬體中的功耗挑戰

本文原文由Solaiman Rahim張貼

英文原文:Addressing Power Challenges in AI Hardware

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

事實上,考慮到對環境造成的影響,人工智慧硬體的功耗已經成為值得重點關注的領域。AI 研發公司 OpenAI 的資料顯示,要產出一流的 AI 模型所需要的運算資源,平均每 3.4 個月就會增加一倍。麻薩諸塞大學阿默斯特分校的研究人員預估,訓練單一深度學習模型(高能源需求的一種運算) 所產生的碳排放量高達 626,155 磅,相當於五輛汽車在其整個生命週期中的排放總量。一旦將人工智慧模型用於實際應用上,其能耗又會進一步增加。AI 硬體通常由具有上千片晶片(處理元件) 的大型陣列組成,此設計需要十億多個邏輯閘,因此極其耗電。降低功耗可帶來諸多好處,包括降低成本、延長電池續航力,同時能將對環境造成的影響降到最低。

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

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

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

全面性的glitch功耗分析

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

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

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