Articles in Turing Academy cover three major themes: ESG Net Zero Laboratory, AI Laboratory and Lean Management Laboratory. We will share articles on related topics from time to time. We also welcome students who are interested in the above topics to submit articles and share them with you. Insights (I want to contribute)

深度學習模型的速度革命:揭開Colossal-AI的神秘面紗

 

 

圖靈學院/科楠/2024年8月14日

 

    在這個深度學習飛速發展的時代,我們見證了許多令人驚嘆的技術進步,尤其是在計算機視覺和自然語言處理領域。隨著硬體技術的不斷進步,深度學習模型的規模也越來越大,從BERT到GPT-3,再到如今的GLM,這些模型的參數數量已經達到了數十億甚至上萬億。這些大型模型帶來了前所未有的性能提升,但也面臨著新的挑戰:如何在有限的硬體資源下高效地訓練這些模型。今天,我們將介紹一個突破性的系統——Colossal-AI,這個系統通過多種創新的技術實現了大規模並行訓練,顯著提高了訓練速度。

 

深度學習模型的瓶頸

 

隨著模型參數數量的增多,單一GPU的內存成為了主要瓶頸。以目前常見的GPU如NVIDIA A100為例,其內存通常為16GB到32GB,而訓練一個擁有10億參數的模型就可能需要超過80GB的內存,這遠遠超出了單個GPU的內存容量。為了應對這一挑戰,研究者們提出了多種並行訓練技術,如數據並行、模型並行和流水線並行。

 

Colossal-AI的誕生

Architecture of Colossal-AI

 

Colossal-AI是一個開源的深度學習系統,目的在將複雜的分佈式訓練技術普及到AI社區。它支持數據、張量、流水線和序列並行,並集成了異構訓練和零冗餘優化器。這些技術使得用戶可以輕鬆地將單節點訓練代碼擴展到分佈環境中。

 

多維度張量並行

 

張量並行是一種將模型參數分割到多個設備上的技術。Colossal-AI支持1D、2D、2.5D和3D張量並行,其中更高維度的並行方法(如2D、2.5D和3D)相比1D並行具有更低的通信成本。這些技術使得訓練過程中僅需要在部分計算節點之間進行通信,從而顯著降低了通信量,提升了訓練效率。

 

序列並行

 

除了張量並行,Colossal-AI還支持序列並行,這是一種針對長序列數據設計的技術。序列並行通過將輸入數據按序列維度切分,使得每個設備只需要處理子序列。這樣可以有效地減少中間激活的內存佔用,適合於需要處理長序列數據的應用,如AlphaFold和文檔級文本理解。

 

異構訓練和自動並行化

 

為了進一步擴展單個設備的內存容量,Colossal-AI引入了異構訓練技術,允許將不使用的張量從GPU移動到CPU或NVMe硬碟。這樣可以充分利用不同硬體設備的高性能存儲空間,實現更大規模的模型訓練。此外,Colossal-AI還包含實驗性自動並行化功能,可以自動選擇和執行最佳的並行化策略。

 

簡單易用的API

 

Colossal-AI致力於簡化用戶的操作,它提供了友好的API,讓用戶只需少量代碼修改就能享受系統帶來的加速效果。例如,用戶只需配置一個包含所需特性的配置文件,Colossal-AI就會自動將這些加速特性注入到執行引擎中。

 

系統性能評估

 

在實驗中,Colossal-AI展示了其在多種硬體環境下的卓越性能。通過與Megatron-LM和DeepSpeed等基線系統的比較,Colossal-AI在多維度張量並行、序列並行和分片卸載上的性能均有顯著提升。在大規模分佈式訓練中,Colossal-AI的訓練速度最高提升達到2.76倍。

 

未來展望

 

未來,Colossal-AI將繼續發展,設計更高效的自動並行化算法,並與更多的模型庫集成,讓分佈式訓練更加普及。作為一個開源項目,Colossal-AI期待與社區共同進步,推動深度學習技術的發展。

 

結論

 

Colossal-AI通過統一多種先進的加速技術,為大規模分佈式訓練提供了靈活且高性能的解決方案。其模組化設計和友好的API讓用戶能夠輕鬆地在不同硬體環境下實現最佳訓練效果,為深度學習社區帶來了前所未有的便利和效率提升。

 

 

來源:


Li, S., Liu, H., Bian, Z., Fang, J., Huang, H., Liu, Y., Wang, B., & You, Y. (2023). Colossal-AI: A Unified Deep Learning System For Large-Scale Parallel Training. In 52nd International Conference on Parallel Processing (ICPP 2023), August 7–10, 2023, Salt Lake City, UT, USA. ACM, New York, NY, USA, 10 pages. https://doi.org/10.1145/3605573.3605613