MIT團隊新系統30倍速提高AI模型構建效率

在醫療圖像處理、語音識別等應用中,AI 模型需要處理極為複雜的數據結構,這一過程消耗大量計算資源,而這也是深度學習模型能耗巨大的原因之一。
為了進一步提高 AI 模型的效率,麻省理工學院的研究人員開發了一套自動化系統,讓深度學習算法開發者能夠同時利用兩種類型的數據冗餘,進而減少了機器學習運算所需的計算、帶寬和內存使用量。
現有的優化算法技術大都比較繁瑣,並且通常只允許開發者利用「稀疏性」或「對稱性」中的一種,兩者均為深度學習數據結構中不同類型的冗餘。
如今,麻省理工學院研究人員開發的新方法能讓開發者從頭構建同時利用這兩種冗餘的算法,在某些實驗中該方法將計算速度提升了近 30 倍。
此外,由於該系統使用了一種用戶友好的編程語言,因此它可以針對各種應用優化機器學習算法。同時,該系統還可以幫助那些並非深度學習專家,但希望提高他們所用 AI 算法效率的科研人員,因此在科學計算領域也有應用價值。
「長期以來,利用這些數據冗餘需要大量部署工作,而現在,科學家只需要告訴系統他們想要計算的內容,而不需要詳細說明如何計算。」該系統相關論文的合作者、麻省理工學院博士後 Willow Ahrens 表示。這篇論文將在國際代碼生成和優化研討會上發表。
除了 Willow Ahrens,另外兩名作者分別是麻省理工學院計算機科學與人工智能實驗室(CSAIL)的 Radha Patel 和電氣工程與計算機科學系(EECS)教授、CSAIL 首席研究員 Saman Amarasinghe。

減少計算量
在機器學習中,數據通常以多維數組的形式進行表示和運算,這些數組被稱為張量。張量類似於矩陣,即按行和列排列的二維數值陣列。但與二維矩陣不同的是,張量可以有多個維度,這導致張量的運算難度更大。
深度學習模型通過對張量進行重覆的矩陣乘法和加法運算來處理數據,這個過程也是神經網絡學習數據中複雜模式的方式。由於這些多維數據結構需要進行大規模計算,因此要消耗大量的計算資源和能源。
不過,借助張量中的數據排列方式,工程師們通常可以通過減少冗餘計算來提高神經網絡的效率。
例如,若一個張量代表來自電商網站的用戶評論數據,由於並非每位用戶都會對所有產品進行評論,所以該張量中的大多數值可能是零。這種類型的數據冗餘被稱為「稀疏性」,模型可以通過僅存儲和運算非零值,就能節省大量時間和計算資源。
此外,有時張量是對稱的,即數據結構的上半部分和下半部分是一樣的。在這種情況下,模型只需對其中一半數據進行運算即可,從而減少計算量。這種類型的數據冗餘被稱為「對稱性」。
「但是,當嘗試同時利用這兩種優化方式時情況會變得更加複雜。」Willow Ahrens 表示。
為了簡化這個過程,她和團隊開發了一種名為「SySTeC」的新編譯器(編譯器是一種將複雜的代碼轉換為機器可處理簡單語言的計算機程序),能夠通過自動利用張量中的「稀疏性」和「對稱性」來優化計算。
在構建 SySTeC 的過程中,他們確定了可利用對稱性進行的三個關鍵優化點。一,如果算法的輸出張量是對稱的,則只需要計算其中的一半;二,如果輸入張量是對稱的,則算法只需要讀取其中的一半;三,如果張量運算的中間結果是對稱的,算法就可以跳過冗餘計算。

同步優化
使用 SySTeC 時,開發者只需輸入他們的程序,系統會自動針對上述三種對稱性對代碼進行優化。然後,SySTeC 的接下來會進行額外的轉換,只存儲非零數據值,從而優化程序以利用稀疏性。最終,SySTeC 生成可以直接使用的代碼。
「通過這種方式,我們可以同時獲得兩種優化的優勢。有趣的是,隨著張量維度的增加,節省的計算成本就越多。」Willow Ahrens 解釋道。
研究人員證實,使用 SySTeC 自動生成的代碼,運行速度提升了近 30 倍。
由於該系統是自動化的,因此在科學家需要從頭編寫算法來處理數據的情況下尤其有用。
展望未來,研究人員希望將 SySTeC 集成到現有的稀疏張量編譯器系統中,為使用者提供一個無縫銜接的操作界面。此外,他們還計劃用它來優化更複雜程序的代碼。
這項工作部分得到了英特爾、美國國家科學基金會、國防高級研究計劃局和能源部的資助。
原文鏈接:
https://news.mit.edu/2025/user-friendly-system-can-help-developers-build-more-efficient-simulations-and-ai-models-0203
