Pai-Megatron-Patch靈駿大模型訓(xùn)練工具
Pai-Megatron-Patch工具是阿里云機(jī)器學(xué)習(xí)平臺PAI算法團(tuán)隊研發(fā),基于阿里云智算服務(wù)PAI-靈駿平臺的大模型最佳實踐解決方案配套工具, 旨在幫助大模型開發(fā)者快速上手靈駿產(chǎn)品,完成大語言模型(LLM)的高效分布式訓(xùn)練,有監(jiān)督指令微調(diào),模型離線推理驗證等完整大模型開發(fā)鏈路。 該項目提供了業(yè)界主流開源大模型基于Megatron-LM的訓(xùn)練&離線推理驗證流程,方便用戶快速上手大模型訓(xùn)練。
主要特性
- 多款熱門大模型支持:llama,llama-2系列,codellama, 百川,通義,F(xiàn)alcon,GLM,Starcoder,Bloom,chatglm等
- 支持模型權(quán)重互轉(zhuǎn)轉(zhuǎn)換:在Huggingface,Megatron和Transformer Engine之間進(jìn)行算子命名空間映射
- 支持Flash Attention 2.0和Transformer Engine模式下的FP8訓(xùn)練加速且確保收斂
- 豐富且簡單易用的使用示例,支持大模型預(yù)訓(xùn)練,微調(diào),評估和推理,強(qiáng)化學(xué)習(xí)全流程最佳實踐
技術(shù)架構(gòu)
Pai-Megatron-Patch的設(shè)計理念是不對Megatron-LM的源碼進(jìn)行侵入式修改,即不在Megatron-LM里面添加新的功能特性, 將需要擴(kuò)充完善的部分以patch補(bǔ)丁的方式呈現(xiàn)。在patch中構(gòu)建LLM訓(xùn)練鏈路通過依賴Megatron-LM核心庫的方法實現(xiàn)和Megatron-LM的解耦合。 這樣解耦合的好處就是Megatron-LM的升級不會影響用戶的LLM最佳實踐體驗。
Pai-Megatron-Patch中包含模型庫,分詞器,模型轉(zhuǎn)換,強(qiáng)化學(xué)習(xí),離線文本生成以及使用示例和工具集等用于構(gòu)建LLM訓(xùn)練的關(guān)鍵要素。 在模型庫中包含熱門大模型的Megatron版本實現(xiàn),例如baichuan,bloom,chatglm,falcon,galactica,glm,llama,qwen和starcoder, 后續(xù)還會根據(jù)需要及時添加新的Megatron版大模型實現(xiàn)。同時patch還提供了huggingface模型權(quán)重和Megatron模型權(quán)重之間的雙向轉(zhuǎn)換。 一方面是方便用戶加載huggingface的權(quán)重在Megatron中繼續(xù)預(yù)訓(xùn)練或者微調(diào), 另一方面是方便用戶對訓(xùn)練好的Megatron模型使用huggingface的評估/推理流程對模型質(zhì)量進(jìn)行客觀評估。 在強(qiáng)化學(xué)習(xí)部分,patch提供了PPO訓(xùn)練流程等,方便用戶使用SFT模型和RM模型進(jìn)行強(qiáng)化學(xué)習(xí)。最后patch提供了大量的使用示例幫助用戶快速開始大模型訓(xùn)練&離線推理。
