優化網絡通信可以加速大規模機器學習模型的訓練
在高速網絡設備中插入輕量級的優化代碼,使得KAUST領導的合作將並行化計算系統的機器學習速度提高了五倍。這種”網內聚合”技術是與英特爾、微軟和華盛頓大學的研究人員和系統架構師共同開發的,它可以利用現成的可編程網絡硬件提供顯著的速度提升。
人工智能(AI)之所以能夠擁有如此強大的”理解”和與世界互動的能力,其根本的好處是機器學習步驟,即使用大量標記的訓練數據集來訓練模型。訓練AI的數據越多,當暴露於新的輸入時,模型就可能表現得越好。
最近人工智能應用的爆發主要是由於更好的機器學習和使用更大的模型和更多樣化的數據集。然而,執行機器學習計算是一項艱鉅的任務,並越來越依賴於並行運行學習算法的大型計算機陣列。
“如何大規模地訓練深度學習模型是一個非常具有挑戰性的問題,”KAUST研究團隊的Marco Canini說。”人工智能模型可能由數十億個參數組成,我們可以使用數百個處理器,這些處理器需要高效地並行工作。在這樣的系統中,增量模型更新過程中處理器之間的通信很容易成為主要的性能瓶頸。”
該團隊在英特爾旗下的Barefoot Networks公司開發的新網絡技術中找到了潛在的解決方案。
“我們使用Barefoot Networks新的可編程數據平面網絡硬件來卸載分佈式機器學習訓練過程中執行的部分工作,”後來加入英特爾Barefoot Networks團隊的KAUST校友Amedeo Sapio解釋道。”使用這種新的可編程網絡硬件,而不僅僅是網絡來移動數據,意味著我們可以沿著網絡路徑進行計算。”
該團隊的SwitchML平台的關鍵創新在於,在機器學習過程的模型更新階段,允許網絡硬件在每個同步步驟中執行數據聚合任務。這不僅卸載了部分計算負載,還大大降低了數據傳輸量。
“雖然可編程開關數據機可以非常快速地進行操作,但它能做的操作是有限的,”Canini說。”因此,我們的解決方案必須對硬件足夠簡單,但又必須足夠靈活,以解決板載內存容量有限等挑戰。SwitchML通過共同設計通信網絡和分佈式訓練算法來解決這一挑戰,與最先進的方法相比,實現了高達5.5倍的速度提升。”