小紅書hi lab首次開源文本大模型,14個checkpoint覆蓋Pretrain與Instruct階段
01、簡介
小紅書hi lab(Humane Intelligence Lab,人文智能實驗室)團隊首次開源文本大模型 dots.llm1。 dots.llm1是一個中等規(guī)模的Mixture of Experts (MoE)文本大模型,在較小激活量下取得了不錯的效果。該模型充分融合了團隊在數(shù)據(jù)處理和模型訓練效率方面的技術(shù)積累,并借鑒了社區(qū)關于 MoE 的最新開源成果。hi lab團隊開源了所有模型和必要的訓練信息,包括Instruct模型、長文base模型、退火階段前后的多個base模型及超參數(shù)等內(nèi)容,希望能對大模型社區(qū)有所貢獻。
模型地址:
https://huggingface.co/rednote-hilab
https://github.com/rednote-hilab/dots.llm1
先來了解下dots.llm1的基本情況:
- 模型參數(shù):總參數(shù)量142B、激活參數(shù)14B
- MoE配置:6in128 Expert、2個共享Expert
- 預訓練數(shù)據(jù):11.2T token高質(zhì)量數(shù)據(jù),顯著優(yōu)于開源數(shù)據(jù)
- 訓練效率:基于Interleaved 1F1B 流水并行的AlltoAll overlap和高效Grouped GEMM的MoE訓練框架
再來看下dots.llm1的模型效果,dots.llm1在預訓練階段一共使用了11.2T 高質(zhì)量token,然后經(jīng)過兩階段sft訓練,得到dots.llm1 base模型和instruct模型,在綜合指標上打平Qwen2.5 72B模型,具體指標對照情況如下:
關于dots.llm1開源,hi lab團隊做到了迄今為止行業(yè)最大力度:
- 開源dots.llm1.inst模型,做到開箱即用
- 開源一系列pretrain base模型,包括預訓練過程中每經(jīng)過1T tokens后所保存的checkpoint——是目前開源中間checkpoint模型中,首個參數(shù)超過千億的大模型
- 退火兩階段訓練對應的模型checkpoint
- 長文base模型
- 詳細介紹了lr schedule和batch size等信息,便于大家做Continue Pretraining和Supervised Fine-tuning
基于Interleaved 1F1B流水并行的AlltoAll overlap優(yōu)化已經(jīng)提交至NVIDIA Megatron-LM社區(qū),會在未來一段時間正式發(fā)版。
02、dots.llm1訓練過程
2.1 預訓練數(shù)據(jù)
數(shù)據(jù)是文本大模型訓練的核心燃料,dots.llm1所用預數(shù)據(jù)主要來自Common Crawl和自有Spider抓取得到的web數(shù)據(jù)。hi lab團隊秉承寧缺毋濫的原則,精心設計了數(shù)據(jù)處理流程,在保證數(shù)據(jù)安全、準確以及豐富多樣的基礎上,確保預訓練數(shù)據(jù)的人工評測和對照實驗結(jié)果顯著優(yōu)于開源數(shù)據(jù),也幫助dots.llm1在僅訓練11.2T token的前提下,綜合指標打平Qwen2.5 72B模型,大大減少了算力消耗。
dots.llm1的數(shù)據(jù)處理流程分為以下三部分:
- web 文檔準備
對于web HTML數(shù)據(jù),先用URL過濾方式刪除黃賭毒等內(nèi)容,再利用團隊優(yōu)化后的trafilatura軟件包,提取HTML正文內(nèi)容,最后進行語種過濾和MD5去重,得到web document。
- 規(guī)則處理
參考RefinedWeb和Gopher的方案進行數(shù)據(jù)清洗和過濾操作,再采用minhash方法進行document間的去重;為處理document首尾噪聲文本,dots.llm1特別引入了document內(nèi)的行級別去重策略,具體來說:首先提取每個document的前五行和后5行句子,然后按行計算在整個語料中的出現(xiàn)頻次,僅保留前200次出現(xiàn)的行句子,刪除多余的行句子,經(jīng)過人工檢查,這些重復次數(shù)較多的行句子大都是廣告、導航欄等噪聲文本。
- 模型處理
基于模型的數(shù)據(jù)處理由網(wǎng)頁類型模型、語料質(zhì)量模型、行噪聲刪除模型、語義去重和類別均衡模型等組成。其中語料質(zhì)量模型和語義去重模型采用行業(yè)通用實現(xiàn)方案;網(wǎng)頁類型模型會對web數(shù)據(jù)的站點屬性進行分類,保留以文本核心的數(shù)據(jù),刪除音頻、視頻等非文本網(wǎng)頁以及地圖、公交查詢等工具類網(wǎng)頁文本;行噪聲刪除模型是在行級別去重策略基礎上,通過生成式模型判別的方法,繼續(xù)對行級別的長尾噪聲進行document內(nèi)刪除處理;dots.llm1采用一個包含200個類別的web數(shù)據(jù)分類模型進行數(shù)據(jù)均衡和配比,提高知識類內(nèi)容的比例,降低虛構(gòu)內(nèi)容(比如玄幻小說)、結(jié)構(gòu)化內(nèi)容(比如電商)的數(shù)據(jù)比例。
為了保障數(shù)據(jù)安全,hi lab團隊過濾掉包含不安全內(nèi)容、個人隱私信息(PII)及被安全分類器判定為有害的站點和數(shù)據(jù)。經(jīng)過上述處理流程,hi lab團隊得到一份高質(zhì)量的預訓練數(shù)據(jù),并經(jīng)過人工校驗和實驗驗證,證明該數(shù)據(jù)質(zhì)量顯著優(yōu)于開源Txt360數(shù)據(jù)。
2.2 訓練效率
在MoE模型訓練中,EP rank之間的A2A通信在端到端時間中占據(jù)了相當大比重,對訓練效率影響很大,特別是對于 Fine-grained MoE Model,EP Size 會比較大,跨機通信基本無法避免。hi lab團隊通過讓EP A2A通信盡可能和計算overlap,用計算來掩蓋通信的時間,進而提升訓練效率。具體來說,團隊采用interleaved 1F1B with A2A overlap 方案,通過將穩(wěn)態(tài)的1F1B stage 中第一個micro batch 的fprop提前到warmup stage,即 warmup step + 1,就可以在 interleaved 1F1B實現(xiàn)1F1B穩(wěn)態(tài)階段不同 micro batch 前反向之間的 EP A2A 與計算的overlap。如下圖所示。
同時,hi lab團隊還優(yōu)化了Grouped GEMM的實現(xiàn),具體來說,將 M_i(專家i的token段)對齊到一個固定的塊大小。這個固定的塊大小必須是異步warpgroup 級別矩陣乘加(WGMMA,即 wgmma.mma async)指令中 tile 形狀修飾符 mMnNkK 的 M 的整數(shù)倍。因此,單個 threadblock 中的所有 warpgroups 都采用統(tǒng)一的tiling,且由該 threadblock 處理的整個 token 段(Mi)必定屬于同一位專家,這使得調(diào)度過程與普通 GEMM 操作非常相似。與 NVIDIA Transformer Engine中的 Grouped GEMM API 相比,hi lab團隊的實現(xiàn)方案展現(xiàn)出了顯著優(yōu)勢。下表展示了在 H800 上前向和反向計算的性能對比,其中 token 被平均路由到各個專家。hi lab提出的方案在前向計算中平均提升了 14.00%,在反向計算中平均提升了 6.68%。
訓練效率部分內(nèi)容與NVIDIA中國研發(fā)團隊合作完成
2.3 MoE模型設計與訓練
dots.llm1是基于Decoder-only Transformer的MoE模型,在架構(gòu)方面主要參考DeepSeek系列來設計實現(xiàn),具體參數(shù)如下:
dots.llm1采用WSD學習率調(diào)度方式,在學習率穩(wěn)定階段保持3e-4訓練10T token語料,在此期間先后兩次增加batch size,從64M增大至128M,整個訓練過程非常穩(wěn)定,沒有出現(xiàn)需要回滾的loss spike。在學習率退火階段,分兩個stage訓練1.2T token語料,其中stage1期間模型學習率由3e-4退火降至3e-5,數(shù)據(jù)方面強化推理和知識類型語料,共訓練1T token,stage2期間模型學習率由3e-5退火降至1e-5,數(shù)據(jù)方面提升math和code語料占比,共訓練200B token。
2.4 Post-train
在高質(zhì)量預訓練完成后,dots.llm1通過兩階段監(jiān)督微調(diào)進一步釋放模型潛力。hi lab 團隊精心篩選了約 40 萬條涵蓋多輪對話、知識問答、復雜指令遵循、數(shù)學與代碼推理的高質(zhì)量指令數(shù)據(jù)。針對多輪對話場景,hi lab 團隊將社區(qū)開源的中英對話數(shù)據(jù)與內(nèi)部標注的高質(zhì)量中文指令融合,并采用教師模型優(yōu)化低質(zhì)量回答;為了提升知識問答能力,hi lab 團隊引入了包含事實性知識與閱讀理解的數(shù)據(jù)集;為了使模型更好地遵循復雜指令,hi lab 團隊設計了伴隨條件約束的指令數(shù)據(jù),并過濾不遵循約束的回復;而在數(shù)學與代碼領域,微調(diào)數(shù)據(jù)則經(jīng)過規(guī)則驗證器與測試樣例驗證,獲取更高質(zhì)量的監(jiān)督信號。
微調(diào)過程分為兩個階段:首先對全量數(shù)據(jù)進行2輪基礎訓練,通過過采樣、動態(tài)學習率調(diào)整、多輪對話拼接等技術(shù),初步釋放模型潛力;隨后聚焦數(shù)學與代碼等特別領域,引入拒絕采樣微調(diào)(RFT),結(jié)合驗證器篩選高置信度重要樣本,進一步提升模型的推理性能。
最終評測顯示,dots.llm1.inst在僅激活 14B 參數(shù)的情況下,在中英文通用場景、數(shù)學、代碼、對齊任務上的表現(xiàn)亮眼,與Qwen2.5-32B-Instruct、Qwen2.5-72B-Instruct相比具備較強的競爭力;同時與Qwen3-32b相比,在中英文、數(shù)學、對齊任務上展現(xiàn)相似或先進性能。
03、總結(jié)
dots.llm1是小紅書首次嘗試開源的文本大模型,是一個可供大模型社區(qū)使用的中等參數(shù)規(guī)模下性能較優(yōu)的MoE模型。期待大家能在dots.llm1基礎上開展各項研究和任務訓練,包括持續(xù)訓練(Continue Pretraining)、退火訓練、長文訓練、有監(jiān)督微調(diào)(Supervised Fine-tuning)等;對hi lab團隊來說,dots.llm1只是一個開始,還有很大進步空間,同時希望更多優(yōu)秀的大模型研究人員能加入小紅書hi lab團隊,與我們共同打造更多更強的全模態(tài)大模型!
04、團隊簡介
小紅書 hi lab 團隊(人文智能實驗室,Humane Intelligence Lab)致力于突破人工智能的邊界,通過發(fā)展人際智能、空間智能、音樂智能等多元智能形態(tài),不斷拓展人機交互的可能性,愿景是“讓AI成為人類貼心和有益的伙伴”。