隨著人工智能技術的快速發(fā)展,大型語言模型(LLMs)在自然語言處理、計算機視覺和科學任務等領域取得了顯著進展。然而,隨著模型規(guī)模的擴大,如何在保持高性能的同時優(yōu)化資源消耗成為關鍵挑戰(zhàn)。為了應對這一挑戰(zhàn),騰訊混元團隊率先采用混合專家(MoE)模型架構,最新發(fā)布的 Hunyuan-Large(Hunyuan-MoE-A52B)模型,是目前業(yè)界已經開源的基于 Transformer 的最大 MoE 模型,擁有 389B 總參數(shù)和 52B 激活參數(shù)。 本次騰訊混元 - Large 共計開源三款模型:Hunyuan-A52B-Pretrain,Hunyuan-A52B-Instruct 和 Hunyuan-A52B-FP8,可支持企業(yè)及開發(fā)者精調、部署等不同場景的使用需求,可在 HuggingFace、Github 等技術社區(qū)直接下載,免費可商用。通過技術優(yōu)化,騰訊混元 Large 適配開源框架的精調和部署,具有較強的實用性。騰訊云 TI 平臺和高性能應用服務 HAI 也同步開放接入,為模型的精調、API 調用及私有化部署提供一站式服務。
Hunyuan-Large 整體模型效果 公開測評結果顯示,騰訊混元 Large 在 CMMLU、MMLU、CEval、MATH 等多學科綜合評測集以及中英文 NLP 任務、代碼和數(shù)學等 9 大維度全面領先,超過 Llama3.1、Mixtral 等一流的開源大模型。 技術創(chuàng)新點 MoE (Mixture of Experts),也即混合專家模型,MoE 模型的每一層都包含多個并行的同構專家,一次 token 的前向計算只會激活部分專家。MoE 模型的每一層會采用路由算法,決定了 token 會被哪些專家處理。MoE 是一種稀疏的網(wǎng)絡結構,具有比激活總參數(shù)量同等大小稠密模型更優(yōu)越的性能,而推理成本卻遠低于總參數(shù)量相同的稠密模型。 得益于 MoE (Mixture of Experts) 結構的優(yōu)越性,混元 Large 可以在保證模型推理速度的同時,顯著提升模型的參數(shù)量進而提升模型性能。 1、路由和訓練策略
騰訊混元 Large 的專家層中,設置一個共享專家來捕獲所有 token 所需的共同知識,還設置了 16 個需要路由的專家,模型將每個 token 路由給其激活得分最高的專家來動態(tài)學習特定領域的知識,并通過隨機補償?shù)穆酚杀U嫌柧毞€(wěn)定性。共享專家負責處理共享的通用能力和知識,特殊專家負責處理任務相關的特殊能力,動態(tài)激活的專家,利用稀疏的神經網(wǎng)絡來高效率的進行推理。
路由策略,即把 token 分發(fā)給 MoE 中各個專家的策略,是 MoE 模型中至關重要的部分。好的路由策略可以有效地激活每個專家的能力,使得每個專家保持相對均衡的負載,同時提升模型的訓練穩(wěn)定性和收斂速度。業(yè)界常用的路由策略是 Top-K 路由,也就是將各個 token 按照其和專家的激活得分路由給各個專家。但是這種路由方式難以保障 token 在各個專家間平均分配,而那些超過專家負載的 token 則會被直接扔掉,不參與專家層的計算。這樣會導致部分處理 token 較少的專家訓練不穩(wěn)定。 針對這一問題,騰訊混元 Large 在傳統(tǒng) Top-K 路由的基礎上進一步提出了隨機補償?shù)穆酚煞绞健?/span>
在 Hunyuan-A52B 中,共享專家和路由專家在每個迭代里面專家處理的 token 數(shù)有很大差異,這將導致每個專家實際的 batchsize 并不相同(共享專家的 batchsize 是其他專家的 16 倍),根據(jù)學習率與 Batch size 的縮放原則,為不同(共享 / 特殊)專家適配不同的最佳學習率,以提高模型的訓練效率。
大語言模型的成功與高質量的訓練數(shù)據(jù)密不可分。公開網(wǎng)頁數(shù)據(jù)通常質量參差不齊,高質量通常難以獲取;在天然文本語料庫的基礎上,騰訊混元團隊在天然文本語料庫的基礎上,利用混元內部系列大語言模型,構建大量的高質量、多樣性、高難度合成數(shù)據(jù),并通過模型驅動的自動化方法評價、篩選和持續(xù)維護數(shù)據(jù)質量,形成一條完整數(shù)據(jù)獲取、篩選、優(yōu)化、質檢和合成的自動化數(shù)據(jù)鏈路。 在數(shù)學領域,網(wǎng)頁數(shù)據(jù)中很難找到大量優(yōu)質的思維鏈 (CoT) 數(shù)據(jù)。騰訊混元 Large 從網(wǎng)頁中挖掘構建大規(guī)模題庫,并利用它作為種子來合成數(shù)學問答,從而保證了多樣性;同時我們利用一致性模型和評價模型來維護數(shù)據(jù)的質量,從而得到大量優(yōu)質且多樣的數(shù)學數(shù)據(jù)。通過加入數(shù)學合成數(shù)據(jù)顯著提高了模型的數(shù)學能力。 在代碼領域中,自然代碼很多質量較差,而且包含類似代碼解釋的代碼 - 文本映射的數(shù)據(jù)很稀缺。因此,騰訊混元 Large 使用大量天然代碼庫中的代碼片段作為種子,合成了大量包含豐富的文本 - 代碼映射的高質量代碼訓練數(shù)據(jù),加入后大幅提升了模型的代碼生成能力。 針對通用網(wǎng)頁中低資源、高教育價值的數(shù)據(jù),騰訊混元 Large 使用合成的方式對數(shù)據(jù)做變換、增廣,構建了大量且多樣的、不同形式、不同風格、高質量的合成數(shù)據(jù),提升了模型通用領域的效果。 2、長文能力優(yōu)化 采用高效的超長文 Attention 訓練和退火策略。通過將長文和正常文本混合訓練,逐步多階段引入自動化構建的海量長文合成數(shù)據(jù),每階段僅需少量長文數(shù)據(jù),即可獲得較好的模型長文泛化和外推能力。 騰訊混元 Large 模型專項提升的長文能力已經應用到騰訊 AI 助手騰訊元寶上,最大支持 256K 上下文,相當于一本《三國演義》或英文原版的《哈利?波特》全集的長度,可以一次性處理上傳最多 10 個文檔,并能夠一次性解析多個微信公眾號鏈接、網(wǎng)址,讓騰訊元寶具備獨有的深度解析能力。 3、推理加速優(yōu)化 隨著 LLM 處理序列逐漸增長,Key-Value Cache 占用內存過大的問題日益突出,為推理成本和速度帶來了挑戰(zhàn)。 為了提高推理效率,騰訊混元團隊使用 Grouped-Query Attention(GQA)和 Cross-Layer Attention (CLA) 兩種策略,對 KV Cache 進行了壓縮。同時引入量化技術,進一步提升壓縮比。 通過 GQA+CLA 的引入,我們將 Hunyuan-A52B 模型的 head 數(shù)從 80 壓縮到 8,并通過 CLA 每兩層共用 KV 激活值,最終將模型的 KV Cache 壓縮為 MHA 的 5%,大幅提升推理性能。下面是不同策略的 KV Cache 對比。 4、Postrain 優(yōu)化
騰訊混元團隊在預訓練模型的基礎上使用超過百萬量級的 SFT 數(shù)據(jù)進行精調訓練,這些精調數(shù)據(jù)包含了數(shù)學、代碼、邏輯、文本創(chuàng)作、文本理解、知識問答、角色扮演、工具使用等多種類別。為了保證進入 SFT 訓練的數(shù)據(jù)質量,我們構建了一套完整的基于規(guī)則和模型判別的數(shù)據(jù)質檢 Pipeline,用于發(fā)現(xiàn)數(shù)據(jù)中常見的 markdown 格式錯誤、數(shù)據(jù)截斷、數(shù)據(jù)重復、數(shù)據(jù)亂碼問題。此外,為了自動化地從大規(guī)模指令數(shù)據(jù)中篩選高質量的 SFT 數(shù)據(jù),我們基于 Hunyuan-70B 模型訓練了一個 Critique 模型,該模型可以對指令數(shù)據(jù)進行 4 檔打分,一方面可以自動化過濾低質數(shù)據(jù),另一方面在自進化迭代過程中可以有效提升被選 response 的質量。 我們使用 32k 長度進行 SFT 訓練,另外在訓練過程中為了防止過擬合,我們開啟了 0.1 的 attention dropout 和 0.2 的 hidden dropout;我們發(fā)現(xiàn)相比 Dense 模型,MoE 架構的模型通過開啟合理的 dropout,能有效提升下游任務評測的效果。另外為了更高效的利用大規(guī)模指令數(shù)據(jù),我們對指令數(shù)據(jù)進行了質量分級,通過從粗到精的分階段訓練,有效提升了模型效果。
為了使模型能夠生成與人類偏好接近的回答,我們進一步使用直接偏好優(yōu)化(DPO)對齊算法對 SFT 模型進行強化訓練。與離線 DPO 算法不同的是,我們在強化學習二階段采用的是在線強化 pipeline,這一框架里集成了使用固定 pair 數(shù)據(jù)的離線 DPO 策略,和使用訓練過程中更新的策略模型迭代式采樣的在線強化策略。具體來說,每一輪模型只使用少量數(shù)據(jù)進行采樣訓練,訓練完一輪之后的模型會對新的一批數(shù)據(jù)采樣出多個回答,然后利用獎勵模型(RM)打分,排序出最好的回答和最差的回答來構建偏好對。 為了進一步增強強化學習階段的訓練穩(wěn)定性,我們隨機篩選了一定比例的SFT數(shù)據(jù)用于計算 sft loss,由于這部分數(shù)據(jù)在 SFT 階段已經學過,DPO 階段加 sft loss 是為了保持模型的語言能力,且系數(shù)較小。此外,為了提升 dpo pair 數(shù)據(jù)里面的好答案的生成概率,防止 DPO 通過同時降低好壞答案的概率的方式來走捷徑,我們也考慮加入好答案的 chosen loss 。通過以上策略的有效結合,我們的模型在 RLHF 訓練后各項效果得到了明顯的提升。 5、訓練和精調 騰訊混元 Large 模型由騰訊全鏈路自研,其訓練和推理均基于騰訊 Angel 機器學習平臺。 針對 MoE 模型 All2all 通信效率問題,Angel 訓練加速框架(AngelPTM)實現(xiàn)了 Expert 計算和通信層次 overlap 優(yōu)化、MOE 算子融合優(yōu)化以及低精度訓練優(yōu)化等,性能是 DeepSpeed 開源框架的 2.6 倍。 騰訊混元 Large 模型配套開源的 Angel 推理加速框架(AngelHCF-vLLM)由騰訊 Angel 機器學習平臺和騰訊云智能聯(lián)合研發(fā)。在 vLLM 開源框架的基礎上適配了混元 Large 模型,持續(xù)通過疊加 NF4 和 FP8 的量化以及并行解碼優(yōu)化,在最大限度保障精度的條件下,節(jié)省 50% 以上顯存,相比于 BF16 吞吐提升 1 倍以上。除此之外,Angel 推理加速框架也支持 TensorRT-LLM backend,推理性能在當前基礎上進一步提升 30%,目前已在騰訊內部廣泛使用,也會在近期推出對應的開源版本。 |
|