上個月,NVIDIA 和 Mistral AI 推出了 Mistral NeMo 12B,這是一款領先的先進的大型語言模型(LLM)。Mistral NeMo 12B 在各種基準測試中的表現始終優于類似大小的模型。
今天,我們宣布推出 Mistral-NeMo-Minitron 8B,這是該體量級別中最先進的開放訪問模型之一。該模型在9個熱門基準測試中始終提供領先的準確度。Mistral-NeMo-Minitron 8B基礎模型是通過對Mistral NeMo 12B基礎模型的寬度剪枝獲得的,然后使用知識提煉進行輕量再訓練。這是NVIDIA最初在論文’通過剪枝和知識提煉實現緊湊語言模型‘中提出的成功方法。NVIDIA Minitron 8B和4B以及Llama-3.1-Minitron 4B模型反復驗證了這一點。
? | 訓練令牌 | Wino-Grande 5-shot | ARC Challenge 25-shot |
MMLU 五步 | Hella Swag 10-shot |
GSM8K 5-shot | TruthfulQA 0-shot | XLSum en (20%) 3-shot |
MBPP 0-shot |
Human Eval 0-shot |
|
Llama 3.1 8B | 15T | 77.27% | 57.94 | 65.28 | 81.80 | 48.60 歐元 | 45.06 | 30.05 | 42.27 | 24.76 | |
Gemma 7B | 6T | 78 | 61 | 64 | 82 | 50 | 45 | 17 | 39 | 32 | |
Mistral-NeMo-Minitron 8B | 3800 億 | 80.35 | 64.42 | 69.5% | 83.03 | 58.45 | 47.56% | 31.94 | 43.77 | 36.22 | |
Mistral NeMo 12B | 不適用 | 82.24 | 65.10 | 68.99% | 85.16% | 56.41 | 49.79% | 33.43 | 42.63 | 23.78 |
模型剪枝和提煉概述
模型剪枝是指通過減少圖層(深度剪枝)或減少神經元、注意力頭和嵌入通道(寬度剪枝)來縮小模型并使其更加精簡的過程。剪枝通常伴隨一定數量的重新訓練,以恢復準確性。
模型提煉是一種技術,用于將知識從復雜的大型模型(通常稱為教師模型)傳輸到更小、更簡單的學生模型。其目標是創建更高效的模型,該模型保留原始大型模型的大部分預測能力,同時運行速度更快,資源密集程度更低。在本文中,我們采用模型提煉作為剪枝后的輕量再訓練過程,其數據集比從頭開始訓練模型時使用的數據集要小得多。
迭代剪枝和提煉是一種方法,從單個預訓練模型開始,可以獲得多個逐漸縮小的模型。例如,可以對 15B 模型進行剪枝和提煉,以獲得 8B 模型,而這反過來又可以作為剪枝和提煉 4B 模型的起點,以此類推。
模型剪枝與通過蒸進行光線重新訓練相結合,是一種經濟高效的模型訓練方法。對于每個新增的模型,只需使用 100-400 億個令牌進行重新訓練,與從零開始訓練相比,減少了 40 倍以上。因此,與從零開始訓練所有模型相比,訓練一系列模型 (12B、8B 和 4B) 可節省高達 1.95 倍的計算成本。
從廣泛的消融研究中學習已總結為結構化權重剪枝與知識提煉相結合的 10 種最佳實踐。我們發現,寬度剪枝的性能始終優于深度剪枝;最重要的是,經過剪枝和提煉的模型在質量上優于從零開始訓練的模型。
Mistral-NeMo-Minitron 8B
按照我們的最佳實踐,我們對 Mistral NeMo 12B 模型進行了寬度剪枝,以獲得 8B 目標模型。本節將詳細介紹獲取 Mistral-NeMo-Minitron 8B 基礎模型的步驟和參數,以及該模型的性能。
教師微調
為了修正訓練模型所用的原始數據集上的分布偏移,我們首先使用 127B 個令牌在數據集上微調了未剪枝的 Mistral NeMo 12B 模型。實驗表明,若不修正分布偏移,教師在提煉數據集時將提供次優指導。
僅寬度的剪枝
鑒于我們的目標是盡可能獲得最強的 8B 模型,我們繼續進行僅寬度的剪枝。我們沿著寬度軸剪枝了嵌入(隱藏)和 MLP 中間維度,以壓縮 Mistral NeMo 12B。具體來說,我們使用基于激活的策略計算了每個注意力頭、嵌入通道和 MLP 隱藏維度的重要性分數。遵循重要性估計,我們:
- 將 MLP 中間維度從 14336 剪枝為 11520
- 將隱藏大小從 5120 剪枝為 4096
- 保留了’Attention Head’數量和層數
蒸參數
我們使用峰值學習率 = 1e-4、最低學習率 = 4.5e-7、60 個步驟的線性預熱、余弦衰減計劃和 3800 億個令牌的 768 全局批量大小(與教師微調中使用的數據集相同)來提煉模型。
結束語
Mistral-NeMo-Minitron 8B 提供業界領先的精度,并且性能始終優于最近推出的類似大小的先進模型。Mistral-NeMo-Minitron 8B 是我們在 Mistral NeMo 12B 模型提煉方面的首個成果,它為我們結合知識提煉最佳實踐的結構化權重剪枝提供了有力的支持。我們計劃進一步對模型進行提煉,并獲得更小、更準確的模型。該技術的實現將逐步在 NVIDIA NeMo 框架中推出,用于生成式 AI。
如需了解詳情,請查看以下資源:
- LLM 剪枝和蒸餾的實際應用:Minitron 方法
- 通過剪枝和知識提煉實現緊湊語言模型
- NVlabs/MinitronGitHub 庫
- 基于 Hugging Face 的 Mistral-NeMo-Minitron 8B 基礎模型
致謝
如果沒有 NVIDIA 的許多人的貢獻,這項工作是不可能完成的。僅舉幾例:
基礎模型:Sharath Turuvekere Sreenivas、Saurav Muralidharan、Raviraj Joshi、Marcin Chochowski、Pavlo Molchanov、Mostofa Patwary、Daniel Korzekwa、Ashwath Aithal、Mohammad Shoeybi、Bryan Catanzaro 和 Jan Kautz 對齊:Ameya Sunil Mahabaleshwarkar、Hayley Ross、Brandon Rowlett、Oluwatobi Olabiyi、Shizhe Diao 和 Yoshi Suhara 數據集:Sanjeev Satheesh、Jupinder Parmar、Shengyang Sun、Jiaqi Zeng、Zhilin Wang、Yi Dong、Zihan Liu、Rajarshi Roy、Wei Ping、Makesh Narsimhan Sreedhar 和 Oleksii Kuchaiev TensorRT-LLM:Bobby Chen、James Shen 和 Chenhan Yu Hugging Face 支持:Ao Tang、Yoshi Suhara 和 Greg Heinrich
?