在Amazon SageMaker AI上訓練阿塞拜疆語語言模型
阿塞拜疆電信公司Azercell與AWS生成式AI創新中心合作,在Amazon SageMaker AI上構建了針對阿塞拜疆語的大語言模型,通過自定義分詞器、分佈式訓練和Liger Kernel優化,實現了23%的訓練吞吐量提升、58%的GPU內存峯值降低和2倍的分詞效率提升。
文章情報
要點
- Azercell使用Amazon SageMaker AI為阿塞拜疆語開發了首個大語言模型生產框架。
- 自定義分詞器將每個詞的令牌數從3.22降至1.59,效率提升2倍。
- 通過FSDP和Liger Kernel優化,訓練吞吐量提升23%,GPU內存佔用降低58%。
- 三階段流程:分詞器開發、持續預訓練、帶LoRA的監督微調。
為甚麼重要
這條新聞值得關注,因為Azercell使用Amazon SageMaker AI為阿塞拜疆語開發了首個大語言模型生產框架。
技術影響
可能影響模型選型、推理成本、產品能力和評測基準。
阿塞拜疆領先的電信提供商Azercell Telecom LLC希望構建一個阿塞拜疆語大語言模型,用於電信用例和麪向客户的聊天機器人。挑戰在於將基礎模型適應於形態豐富的語言,且訓練數據有限,缺乏現成的阿塞拜疆語大模型訓練藍圖。在為期六週的合作中,Azercell與AWS生成式AI創新中心在Amazon SageMaker AI上建立了一個生產就緒的框架。該框架通過內核級優化,在ml.p5.48xlarge實例上實現了23%的訓練吞吐量提升和58%的峯值GPU內存降低。此外,自定義分詞器將每個詞的令牌數提高了2倍,有效使模型上下文窗口中能容納的阿塞拜疆語文本量翻倍。
該框架實施三個順序階段,每個階段產生供下一階段使用的工件。階段1:分詞器開發——為阿塞拜疆語構建高效分詞器。團隊評估了三種方法:基線英語優化分詞器、詞彙擴展和自定義單語分詞器。自定義單語分詞器表現最佳,將每個詞的令牌數相比基線減少了一半。階段2:持續預訓練——通過分佈式訓練和Liger Kernel優化,在Amazon SageMaker AI訓練作業上將基礎模型(Llama 3.2 1B)適應於阿塞拜疆語理解。階段3:帶低秩適應的監督微調——通過LoRA將預訓練模型轉換為對話助手。
在分詞器開發中,團隊訓練了詞彙量為10萬的自定義分詞器,使用字節級字節對編碼算法。與基線分詞器相比,自定義分詞器在驗證集上的每字節比特數達到0.5795,優於基線的0.6830,證明編碼效率提升未犧牲模型質量。持續預訓練階段採用兩階段方法:先凍結模型骨幹僅訓練嵌入層,再解凍進行完整訓練。在ml.p4d.24xlarge實例上使用FSDP和Liger Kernel,最大批次大小從DDP的2提升至14,訓練吞吐量顯著增加。監督微調使用LoRA,秩為64,α為28,僅訓練約1%的參數。
該框架的模塊化架構允許獨立優化每個階段。分詞器改進惠及後續訓練階段,持續預訓練配置可遷移至不同微調任務。訓練作業按需啓動EC2實例,任務完成後終止,用户僅需支付實際計算時間。該解決方案基於PyTorch、Hugging Face Transformers和Liger Kernel等開源工具構建。