英偉達開源3400億巨獸,98%合成數據訓出最強開源通用模型!性能對標GPT-4o

0 評論 2175 瀏覽 0 收藏 35 分鐘

剛剛,英偉達全新發布的開源模型Nemotron-4 340B,有可能徹底改變訓練LLM的方式!從此,或許各行各業都不再需要昂貴的真實世界數據集了。而且,Nemotron-4 340B直接超越了Mixtral 8x22B、Claude sonnet、Llama3 70B、Qwen 2,甚至可以和GPT-4掰手腕!

就在剛剛,英偉達再一次證明了自己的AI創新領域的領導地位。

它全新發布的Nemotron-4 340B,是一系列具有開創意義的開源模型,有可能徹底改變訓練LLM的合成數據生成方式!

論文地址:https://d1qx31qr3h6wln.cloudfront.net/publications/Nemotron_4_340B_8T_0.pdf

這一突破性進展,標志著AI行業的一個重要里程碑——從此,各行各業都無需依賴大量昂貴的真實世界數據集了,用合成數據,就可以創建性能強大的特定領域大語言模型!

現在,Nemotron-4 340B已經取得了輝煌戰績,直接超越了Mixtral 8x22B、Claude sonnet、Llama3 70B、Qwen 2,甚至可以和GPT-4一較高下!

其實,以前這個模型就曾登上大模型競技場LMSys Chatbot Arena,當時它的別名是「june-chatbot」

具體來說,Nemotron-4 340B包括基礎模型Base、指令模型Instruct和獎勵模型Reward,并構建了一個高質量合成數據生成的完整流程。

模型支持4K上下文窗口、50多種自然語言和40多種編程語言,訓練數據截止到2023年6月。

訓練數據方面,英偉達采用了高達9萬億個token。其中,8萬億用于預訓練,1萬億用于繼續訓練以提高質量。

值得一提的是,指令模型的訓練是在98%的合成數據上完成的。

結果顯示,Nemotron-4-340B-Base在常識推理任務,如ARC-Challenge、MMLU和BigBench Hard基準測試中,可以和Llama-3 70B、Mixtral 8x22B和Qwen-2 72B模型媲美。

而Nemotron-4-340B-Instruct,在指令跟隨和聊天能力方面也超越了相應的指令模型。

Nemotron-4-340B-Reward在發表時,在RewardBench上實現了最高準確性,甚至超過了GPT-4o-0513和Gemini 1.5 Pro-0514這樣的專有模型。

在BF16精度下,模型的推理需要8塊H200,或16塊H100/A100 80GB。如果是在FP8精度下,則只需8塊H100。

除此之外,Nemotron-4 340B還有一個非常顯著的特點——對商用十分友好的許可。

高級深度學習研究工程師Somshubra Majumdar對此表示大贊:「是的,你可以用它生成你想要的所有數據」

01 無與倫比的合成數據生成

LLM無法獲得大規模、多樣化標注數據集,怎么破?

Nemotron-4 340B指令模型,可以幫助開發者生成合成訓練數據。

這些多樣化的合成數據,模仿了真實世界的數據特征,因而數據質量明顯提升,從而提升了各領域定制LLM的性能和穩定性。

而且,為了進一步提高AI生成數據的質量,開發者還可以用Nemotron-4 340B 獎勵模型,來篩選高質量的響應。

它會根據有用性、正確性、一致性、復雜性和冗長性這5個屬性,對響應評分。

另外,研究者可以使用自己的專用數據,再結合HelpSteer2數據集,定制Nemotron-4 340B 基礎模型,以創建自己的指令或獎勵模型。

02 用NeMo微調,用TensorRT-LLM優化推理

利用開源的NVIDIA NeMo和NVIDIA TensorRT-LLM,開發者可以優化指令模型和獎勵模型的效率,從而生成合成數據,并對響應進行評分。

所有Nemotron-4 340B模型都利用張量并行性經過TensorRT-LLM優化,這種模型并行性可以將單個權重矩陣分割到多個GPU和服務器上,從而實現大規模高效推理。

其中,基礎模型可以使用NeMo框架進行定制,以適應特定的用例或領域。廣泛的預訓練數據使得我們可以對它進行微調,并且為特定的下游任務提供更準確的輸出。

通過NeMo框架,英偉達提供了多種定制方法,包括監督微調和參數高效微調方法,如低秩適應(LoRA)。

為了提高模型質量,開發者可以使用NeMo Aligner和由Nemotron-4 340B獎勵模型標注的數據集來對齊模型。

03 在各行業的潛在影響:從醫療到金融及其他領域

顯然,Nemotron-4 340B對各行業的潛在影響是巨大的。

在醫療領域,如果能生成高質量合成數據,可能會帶來藥物發現、個性化醫療和醫學影像方面的突破。

在金融領域,基于合成數據訓練的定制大語言模型,則可能會徹底改變欺詐檢測、風險評估和客戶服務。

在制造業和零售業方面,特定領域的LLM可以實現預測性維護、供應鏈優化和個性化客戶體驗。

不過,Nemotron-4 340B的發布,也提出了一些隱憂,比如數據隱私和安全怎樣保證?

隨著以后合成數據的普及,企業是否有防護措施來保護敏感信息,并防止濫用?

如果用合成數據訓練AI模型,是否會引發倫理問題,比如數據中的偏見和不準確可能引發意料外的后果?

但至少在目前,越來越多跡象表明,只有合成數據才是未來。

預訓練

下面,我們就來看看,英偉達都提出了哪些創新的方法:

數據

預訓練數據是基于三種不同類型的混合,共有9T token。其中,前8T用于正式預訓練階段,最后1T用于繼續預訓練階段。

英語自然語言(70%):由不同來源和領域的精選文檔組成,包括網頁文檔、新聞文章、科學論文、書籍等。

多語種自然語言(15%):包含53種自然語言,由單語語料庫和平行語料庫中的文檔構成。代碼(15%):包含43種編程語言。

架構

與Nemotron-4-15B-Base類似,Nemotron-4-340B-Base基于的也是僅解碼器Transformer架構。

具體來說,模型使用因果注意力掩碼來確保序列的一致性,并采用旋轉位置嵌入(RoPE)、SentencePiece分詞器、分組查詢注意力(GQA),以及在MLP層中使用平方ReLU激活。

此外,模型沒有偏置項,丟棄率為零,輸入輸出嵌入不綁定。

模型超參數如表1所示,有94億個嵌入參數和3316億個非嵌入參數。

訓練

Nemotron-4-340B-Base使用768個DGX H100節點進行訓練,每個節點包含8個基于NVIDIA Hopper架構的H100 80GB SXM5 GPU。

每個H100 GPU在進行16位浮點(BF16)運算時,峰值吞吐量為989 teraFLOP/s(不含稀疏運算)。

英偉達采用了8路張量并行、12路交錯流水線并行和數據并行相結合的方法,并使用了分布式優化器,將優化器狀態分片到數據并行副本上,以減少訓練的內存占用。

表2總結了批大小增加的3個階段,包括每次迭代時間,以及GPU利用率(MFU)等,其中100%是理論峰值。

評估

在這一部分,我們報告了 Nemotron-4-340B-Base 的評估結果。我們將該模型

表3是Nemotron-4-340B-Base與Llama-3 70B、Mistral 8×22和Qwen-2 72B三款開源模型的比較結果。

可以看到,Nemotron-4-340B-Base在常識推理任務以及像BBH這樣的流行基準測試中拿下了SOTA,并在MMLU和HumanEval等代碼基準測試中位列第二。

對齊

獎勵模型構建

獎勵模型在模型對齊中起著至關重要的作用,是訓練強指令跟隨模型時用于偏好排序和質量過濾的重要評判者。

為了開發一個強大的獎勵模型,英偉達收集了一個包含10k人類偏好數據的數據集——HelpSteer2。

與成對排名模型不同,多屬性回歸獎勵模型在區分真實有用性和無關偽影(如僅因長度而偏好較長但無用的回復)方面更有效。此外,回歸模型在預測細粒度獎勵、捕捉相似回復之間的有用性細微差別方面表現更好。

回歸獎勵模型建立在Nemotron-4-340B-Base模型之上,通過用一個新的獎勵「頭」替換模型的最終softmax層。

這個「頭」是一個線性投影,將最后一層的隱藏狀態映射到一個包含HelpSteer屬性(有用性、正確性、一致性、復雜性、冗長性)的五維向量。

在推理過程中,這些屬性值可以通過加權求和聚合為一個總體獎勵。數據對齊

值得注意的是,在整個對齊過程中,英偉達僅使用了大約20K的人工標注數據,而數據生成管線則生成了用于監督微調和偏好微調的98%以上的數據。提示生成準備

生成合成提示,是合成數據生成(SDG)的第一步。

這些提示在不同維度上的多樣性至關重要,包括任務多樣性(如寫作、開放問答、封閉問答)、主題多樣性(如STEM、人文、日常生活)和指令多樣性(如JSON輸出、段落數量、是或否回答)。

對此,英偉達使用Mixtral-8x7B-Instruct-v0.1作為生成器,分別對這些任務的合成提示進行了生成。單輪合成提示

為了收集多樣化的主題,英偉達先引導生成器輸出一組多樣化的宏觀主題,然后再為每個合成的宏觀主題生成相關的子主題。

加上人工收集的,最終得到的主題達到了3K個。

用于合成提示生成的提示如下:

合成指令跟隨提示

為了提升對于對齊模型至關重要的指令跟隨能力,就需要生成合成的指令跟隨提示(例如,「寫一篇關于機器學習的文章,你的回答應包含三個段落」)。

具體來說,先隨機選擇一些合成提示。對于每個合成提示,從「可驗證」指令模板中隨機生成一個合成指令(例如,「你的回答應包含三個段落」)。然后,使用手動定義的模板將提示和指令連接在一起。

除了單輪指令跟隨提示外,英偉達還構建了多輪指令跟隨提示,這些指令適用于所有未來的對話(例如「根據以下指令回答問題和所有后續問題:[指令開始]用三個段落回答。[指令結束]」)。

此外,英偉達還構建了第二輪指令跟隨提示,可以根據給定的指令修改之前的回答。合成兩輪提示

為了在偏好微調中提高模型的多輪對話能力,英偉達構建了兩輪提示來建立偏好數據集。

具體來說,提示包含一個用戶問題,一個助手回答,和另一個用戶問題,形式為「用戶:XXX;助手:XXX;用戶:XXX;」。

英偉達從ShareGPT中獲取第一個用戶提示,并使用中間指令模型生成助手回答和下一輪問題。真實世界的LMSYS提示

為了更好地模擬真實世界的用戶請求,英偉達將LMSYS-Chat-1M中的提示按平衡比例進行組合,并將其分為兩個不同的集合,一個用于監督學習,另一個用于偏好學習。

在監督學習部分,英偉達移除了LMSYS中被標記為潛在不安全的提示,以避免引發不良對話。但在偏好學習部分則進行了保留,以便模型能夠學習如何區分安全和不安全的響應。

從圖3中可以看到,合成提示的平均有用性高于LMSYS提示。由于簡單提示更容易「有用」,這意味著LMSYS提示比合成單輪提示平均來說更難且更復雜。

合成對話生成

通過監督微調,模型就可以學習到,如何以對話形式與用戶互動。

英偉達通過提示指令模型生成基于輸入提示的響應,來啟動合成對話。

為了培養多輪對話能力,他們把每個對話設計成包含三輪,好讓對話流程更加動態、更有互動性。

通過迭代角色扮演,模型會交替模擬助手和用戶的角色。

英偉達發現,為了在用戶回合中引導所需的行為,就需要提供明確的提示來定義不同的用戶個性。

并且,附上對話歷史是至關重要的。

他們對用戶回合進行了后處理,排除了禮貌陳述(如「謝謝你…」,「當然,我很高興…」)來模擬真實世界的用戶問題。

生成演示數據,是采用的貪婪采樣方法。

此外,英偉達會使用Nemotron4-340B-Reward評估對話質量,為每個樣本分配一個分數,并過濾掉那些低于預定閾值的樣本。

這就提供了額外的質量控制層,保證保留下來的都是高質量數據。

合成偏好數據生成

英偉達使用了10K人工標注的HelpSteer2偏好數據,來訓練Nemotron-4-340B-Reward。

不過,他們還需要具有更廣泛提示領域、更高質量響應的偏好數據,這些響應來自頂級的中間模型,并在可能的情況下包含額外的真實信號。

因此,英偉達生成了三元組形式的合成偏好數據(提示,選擇的響應,被拒絕的響應)。生成響應

偏好數據包含合成的單輪提示、指令跟隨提示、雙輪提示,以及來自真實世界的提示,包括ShareGPT提示、LMSYS提示、GSM8K和MATH訓練數據集中的提示。

對于每個提示,英偉達都使用了隨機的中間模型生成響應。

通過多個模型生成響應,就能確保偏好數據集具有多樣化的響應,以供模型學習。

此外,他們還生成了更具挑戰性的合成偏好示例,這些示例是根據MT-Bench從表現最好的模型中多次隨機生成的響應,這樣就可以進一步提升模型的性能。以基準真相作為判斷標準

對于每個提示給出的多個響應,英偉達都需要對其偏好排序進行判斷,并選擇出被選中的響應和被拒絕的響應。

一些任務可以使用基準真相(例如GSM8K和MATH訓練數據集中的答案)或驗證器(例如指令跟隨響應可以用 Python程序驗證)來評估。以LLM/獎勵模型為裁判

大多數提示,是沒有客觀答案的。因此,英偉達嘗試了以大語言模型為裁判和以獎勵模型為裁判。

在第一種情況中,英偉達向裁判的大語言模型提供提示和兩個響應,并要求其比較這兩個響應。

為了避免位置偏差,他們會交換響應順序后,再次詢問大語言模型。當大語言模型兩次判斷一致時,就會選出有效的三元組(提示、被選中的、被拒絕的)。

另外,為了進一步探索了以獎勵模型為裁判的情況,英偉達要求Nemotron-4-340B-Reward 預測每個(提示、響應)對的獎勵,并根據獎勵決定偏好排序。

獎勵基準得分顯示以,獎勵模型為裁判的準確性,要高于以大語言模型為裁判。

特別是在Chat-Hard類別中,選擇的響應和被拒絕的響應難以區分,以獎勵模型為裁判的表現,要遠優于以大語言模型為裁判,平均準確率為0.87對0.54。

在這個過程中,英偉達注意到:Chat-Hard類別的評分對于合成數據生成中的偏好排序特別重要。

因此,在后來的數據集迭代中,他們轉而使用以獎勵模型為裁判。

從弱到強的迭代對齊

如前所述,高質量的數據對于模型的對齊至關重要。

在數據合成過程中,需要一個對齊的大語言模型來準確遵循指令。

這就引發了一系列重要的問題:哪個模型最適合作為生成器?生成器的強度與數據質量之間有何關系?如何改進數據生成器?

受到弱到強泛化的啟發,英偉達開發了一種新穎的迭代方法,逐步優化數據。這種方法結合了對齊訓練與數據合成的優勢,使它們能夠相互增強,并且持續改進。

圖4展示了從弱到強的迭代對齊的工作流程。

首先,使用一個初始對齊模型來生成對話和偏好數據。然后,通過監督微調和偏好調優,利用它們對更好的基礎模型進行對齊。

有趣的是,英偉達發現,教師模型并不會限制學生模型的上限——

隨著基礎模型和對齊數據的改進,新對齊的模型能夠顯著超過初始對齊模型。注意,對齊過程與基礎模型的預訓練是并行進行的。

在第一次迭代中,英偉達選擇了Mixtral-8x7B-Instruct-v0.1作為初始對齊模型,因為它是一個具有許可的強大模型。

生成的數據用于訓練Nemotron-4-340B-Base的一個中間檢查點,稱為340B-Interm-1-Base。

值得注意的是,340B-Interm-1-Base的表現優于Mixtral 8x7B基礎模型,這反過來使得最終的340B-Interm-1-Instruct模型,能夠超過Mixtral-8x7B-Instruct-v0.1模型。

這就證明,可以通過弱監督引出模型強大的能力。

在第二次迭代中,英偉達使用生成的340B-Interm-1-Instruct模型,作為新的數據生成器。

由于它比Mixtral-8x7B-Instruct-v0.1更強,第二次迭代生成的合成數據質量就更高。

生成的數據用于訓練340B-Interm-2-Base模型,使其升級為340B-Interm-2-Chat模型。

這個迭代過程形成了一個自我強化的飛輪效應,改進主要來自兩個方面——

(1)當使用相同的數據集時,基礎模型的強度直接影響指令模型的強度,基礎模型越強,指令模型也越強;

(2)當使用相同的基礎模型時,數據集的質量決定了指令模型的效果,數據質量越高,指令模型也越強。

在整個對齊過程中,英偉達進行了多輪數據生成和改進,不斷提升模型的質量。附加數據源

此外,英偉達還結合了多個補充數據集,以賦予模型特定的能力。主題跟隨

主題連貫性和細粒度指令跟隨是,指令模型的重要能力。

因此,英偉達結合了CantTalkAboutThis訓練集,其中包括了覆蓋廣泛主題的合成對話,并故意插入干擾回合以分散聊天機器人對主要主題的注意力。

這就能幫助模型,在任務導向的交互中更好地專注于預定的主題。無法完成的任務

某些任務可能由于需要特定的能力(如互聯網訪問或實時知識)而無法由模型獨立完成。

為減少這種情況下的幻覺,英偉達采用少樣本方法,使用人類編寫的示例來提示大語言模型生成各種問題。

然后,他們會明確要求大語言模型以拒絕的方式回應,收集這些回應,并將其與相應的問題配對。

這些配對數據就可以用于訓練模型,讓它們能夠更好地處理無法完成的任務。

STEM數據集

Open-Platypus已被證明可以提高STEM和邏輯知識。因此,英偉達將具有許可的子集(如PRM800K、SciBench、ARB 、openbookQA)納入訓練數據中。基于文檔的推理和問答

基于文檔的問答是大語言模型的重要用例。

英偉達利用FinQA數據集提高了數值的推理能力,使用人工標注數據提高了上下文問答的準確性,并使用 wikitablequestions數據集,增強了模型對半結構化數據的理解。函數調用

此外,英偉達還使用了一部分來自Glaive AI的樣本,以增強模型在函數調用方面的能力。對齊算法分階段的監督微調

監督微調(Supervised Fine-tuning,SFT)是模型對齊的第一步。

為了改善傳統SFT方法存在的缺陷,英偉達設計了一種兩階段的SFT策略,使模型能夠依次、有計劃地學習不同的行為。

結果顯示,這種方法在所有下游任務中都產生了更好的效果。代碼SFT

為了在不影響其他任務的情況下提高編碼和推理能力,英偉達選擇先在編碼數據上進行SFT。

為了獲得大量的數據,英偉達開發了一種名為Genetic Instruct的全新方法——通過對進化過程的模擬,利用自我指令和向導編碼器突變,從少量高質量種子生成大量合成樣本。

過程中,英偉達還引入了一種適應度函數,利用LLM評估生成指令及其解決方案的正確性和質量。

然后,通過這些評估和檢查的樣本會被添加到種群池中,進化過程會持續進行,直到達到目標種群規模。

最終,經過廣泛的去重和過濾后,英偉達保留了大約80萬條樣本用于代碼SFT訓練。通用SFT

第二階段,就是通用SFT了。

這里,英偉達采用的是一個包含20萬樣本的混合數據集。

為了減輕遺忘的風險,數據混合中還包括了前一個代碼SFT階段的2%的代碼生成樣本。偏好微調

在完成監督微調后,英偉達繼續通過偏好微調來改進模型。

在這個階段,模型將學習偏好示例,其形式是:提示,選擇的響應,被拒絕的響應。直接偏好優化(DPO)

DPO算法通過優化策略網絡,來最大化選擇和被拒絕響應之間的隱含獎勵差距。

在策略學習區分選擇和被拒絕的響應時,可以觀察到,隨著差距的增加,選擇和被拒絕響應的概率都在一致地下降,即使選擇的響應是高質量的。

根據經驗,當訓練時間足夠長時,策略網絡容易過擬合,一個指標(例如,MT-Bench)的改進通常伴隨著其他指標(例如,零樣本MMLU)的退化。

為了解決這些問題,英偉達在選擇的響應上添加了加權的SFT損失,以補充原始的DPO損失。

額外的SFT損失有助于防止策略網絡大幅偏離偏好數據,特別是因為偏好數據不是從參考策略生成的。

為了避免模型學習低質量的選擇響應,當沒有可用的真實值時,英偉達使用了Nemotron-4-340B-Reward來挑選高質量的選擇響應示例。最終,這產生了一個包含16萬示例的偏好數據集。獎勵感知偏好優化(RPO)

為了解決DPO存在的過擬合問題,英偉達提出了一種新算法——獎勵感知偏好優化(RPO)。它嘗試使用由策略網絡定義的隱含獎勵近似獎勵差距。

基于此,便得到了一個新的損失函數:

 

結果顯示,隨著RPO迭代次數的增加,模型還可以持續地在所有任務上獲得提升。

經過三次RPO訓練迭代后的檢查點,就是最終的Nemotron-4-340B-Instruct。指令模型評估自動基準測試

英偉達對Nemotron-4-340B-Instruct進行了全面的自動基準測試評估:

單輪對話:AlpacaEval 2.0 LC和Arena Hard

多輪對話:MT-Bench(GPT-4-Turbo)。需要注意的是,這是原始MT-Bench的修正版本,得分平均要低0.8分。

綜合基準測試:MMLU(零樣本)

數學:GSM8K(零樣本)

代碼:HumanEval(零樣本)和 MBPP(零樣本)上的Pass@1得分

指令跟隨:IFEval主題跟隨:TFEval

正如表5所示,Nemotron-4-340B-Instruct在當前可用的開源模型中表現出色,具備很強的競爭力。

對齊訓練包括:代碼SFT、通用SFT、DPO和三輪RPO。

表6展示了模型最終的成績,并量化了每個對齊階段的中間模型的性能:

CodeSFT階段顯著提高了HumanEval得分,從基礎模型的57.3提升到70.7;

接下來的通用SFT階段大幅提升了其他類別的準確性,如MT-Bench和MMLU,盡管HumanEval得分略有下降;

DPO階段進一步提升了大多數指標,但MT-Bench的得分略有下降;最后的RPO階段均勻地提升了所有指標。特別是,MT-Bench得分從7.90增加到8.22,IFEval Prompt-Strict-Acc的得分從61.7增加到79.9。

人類評估

除了自動評估外,英偉達模型進行了人類評估。其中,標注員被提供了136個提示,分為10個不同的任務類別。

基于「有用性」和「真實性」這兩個維度,英偉達詳細定義了5個質量等級的具體內容,從而在減少了主觀性的同時,提升了可靠性。

在標注設計中,每個提示都與固定模型集合中的三個不同響應配對。每個提示的響應順序是隨機的,所有提示和響應都由同一組標注員進行評估。

標注完成后,將評分轉換為相對于GPT-4-1106-preview的相對勝/平/負率。

從圖5中可以看到,除了提取和重寫任務外,Nemotron-4-340B-Instruct的勝率與GPT-4-1106-preview相當或更好,特別是在多輪對話中表現出色。

整體來說,Nemotron-4-340B-Instruct的勝:平:負比率為28.19%:46.57%:25.24%。

從表7中則可以看到,與GPT-4-1106-preview相比,標注員認為Nemotron-4-340B-Instruct的響應長度更為合適(79.41%對74.02%)。

值得注意的是,這一優勢主要來自較低的長/冗長響應率(20.10%對25.74%)。

作者

參考資料:https://blogs.nvidia.com/blog/nemotron-4-synthetic-data-generation-llm-training/https://venturebeat.com/ai/nvidias-nemotron-4-340b-model-redefines-synthetic-data-generation-rivals-gpt-4/

本文由人人都是產品經理作者【新智元】,微信公眾號:【新智元】,原創/授權 發布于人人都是產品經理,未經許可,禁止轉載。

題圖來自Unsplash,基于 CC0 協議。

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 目前還沒評論,等你發揮!