騰訊混元又來開源,一出手就是最大MoE大模型

隨着人工智能技術的快速發展,大型語言模型(LLMs)在自然語言處理、計算機視覺和科學任務等領域取得了顯著進展。然而,隨着模型規模的擴大,如何在保持高性能的同時優化資源消耗成爲關鍵挑戰。爲了應對這一挑戰,騰訊混元團隊率先採用混合專家(MoE)模型架構,最新發布的 Hunyuan-Large(Hunyuan-MoE-A52B)模型,是目前業界已經開源的基於 Transformer 的最大 MoE 模型,擁有 389B 總參數和 52B 激活參數。

本次騰訊混元 - Large 共計開源三款模型:Hunyuan-A52B-Pretrain,Hunyuan-A52B-Instruct 和 Hunyuan-A52B-FP8,可支持企業及開發者精調、部署等不同場景的使用需求,可在 HuggingFace、Github 等技術社區直接下載,免費可商用。通過技術優化,騰訊混元 Large 適配開源框架的精調和部署,具有較強的實用性。騰訊雲 TI 平臺和高性能應用服務 HAI 也同步開放接入,爲模型的精調、API 調用及私有化部署提供一站式服務。

Hunyuan-Large 整體模型效果

公開測評結果顯示,騰訊混元 Large 在 CMMLU、MMLU、CEval、MATH 等多學科綜合評測集以及中英文 NLP 任務、代碼和數學等 9 大維度全面領先,超過 Llama3.1、Mixtral 等一流的開源大模型。

技術創新點

MoE (Mixture of Experts),也即混合專家模型,MoE 模型的每一層都包含多個並行的同構專家,一次 token 的前向計算只會激活部分專家。MoE 模型的每一層會採用路由算法,決定了 token 會被哪些專家處理。MoE 是一種稀疏的網絡結構,具有比激活總參數量同等大小稠密模型更優越的性能,而推理成本卻遠低於總參數量相同的稠密模型。

得益於 MoE (Mixture of Experts) 結構的優越性,混元 Large 可以在保證模型推理速度的同時,顯著提升模型的參數量進而提升模型性能。

1、路由和訓練策略

騰訊混元 Large 的專家層中,設置一個共享專家來捕獲所有 token 所需的共同知識,還設置了 16 個需要路由的專家,模型將每個 token 路由給其激活得分最高的專家來動態學習特定領域的知識,並通過隨機補償的路由保障訓練穩定性。共享專家負責處理共享的通用能力和知識,特殊專家負責處理任務相關的特殊能力,動態激活的專家,利用稀疏的神經網絡來高效率的進行推理。

路由策略,即把 token 分發給 MoE 中各個專家的策略,是 MoE 模型中至關重要的部分。好的路由策略可以有效地激活每個專家的能力,使得每個專家保持相對均衡的負載,同時提升模型的訓練穩定性和收斂速度。業界常用的路由策略是 Top-K 路由,也就是將各個 token 按照其和專家的激活得分路由給各個專家。但是這種路由方式難以保障 token 在各個專家間平均分配,而那些超過專家負載的 token 則會被直接扔掉,不參與專家層的計算。這樣會導致部分處理 token 較少的專家訓練不穩定。

針對這一問題,騰訊混元 Large 在傳統 Top-K 路由的基礎上進一步提出了隨機補償的路由方式。

在 Hunyuan-A52B 中,共享專家和路由專家在每個迭代裡面專家處理的 token 數有很大差異,這將導致每個專家實際的 batchsize 並不相同(共享專家的 batchsize 是其他專家的 16 倍),根據學習率與 Batch size 的縮放原則,爲不同(共享 / 特殊)專家適配不同的最佳學習率,以提高模型的訓練效率。

大語言模型的成功與高質量的訓練數據密不可分。公開網頁數據通常質量參差不齊,高質量通常難以獲取;在天然文本語料庫的基礎上,騰訊混元團隊在天然文本語料庫的基礎上,利用混元內部系列大語言模型,構建大量的高質量、多樣性、高難度合成數據,並通過模型驅動的自動化方法評價、篩選和持續維護數據質量,形成一條完整數據獲取、篩選、優化、質檢和合成的自動化數據鏈路。

在數學領域,網頁數據中很難找到大量優質的思維鏈 (CoT) 數據。騰訊混元 Large 從網頁中挖掘構建大規模題庫,並利用它作爲種子來合成數學問答,從而保證了多樣性;同時我們利用一致性模型和評價模型來維護數據的質量,從而得到大量優質且多樣的數學數據。通過加入數學合成數據顯著提高了模型的數學能力。

在代碼領域中,自然代碼很多質量較差,而且包含類似代碼解釋的代碼 - 文本映射的數據很稀缺。因此,騰訊混元 Large 使用大量天然代碼庫中的代碼片段作爲種子,合成了大量包含豐富的文本 - 代碼映射的高質量代碼訓練數據,加入後大幅提升了模型的代碼生成能力。

針對通用網頁中低資源、高教育價值的數據,騰訊混元 Large 使用合成的方式對數據做變換、增廣,構建了大量且多樣的、不同形式、不同風格、高質量的合成數據,提升了模型通用領域的效果。

2、長文能力優化

採用高效的超長文 Attention 訓練和退火策略。通過將長文和正常文本混合訓練,逐步多階段引入自動化構建的海量長文合成數據,每階段僅需少量長文數據,即可獲得較好的模型長文泛化和外推能力。

騰訊混元 Large 模型專項提升的長文能力已經應用到騰訊 AI 助手騰訊元寶上,最大支持 256K 上下文,相當於一本《三國演義》或英文原版的《哈利・波特》全集的長度,可以一次性處理上傳最多 10 個文檔,並能夠一次性解析多個微信公衆號鏈接、網址,讓騰訊元寶具備獨有的深度解析能力。

3、推理加速優化

隨着 LLM 處理序列逐漸增長,Key-Value Cache 佔用內存過大的問題日益突出,爲推理成本和速度帶來了挑戰。

爲了提高推理效率,騰訊混元團隊使用 Grouped-Query Attention(GQA)和 Cross-Layer Attention (CLA) 兩種策略,對 KV Cache 進行了壓縮。同時引入量化技術,進一步提升壓縮比。

通過 GQA+CLA 的引入,我們將 Hunyuan-A52B 模型的 head 數從 80 壓縮到 8,並通過 CLA 每兩層共用 KV 激活值,最終將模型的 KV Cache 壓縮爲 MHA 的 5%,大幅提升推理性能。下面是不同策略的 KV Cache 對比。

4、Postrain 優化

騰訊混元團隊在預訓練模型的基礎上使用超過百萬量級的 SFT 數據進行精調訓練,這些精調數據包含了數學、代碼、邏輯、文本創作、文本理解、知識問答、角色扮演、工具使用等多種類別。爲了保證進入 SFT 訓練的數據質量,我們構建了一套完整的基於規則和模型判別的數據質檢 Pipeline,用於發現數據中常見的 markdown 格式錯誤、數據截斷、數據重複、數據亂碼問題。此外,爲了自動化地從大規模指令數據中篩選高質量的 SFT 數據,我們基於 Hunyuan-70B 模型訓練了一個 Critique 模型,該模型可以對指令數據進行 4 檔打分,一方面可以自動化過濾低質數據,另一方面在自進化迭代過程中可以有效提升被選 response 的質量。

我們使用 32k 長度進行 SFT 訓練,另外在訓練過程中爲了防止過擬合,我們開啓了 0.1 的 attention dropout 和 0.2 的 hidden dropout;我們發現相比 Dense 模型,MoE 架構的模型通過開啓合理的 dropout,能有效提升下游任務評測的效果。另外爲了更高效的利用大規模指令數據,我們對指令數據進行了質量分級,通過從粗到精的分階段訓練,有效提升了模型效果。

爲了使模型能夠生成與人類偏好接近的回答,我們進一步使用直接偏好優化(DPO)對齊算法對 SFT 模型進行強化訓練。與離線 DPO 算法不同的是,我們在強化學習二階段採用的是在線強化 pipeline,這一框架裡集成了使用固定 pair 數據的離線 DPO 策略,和使用訓練過程中更新的策略模型迭代式採樣的在線強化策略。具體來說,每一輪模型只使用少量數據進行採樣訓練,訓練完一輪之後的模型會對新的一批數據採樣出多個回答,然後利用獎勵模型(RM)打分,排序出最好的回答和最差的回答來構建偏好對。

爲了進一步增強強化學習階段的訓練穩定性,我們隨機篩選了一定比例的SFT數據用於計算 sft loss,由於這部分數據在 SFT 階段已經學過,DPO 階段加 sft loss 是爲了保持模型的語言能力,且係數較小。此外,爲了提升 dpo pair 數據裡面的好答案的生成概率,防止 DPO 通過同時降低好壞答案的概率的方式來走捷徑,我們也考慮加入好答案的 chosen loss 。通過以上策略的有效結合,我們的模型在 RLHF 訓練後各項效果得到了明顯的提升。

5、訓練和精調

騰訊混元 Large 模型由騰訊全鏈路自研,其訓練和推理均基於騰訊 Angel 機器學習平臺。

針對 MoE 模型 All2all 通信效率問題,Angel 訓練加速框架(AngelPTM)實現了 Expert 計算和通信層次 overlap 優化、MOE 算子融合優化以及低精度訓練優化等,性能是 DeepSpeed 開源框架的 2.6 倍。

騰訊混元 Large 模型配套開源的 Angel 推理加速框架(AngelHCF-vLLM)由騰訊 Angel 機器學習平臺和騰訊雲智能聯合研發。在 vLLM 開源框架的基礎上適配了混元 Large 模型,持續通過疊加 NF4 和 FP8 的量化以及並行解碼優化,在最大限度保障精度的條件下,節省 50% 以上顯存,相比於 BF16 吞吐提升 1 倍以上。除此之外,Angel 推理加速框架也支持 TensorRT-LLM backend,推理性能在當前基礎上進一步提升 30%,目前已在騰訊內部廣泛使用,也會在近期推出對應的開源版本。