大規模訓練

Megatron-LM

Megatron-LM 是 NVIDIA 的研究程式庫,它把大型 transformer 的平行化從研究上的奇珍,變成可重現的配方。它最持久的貢獻是一套乾淨、通訊量極小的張量平行方案:把 MLP 的第一個矩陣按欄切、第二個按列切,注意力按頭切,並安排切面使每個 transformer 區塊前向只需兩次 all-reduce、反向兩次。這讓人能在不重寫模型的情況下,把單一一層攤到一個節點的多張 GPU 上,變得實際可行。

在一系列論文中,Megatron 加入了其他軸與使其高效的技巧:以序列平行切分剩下被複製的激活、以交錯式管線排程縮小氣泡,以及如何組合張量、管線、資料平行的經驗指引——這些後來成為三維平行的標準劇本。它的核心與排程被重構成 Megatron-Core 函式庫,許多下游訓練堆疊都建立其上;即使並非以 Megatron 為基礎的現代框架,多半也沿用其張量平行佈局。

Megatron-LM 的意義與其說是一支特定程式,不如說是一套共同詞彙的源頭——欄/列平行、1F1B、序列平行——如今整個領域都在使用。當人們說某模型是用 Megatron 風格的平行訓練的,他們指的是這套對 transformer 的特定因式分解,未必是那份確切的程式碼。

又稱
MegatronMegatron-Core