目錄 人工數據注釋(collaborative data annotation) 自動數據合成(automated data synthesis) Reinforvement Learning From Human Feekback 前言今天分享六月份開源的Qwen2模型系列,包括了dense模型的70B、7B、1.5B、0.5B和MoE模型的57-14B,其中最強悍的70B模型在國內屬于T1梯隊,在大量使用后的體驗也確實如此。本文通過分析技術報告從Tokenizer、模型結構、預訓練、后訓練和評估進行解讀,深入分析Qwen2背后的原理。 一、Tokenizer和Qwen相同,Qwen2采用byte-level byte-pair encoding(BPE)分詞器,這個分詞器具有很高的編碼效率,所有大小的模型都使用由151643個通用token和3個控制token組成的公共詞匯表。 具體來說,使用一個開源的 fast BPE tokenizer,tiktoken,并且選擇cl100k詞匯表作為起點進行分詞;為了提高模型在多語言下游任務上的性能,特別是在中文中,進一步增加了常用的中文字符和單詞以及其他語言的詞匯;此外,將數字分成了個位數。 隨機選擇每種語言的100萬個文檔語料庫,將Qwen2的tokenizer和其他大模型使用的tokenizer的壓縮率進行對比,具有更高的壓縮率: 二、模型結構共包括四個scale的dense模型和一個MoE模型。 dense模型Qwen2 dense模型的架構包括多個Transformer層,每個層都配備了因果注意機制和前饋神經網絡(ffn)。與Qwen的主要區(qū)別如下:
MoE模型MIXTURE-OF-EXPERTS MODEL,Qwen2 MoE模型的結構和Qwen1.5-MoE-2.7B幾乎相同,作為原始FFN的替代品,MoE FFN由n個獨立的FFN組成,每個FFN都作為專家,每個token被定向到一個特定的專家Ei,根據門控網絡G分配的概率進行計算: 針對MoE模型的設計,提出以下關鍵部分的設計:
模型參數設置Intermediate Size表示專家的大小;激活專家數不包括共享專家。 Qwen2-57B-A14B是由Qwen2-7B升級而來。 三、Pre-Training在Qwen2的預訓練中,主要集中在 改進數據集的構建 和 研究如何有效擴展上下文長度。 Pre-Training DATAQwen2模型的預訓練涉及到一個新的、大規(guī)模的、高質量的多語言數據集,該數據集相比以前Qwen和Qwen1.5模型使用的語料庫有所改進,在幾個關鍵領域提高預訓練數據的規(guī)模、質量和多樣性:
基于這些數據增強措施,Qwen1.5中的預訓練數據從3T token擴展到7T token。進一步放寬質量閾值嘗試構建了12萬億個token數據集,然而,在這個數據集上訓練的模型并沒有比 7T token模型有顯著的性能改進。有人質疑,增加數據量不一定有利于模型預訓練,考慮到訓練成本,Qwen2選擇使用更高質量的7T token數據集來訓練更大的模型,為未來的模型迭代留下進一步的探索。 除Qwen2-0.5 b外,所有Qwen2 dense模型都在這個超過7T token的大規(guī)模數據集上進行了預訓練。Qwen2-0.5B使用12T token數據集進行預訓練。根據upcycling(升級回收)的原則,MoE模型接受了額外的4.5T token的預訓練。 與之前的Qwen模型類似,Qwen2將高質量的多任務指令數據整合到預訓練過程中,以增強情境學習和指令跟隨能力。 LONG-CONTEXT TRAINING為了增強Qwen2的長上下文能力,在預訓練的最后階段將上下文長度從4,096個token增加到32,768個token,這一操作還引入了大量高質量、長數據的補充訓練。同時將RoPE的基頻從10,000修改為1,000,000,以優(yōu)化長上下文場景中的推理性能(Xiong et al., 2023)。 為了充分利用模型的長度外推潛力,采用了 YARN 機制(Peng et al., 2023)和 Dual Chunk Attention 機制(An et al., 2024)。這些策略使模型能夠處理多達131,072個token的序列,同時保持模型的高性能。 四、Post-Training在進行了大規(guī)模的預訓練之后,接下來開始Qwen2的后訓練階段。這個過程對于提高其在通用領域的能力至關重要,包括編碼、數學、邏輯推理、指令遵循和多語言理解。此外,確保了模型的生成與人類價值觀相一致。與傳統(tǒng)方法嚴重依賴于大量的人類監(jiān)督數據不同,Qwen2側重于用最少的人類注釋進行可擴展的對齊。 具體而言,主要研究了獲取監(jiān)督微調(SFT)和人類反饋強化學習(RLHF)的高質量數據的方法,旨在最大限度地減少對人工標記的需求(Cao et al., 2024),同時最大限度地提高數據的質量和可靠性。 Post-Training DATA后訓練數據主要包括兩部分:監(jiān)督數據(x, y)和偏好數據(x, y+, y-),在SFT時使用監(jiān)督數據,在RLHF時使用偏好數據。 訓練數據的構建包括兩個步驟:人工數據注釋(collaborative data annotation)和自動數據合成(automated data synthesis)。首先,從大規(guī)模的指令語料庫中提取數據本體,從而得到廣泛多樣的高質量指令集,然后,通過人工標注,得到了目標響應 y 及其正負對應項(y+, y-)。最后,使用一個多樣的自動對齊策略來合成大量人工標注的數據。 人工數據注釋(collaborative data annotation)
自動數據合成(automated data synthesis)
Supervised Fine-Tuning通過上述操作,組裝了一個廣泛的指令數據集,其中包含超過500,000個示例,涵蓋了諸如指令遵循,編碼,數學,邏輯推理,角色扮演,多語言和安全等技能。模型對長度為32,768個token的序列微調了2個epoch。為了優(yōu)化學習,學習率從7 × 10?6逐漸降低到7 × 10?7,為了解決過擬合問題,將權重衰減設置為0.1,并將梯度裁剪為最大值1.0。 Reinforvement Learning From Human FeekbackRLHF訓練包括兩個連續(xù)的階段:離線訓練和在線訓練。在離線訓練階段,使用預編譯的偏好數據集P,通過直接偏好優(yōu)化最大化 y+ 和 y- 之間的似然差(DPO,Rafailov等,2023)。在在線訓練階段,模型迭代地實時改進其性能,利用獎勵模型進行即時反饋。具體來說,從當前的決策模型中抽取多個響應,獎勵模型選擇最受歡迎和最不受歡迎的響應,形成偏好對,用于每一個episode的DPO訓練。此外,使用Online Merging Optimizer(Lu等人,2024a)來減輕對齊稅。 五、Evaluation為了全面評估Qwen2模型,包括基礎模型和指令調優(yōu)模型,制定了一個全面的評估方案。該方案考察了一系列能力,包括一般知識理解、語言理解、生成、編碼、數學、推理和其他專業(yè)領域。具體來說,基本模型是使用大型語言模型(llm)的既定基準數據集進行評估的,除非另有說明,否則通過少量提示得出響應。對于指令調整模型,除了基準評估,優(yōu)先考慮人類偏好評估。 Base Language ModelsCore CapabilitiesBenchmarks and Evaluation Protocol(基準和評估協(xié)議) 評估基本語言模型核心能力的常見做法是使用少量提示或零提示實現基準數據集評估。 比較 Qwen2-70B 模型: 比較 Qwen2-MoE 模型: 比較 Qwen2-7B 模型: 比較 Qwen2-0.5B 和 Qwen2-1.5B 模型: Instruction-Tuned ModelOpen Benchmark Evaluation為了全面評估指令調整模型的質量,我們編寫了自動和人工評估來評估能力和人類偏好。對于基本能力的評估,我們將類似的數據集應用于預訓練模型評估中,其目標是自然語言理解,編碼,數學和推理。 In-house Automatic Evaluation盡管有許多開放的基準數據集用于評估,但對于完全理解llm的能力是遠遠不夠的。具體來說,通過人工制作了一系列內部數據集來評估模型的不同功能,例如,知識理解、文本生成、編碼等,分別使用中文和英文進行評價。 中文評價: 英文評價: Long Context Capabilities采用了三種方法來評估長上下文能力: the Needle in a Haystack(NIAH, Kamradt, 2023), NeedleBench (OpenCompass貢獻者,2023)和 LV-Eval (Yuan等人,2024)。 六、可能感興趣的概念
總結Qwen2相比較Qwen和Qwen1.5,在模型架構和數據構建上做出了較大的改進,也取得了更好的模型效果,但很多具體的數據構建過程仍然屬于黑盒,但好在整個模型結構和數據構建流程屬于現在LLM訓練的主流過程,我們仍然可以從中借鑒Qwen2的技術思路應用到自己訓練或者微調場景。 |
|