指數增長是不可持續的。這一切都將走向何方?
機器學習這種低消耗所有供應的能量模型,且成本高昂,不可持續。
在另外一方面,而且是新的,而且是令人興奮的領域,訓練迅速發展。另外由於數據中心用於訓練和推理的數量的急劇增加,這需要電源呈指數級的增長。另外,設備智能需要處理的數據量也正在急劇增加,這些因素都導致功耗的急劇增加。
但數字化正在威脅着能源系統和電源技術的發展。在最近的設計自動化大會上,AMD 首席技術官 Mark Papermaster 展示了一張幻燈片,展示了 ML 系統的能耗(圖 1)與世界能源生產的比較。
圖1、ML(機器學習)的能量消耗
Papermaster 並不是唯一一個發出警報的人。「我們忘記了過去 100 年的創新驅動力一直是效率,」Perceive 首席執行官史蒂夫·泰格 (Steve Teig) 說。「這就是推動摩爾定律的原因。我們現在正處於一個反效率的時代。」
Synopsys董事長兼首席執行官 Aart de Geus代表植物地球懇求對此採取行動。「有頭腦的人應該有幫助的心。」
為什麼能源消耗增長如此之快?「神經網絡的計算需求是無法滿足的,」 Arm研究員兼高級技術總監 Ian Bratt 說。「神經網絡越大,訓練的結果越好,你可以解決的問題就越多。能源使用與神經網絡的規模成正比。因此,節能推理對於採用越來越複雜的神經網絡和增強的用例(例如實時語音和視覺應用程序)至關重要。」
不幸的是,並不是每個人都關心效率。Mythic 負責產品和業務開發的高級副總裁 Tim Vehling 說:「當你看到超大規模公司正在嘗試做什麼時,他們正在努力獲得更好、更準確的語音識別、語音識別、推薦引擎。」 「這是金錢問題。他們可以獲得的準確性越高,他們可以服務的客戶就越多,他們就可以產生更多的盈利能力。你看看這些非常大的 NLP 模型的數據中心訓練和推理,這就是消耗大量能量的地方。而且我不知道是否有任何真正的動機來優化這些應用中的功率。」
但有些人確實在乎。Synopsys 的科學家 Alexander Wakefield 說:「減少這些公司的碳影響存在一些商業壓力,而不是直接的金錢,但更多的是消費者只會接受碳中和解決方案。」 「這是來自綠色能源方面的壓力,如果其中一個供應商說他們是碳中和的,那麼可能會有更多的人使用它們。」
但並非所有能源都在雲中消耗。越來越多的智能邊緣設備也導致了這個問題。「構成物聯網的設備有數十億,在不久的將來,它們使用的電力將超過我們在世界上產生的電力,」戰略和技術營銷總監 Marcie Weinstein 說對於 Aspinity。「他們消耗電力來收集和傳輸,並用他們收集的所有這些數據做他們需要做的任何事情。」
圖2、邊緣處理的低效率
圖 2:邊緣處理的低效率。資料來源:Aspinity/ IHS / SRC
降低功耗
過去,科技界依靠半導體縮放來提高能源效率。「我們的工藝技術正在接近物理極限,」 Arteris IP研究員兼系統架構師 Michael Frank 說. 「晶體管寬度在二氧化硅的 10 到 20 晶格常數之間。我們有更多帶有雜散電容的電線,並且在這些電線的充電和放電過程中會損失大量能量。在進入非線性區域之前,我們無法顯着降低電壓,在該區域中,操作的結果是統計描述的,而不是確定性的。從技術方面來看,我並沒有真正給我們一個好機會。然而,這是一個概念驗證,它消耗大約 20 瓦並完成所有這些事情,包括學習。這就是所謂的大腦。」
那麼 ML 是否比替代方案更有效?ICVS 產品經理 Joe Hupcey 說:「必須從其應用系統的角度考慮 ML 的功耗,其中的權衡取決於包含 ML 與整個系統的功率配置文件所帶來的整體性能增益。」適用於西門子 EDA。「在許多應用領域中,業界已經開發出高效的 ML FPGA 和 ASIC,以降低訓練和推理的功耗,並且正在進行大量投資來延續這一趨勢。」
有一種影響可能會迫使人們更加關注權力。Synopsys 科學家 Godwin Maben 說:「一些公司正在考慮每平方微米的功率,因為熱量。」 「每個人都擔心高溫。當你在一個小區域內將很多門堆疊在一起時,功率密度很高,溫度會升高,並且你會接近熱失控。功率密度現在限制了性能。作為 EDA 供應商,我們不僅僅關注功率,因為當熱量出現時,每瓦性能,然後是每平方微米每瓦性能,變得很重要。」
有幾種方法可以查看問題。「我通常喜歡查看每次推斷的能量,而不是功率,」西門子 EDA 的 HLS 平台總監 Russ Klein 說。「看權力可能有點誤導。例如,通常 CPU 比 GPU 消耗更少的功率。但 GPU 執行推理的速度比 CPU 快得多。結果是,如果我們查看每次推理的能量,GPU 可以使用 CPU 所需能量的一小部分來執行推理。」
消耗最多能量的地方尚不清楚,雖然這似乎很明顯,但結果卻頗有爭議。有兩個軸需要考慮——訓練與推理,以及邊緣與雲。
訓練與推理
為什麼訓練會消耗如此多的能量?「當您對同一個數據集進行多次迭代時,會消耗大量能量,」Arteris 的 Frank 說。「你正在做梯度下降類型的近似。該模型基本上是一個超維曲面,你正在做一些梯度,這是由通過多維向量空間下降的微商定義的。」
這樣做所消耗的能量正在迅速增加。「如果你看看兩年前訓練一個模型所消耗的能量,一些變壓器模型的能量在 27 千瓦時的範圍內,」Synopsys 的 Maben 說。「如果你看看今天的變壓器,它超過了 50 萬千瓦時。參數的數量從大約 5000 萬增加到 2 億。參數數量增加了四倍,但能量卻增加了超過 18,000 倍。歸根結底,它歸結為碳足跡以及這會產生多少磅的 CO,sub>2。」
這與推理相比如何?Cadence Tensilica AI 產品的產品營銷總監 Suhas Mitra 說:「訓練涉及向前和向後傳遞,而推理只是向前傳遞。 」 「因此,推理的能力總是較低。此外,在訓練期間,批量大小可能很大,而在推理過程中,批量大小可能會更小。」
當你試圖估計這兩個函數消耗的總功率時,它會引起爭議。「關於哪個消耗更多能量、訓練或推理存在爭議,」Maben 說。「訓練一個模型會消耗大量的能量,而根據這些數據進行訓練所需的天數是巨大的。但它是否比推理需要更多的能量?培訓是一次性費用。你花了很多時間在訓練上。訓練階段的問題是參數的數量,有些模型有 1500 億個參數。」
此外,培訓通常不止一次。「培訓不是一勞永逸的,永遠不會回來,」Mythic 的 Vehling 說。「他們不斷地重新訓練、重新優化模型,因此訓練是恆定的。他們不斷地調整模型,尋找增強功能,增強數據集,因此它或多或少是一項持續的活動。」
然而,推理可能會被重複多次。「你訓練了一個模型,它可能是為自動駕駛汽車開發的,現在每輛車都使用這個模型,」Maben 補充道。「現在我們正在談論在大約 1 億輛汽車中進行推理。一項預測是,超過 70% 到 80% 的能量將用於推理而不是訓練。」
有一些數據支持這一點。「在東北大學和麻省理工學院最近的一篇論文中,據估計,推理對能源消耗的影響比訓練要大得多,」Untether AI 產品高級總監 Philip Lewer 說。「這是因為模型是專門為推理而構建的,因此在推理模式下運行的頻率比訓練模式要高得多——本質上是訓練一次,到處運行。」
雲與邊緣
將應用程序從雲端遷移到邊緣可能有很多不同的原因。Expedera 營銷副總裁 Paul Karazuba 說:「市場已經看到,有些活動最好推到邊緣而不是雲端。」 「我認為在邊緣完成什麼和不做什麼以及如何做出這些決定之間沒有明確的界限。我們看到了對邊緣更多 AI 的渴望,我們看到了對邊緣更多關鍵任務應用程序的渴望,而不是將 AI 作為盒子外面的印記。人工智能實際上是在設備中做一些有用的事情,而不僅僅是在那裡。」
這並不是說您將雲模型移動到邊緣。「假設你有這個自然語音、語音識別應用程序,」Mythic 的 Vehling 說。「你正在雲端訓練這些模型。大多數時候,您都在運行這些模型以在雲中進行推理。如果您查看更多位於邊緣的推理應用程序,這些應用程序不是基於雲的,您可以針對這些本地資源訓練模型。所以你要解決的幾乎是兩個不同的問題。一種是基於雲的,另一種是基於邊緣的,它們不一定相互關聯。」
模型必須知道它們最終將在哪裡運行。「您通常會發現在雲中運行的數十億參數模型,但這只是模型的一種,」Vehling 補充道。「在另一個極端,你有非常小的喚醒詞模型,它們佔用的資源非常少——稱它們為小 ml 甚至更低。然後在中間是模型類別,例如可視化分析模型,您可能會看到它們在基於相機的應用程序中使用。它們比雲中的模型小得多,但也比這種非常簡單的喚醒詞大得多。」
不僅僅是推理處於邊緣。我們可能會看到越來越多的培訓。「聯邦學習就是一個例子,」Expedera 的首席科學家 Sharad Chole 說。「已經使用的一個領域是自動完成。每個人的自動完成功能可能會有所不同,您實際上是如何學習的?你是怎麼定製的?這必須在保護用戶隱私的同時完成。有挑戰。」
提高效率
將應用程序從訓練系統轉移到邊緣涉及到重要的軟件堆棧。「一旦您通過了初始訓練階段,後續優化將提供顯着更輕的模型,而性能下降很小,」西門子的 Hupcey 說。「模型簡化技術用於降低推理過程中的功耗。量化、權重修剪和近似在模型部署之前或之後被廣泛使用。最明顯的兩個案例是 TinyML 和 GPT-3 的輕型版本。」
Klein 補充道:「輟學和修剪是一個好的開始。量化為更小的數字表示也有幫助。積極地進行,這些可以將網絡的大小減少 99% 或更多,並且在許多情況下導致準確率下降不到 1%。有些人還考慮在模型中使用層來權衡通道,以在不影響準確性的情況下產生更小的網絡。」
這些技術既減小了模型尺寸,又直接降低了能源需求,但還可以進行更多改進。「現在我們看到了對混合精度的支持,其中每一層都可以量化到不同的域,」Expedera 的 Chole 說。「這可能會被推得更遠。也許將來權重的每個維度都可以量化為不同的精度。這種推動是好的,因為在培訓期間,數據科學家會意識到他們可以如何降低功率,以及在降低功率的同時他們正在做什麼樣的準確性權衡。」
結論
模型變得越來越大以試圖獲得更高的準確性,但這種趨勢必須停止,因為它消耗的功率量正在不成比例地增加。雖然由於其商業模式,雲今天可以負擔得起,但邊緣卻不能。隨着越來越多的公司投資於邊緣應用,我們可以期待看到對能源優化的更多關注。一些公司正在考慮在未來 5 年內功耗減少 100 倍,但這還遠遠不足以阻止這一趨勢。