OpenAI 的第四款 大型語言模型(LLM),GPT-4,訓練時估計耗電 50 千兆瓦時,相當於 5,000 戶 美國家庭一年的用電量。這是 2023 年的事。自那之後,用於訓練前沿 LLM 的運算資源持續 增加,不過實際的 耗電量數字很難取得。
如今,位於 荷蘭的 屯特大學 研究團隊 證明,只要巧妙調整 GPU 在運算過程中的時脈頻率,就能節省最多 14% 的 LLM 訓練能耗,同時不犧牲速度。Jeffrey Spaan 是屯特大學的博士候選人,也是該論文的主要作者,上個月他在義大利卡塔尼亞舉行的 Computing Frontiers 會議上發表了研究結果。
「我的研究是關於找出運算浪費,」Spaan 說。「這與硬體未充分利用的概念類似,但我們不是針對硬體優化軟體,而是嘗試針對軟體優化硬體。」
讓 GPU 運作
Spaan 與合作者透過一種稱為動態電壓與頻率調整(DVFS)的技術達成此目標。每顆晶片(包含常用於訓練前沿模型的 GPU)至少使用一個時脈來協調運算。晶片中的每個操作都由時脈脈衝觸發。時脈的跳動頻率控制晶片的運作速度以及耗電量。
現代 GPU 擁有兩個 時脈:一個用於運算核心,另一個用於記憶體。當核心忙於計算數字時,時脈頻率會保持在高位,以確保快速運算。不過,透過 DVFS,記憶體時脈可在這段時間放慢,進而降低功耗。原則上,可以直接關閉晶片的記憶體部分,但 GPU 設計不允許軟體控制該開關,而且在計算中途重新啟動也太耗時。同樣地,當核心在等待從記憶體載入資料時,可以將核心時脈頻率降至極低,同時提高記憶體時脈頻率。
DVFS 是一項至少可追溯到 1990 年代的成熟技術。但 Spaan 表示,其他研究人員無法有效將其應用於 LLM 訓練,因為他們的方法不是讓運算速度大幅降低,就是調整粒度不足以改善能耗。
先前的 DVFS 嘗試是在訓練過程的每次迭代中調整頻率。在 LLM 訓練中,每次迭代包含兩個部分:前向傳播(將資料依照現有權重向前通過模型各層),以及 反向傳播(根據前向傳播結果逐層調整權重)。因此,先前研究在前向傳播時保持一個頻率值,然後在反向傳播時切換到另一個值。
Spaan 與同事在更短的時間尺度上調整時脈頻率。GPU 工作負載被分解為稱為 kernel 的微小運算單元。例如,單一向量-向量乘法可構成一個 kernel。這些 kernel 會被餵給 GPU 進行多次平行處理。在 Spaan 的實作中,一個 深度神經網路 單一層的運算被拆分成大約 40 個 kernel。透過在每個 kernel 等級調整時脈頻率,團隊得以找到更大的節能效果。
Spaan 指出,當晶片內部系統偵測到需求高低變化時,GPU 也會自動執行 DVFS。「有些人可能因此認為:讓 GPU 自己處理就好,」他說。「然而,因為 GPU 沒有我們對即將執行的 kernel 的預知能力,它必須依據即時的最佳努力猜測來運作,因此無法達到相同的節能效果。」這就是手動調整派上用場之處。
降低能耗,維持相同時間
該團隊的實驗是使用 Nvidia RTX 3080 Ti GPU 訓練 GPT-3-XL(一個 13 億參數的模型)。為了節省時間,他們專注於訓練模型的單一層。在這個設定下,他們找到一組頻率調整方式,可在訓練時間僅增加 0.6% 的情況下,實現 14% 的節能效果。模型的效能同時取決於運算速度與能耗。
有一個挑戰:降低時脈頻率的速度遠快於開啟或關閉核心,但仍然不是瞬間完成。在實驗中,研究人員一次評估一個 kernel,並未考慮頻率切換速度。因此 14% 的節能效果是最佳情況。實際上會受到多大影響,Spaan 表示,很大程度上取決於所使用的 GPU。新一代硬體(如 Blackwell GPU)的切換速度比舊版 快得多,應該能發揮完整的節能效果。
目前,該團隊正在開發一款工具,能針對特定工作負載自動執行最佳頻率調整。Spaan 希望他們的方法能吸引產業領先者採用。「我們以在不損失效能的前提下節省能源為目標,」Spaan 說。「在現實世界中,效能才是聖杯。」
0 Comments
Log in to join the conversation.No comments yet. Be the first to share your thoughts.