
用戶友好的系統可幫助開發者構建更高效的模擬和人工智能模型
透過自動生成代碼,利用兩種數據冗餘,這個系統能節省帶寬、內存和計算資源。
亞當·茲維 | 麻省理工學院新聞
發布日期:2025年2月3日
神經網絡人工智能模型在醫療圖像處理和語音識別等應用中,對需要大量計算的複雜數據結構進行操作。這也是深度學習模型消耗大量能量的原因之一。
為了提高人工智能模型的效率,麻省理工學院的研究人員開發了一個自動化系統,使深度學習算法的開發者能夠同時利用兩種數據冗餘。這樣可以減少機器學習操作所需的計算、帶寬和內存存儲。
現有的算法優化技術通常繁瑣,並且通常只能讓開發者利用稀疏性或對稱性——這是深度學習數據結構中存在的兩種不同冗餘。
通過讓開發者從零開始構建同時利用這兩種冗餘的算法,麻省理工學院研究人員的這種方法在某些實驗中將計算速度提高了近30倍。
由於該系統使用的是用戶友好的編程語言,它能為各種應用優化機器學習算法。這個系統也可以幫助那些不是深度學習專家的科學家,讓他們改善用於數據處理的人工智能算法的效率。此外,該系統在科學計算中也有應用潛力。
“長期以來,捕捉這些數據冗餘需要大量的實施努力。相反,科學家可以用更抽象的方式告訴我們的系統他們希望計算什麼,而不必告訴系統具體的計算方式。”麻省理工學院的博士後威洛·阿赫倫斯表示,她是該系統論文的共同作者之一,該論文將在國際代碼生成與優化研討會上發表。
她的合著者包括首席作者拉達·帕特爾和資深作者薩曼·阿馬拉辛赫,後者是電氣工程與計算機科學系的教授,也是計算機科學與人工智能實驗室的主要研究員。
減少計算量
在機器學習中,數據通常以稱為張量的多維數組形式表示和操作。張量類似於矩陣,矩陣是按兩個軸(行和列)排列的矩形值數組。但與二維矩陣不同,張量可以有多個維度或軸,使得張量的操作更具挑戰性。
深度學習模型通過重複的矩陣乘法和加法對張量進行操作——這一過程是神經網絡學習數據中複雜模式的方式。對這些多維數據結構所需的計算量龐大,能源消耗也相應增加。
然而,由於張量中數據的排列方式,工程師往往可以通過刪除冗餘計算來提高神經網絡的速度。
例如,如果張量表示來自電子商務網站的用戶評價數據,由於不是每個用戶都對每個產品進行評價,因此該張量中的大多數值可能為零。這種數據冗餘稱為稀疏性。模型可以通過僅存儲和操作非零值來節省時間和計算。
此外,有時張量是對稱的,這意味著數據結構的上半部和下半部是相等的。在這種情況下,模型僅需對一半進行操作,從而減少計算量。這種數據冗餘稱為對稱性。
“但當你試圖捕捉這兩種優化時,情況會變得相當複雜,”阿赫倫斯說。
為了簡化這一過程,她和她的合作者構建了一個新的編譯器,這是一種將複雜代碼轉換為機器可處理的簡單語言的計算機程序。這個名為SySTeC的編譯器可以通過自動利用張量的稀疏性和對稱性來優化計算。
他們開始建立SySTeC的過程是通過確定可以利用對稱性的三個關鍵優化。
首先,如果算法的輸出張量是對稱的,那麼只需要計算一半。其次,如果輸入張量是對稱的,則算法僅需讀取一半。最後,如果張量操作的中間結果是對稱的,則算法可以跳過冗餘計算。
同時優化
使用SySTeC時,開發者輸入其程序,系統會自動優化其代碼以適應所有三種對稱性。然後,SySTeC的第二個階段進行額外的轉換,以僅存儲非零數據值,從而使程序優化為稀疏性。
最終,SySTeC生成可直接使用的代碼。
“通過這種方式,我們獲得了兩種優化的好處。對於張量來說,維度越多,計算節省的潛力越大,”阿赫倫斯說。
研究人員展示了通過SySTeC自動生成的代碼,計算速度提高了近30倍。
由於該系統是自動化的,對於那些希望使用自己編寫的算法來處理數據的科學家來說,特別有用。
未來,研究人員希望將SySTeC整合到現有的稀疏張量編譯器系統中,以為用戶創建無縫的界面。此外,他們還希望利用它來優化更複雜程序的代碼。
此項工作部分由英特爾、國家科學基金會、國防高級研究計劃局和能源部資助。
在這篇文章中,我們看到了麻省理工學院在人工智能和機器學習領域所做的努力,特別是在降低計算成本和提高效率方面。在當今數據驅動的世界中,這種創新的技術不僅有助於專業的開發者,也使得非專業的科學家能夠更輕鬆地利用強大的計算能力。隨著技術不斷進步,這樣的系統將可能在各行各業中發揮越來越重要的作用,尤其是在需要處理大量數據的領域,例如醫療、氣候模擬和社會科學研究等。這種跨學科的合作也顯示了科技和科學研究的融合,未來或許會催生出更多意想不到的創新。
以上文章由特價GPT API KEY所翻譯及撰寫。而圖片則由FLUX根據內容自動生成。