英偉達(dá)開源3400億巨獸,98%合成數(shù)據(jù)訓(xùn)出最強(qiáng)開源通用模型!性能對(duì)標(biāo)GPT-4o
剛剛,英偉達(dá)全新發(fā)布的開源模型Nemotron-4 340B,有可能徹底改變訓(xùn)練LLM的方式!從此,或許各行各業(yè)都不再需要昂貴的真實(shí)世界數(shù)據(jù)集了。而且,Nemotron-4 340B直接超越了Mixtral 8x22B、Claude sonnet、Llama3 70B、Qwen 2,甚至可以和GPT-4掰手腕!
就在剛剛,英偉達(dá)再一次證明了自己的AI創(chuàng)新領(lǐng)域的領(lǐng)導(dǎo)地位。
它全新發(fā)布的Nemotron-4 340B,是一系列具有開創(chuàng)意義的開源模型,有可能徹底改變訓(xùn)練LLM的合成數(shù)據(jù)生成方式!
論文地址:https://d1qx31qr3h6wln.cloudfront.net/publications/Nemotron_4_340B_8T_0.pdf
這一突破性進(jìn)展,標(biāo)志著AI行業(yè)的一個(gè)重要里程碑——從此,各行各業(yè)都無需依賴大量昂貴的真實(shí)世界數(shù)據(jù)集了,用合成數(shù)據(jù),就可以創(chuàng)建性能強(qiáng)大的特定領(lǐng)域大語言模型!
現(xiàn)在,Nemotron-4 340B已經(jīng)取得了輝煌戰(zhàn)績(jī),直接超越了Mixtral 8x22B、Claude sonnet、Llama3 70B、Qwen 2,甚至可以和GPT-4一較高下!
其實(shí),以前這個(gè)模型就曾登上大模型競(jìng)技場(chǎng)LMSys Chatbot Arena,當(dāng)時(shí)它的別名是「june-chatbot」
具體來說,Nemotron-4 340B包括基礎(chǔ)模型Base、指令模型Instruct和獎(jiǎng)勵(lì)模型Reward,并構(gòu)建了一個(gè)高質(zhì)量合成數(shù)據(jù)生成的完整流程。
模型支持4K上下文窗口、50多種自然語言和40多種編程語言,訓(xùn)練數(shù)據(jù)截止到2023年6月。
訓(xùn)練數(shù)據(jù)方面,英偉達(dá)采用了高達(dá)9萬億個(gè)token。其中,8萬億用于預(yù)訓(xùn)練,1萬億用于繼續(xù)訓(xùn)練以提高質(zhì)量。
值得一提的是,指令模型的訓(xùn)練是在98%的合成數(shù)據(jù)上完成的。
結(jié)果顯示,Nemotron-4-340B-Base在常識(shí)推理任務(wù),如ARC-Challenge、MMLU和BigBench Hard基準(zhǔn)測(cè)試中,可以和Llama-3 70B、Mixtral 8x22B和Qwen-2 72B模型媲美。
而Nemotron-4-340B-Instruct,在指令跟隨和聊天能力方面也超越了相應(yīng)的指令模型。
Nemotron-4-340B-Reward在發(fā)表時(shí),在RewardBench上實(shí)現(xiàn)了最高準(zhǔn)確性,甚至超過了GPT-4o-0513和Gemini 1.5 Pro-0514這樣的專有模型。
在BF16精度下,模型的推理需要8塊H200,或16塊H100/A100 80GB。如果是在FP8精度下,則只需8塊H100。
除此之外,Nemotron-4 340B還有一個(gè)非常顯著的特點(diǎn)——對(duì)商用十分友好的許可。
高級(jí)深度學(xué)習(xí)研究工程師Somshubra Majumdar對(duì)此表示大贊:「是的,你可以用它生成你想要的所有數(shù)據(jù)」
01 無與倫比的合成數(shù)據(jù)生成
LLM無法獲得大規(guī)模、多樣化標(biāo)注數(shù)據(jù)集,怎么破?
Nemotron-4 340B指令模型,可以幫助開發(fā)者生成合成訓(xùn)練數(shù)據(jù)。
這些多樣化的合成數(shù)據(jù),模仿了真實(shí)世界的數(shù)據(jù)特征,因而數(shù)據(jù)質(zhì)量明顯提升,從而提升了各領(lǐng)域定制LLM的性能和穩(wěn)定性。
而且,為了進(jìn)一步提高AI生成數(shù)據(jù)的質(zhì)量,開發(fā)者還可以用Nemotron-4 340B 獎(jiǎng)勵(lì)模型,來篩選高質(zhì)量的響應(yīng)。
它會(huì)根據(jù)有用性、正確性、一致性、復(fù)雜性和冗長(zhǎng)性這5個(gè)屬性,對(duì)響應(yīng)評(píng)分。
另外,研究者可以使用自己的專用數(shù)據(jù),再結(jié)合HelpSteer2數(shù)據(jù)集,定制Nemotron-4 340B 基礎(chǔ)模型,以創(chuàng)建自己的指令或獎(jiǎng)勵(lì)模型。
02 用NeMo微調(diào),用TensorRT-LLM優(yōu)化推理
利用開源的NVIDIA NeMo和NVIDIA TensorRT-LLM,開發(fā)者可以優(yōu)化指令模型和獎(jiǎng)勵(lì)模型的效率,從而生成合成數(shù)據(jù),并對(duì)響應(yīng)進(jìn)行評(píng)分。
所有Nemotron-4 340B模型都利用張量并行性經(jīng)過TensorRT-LLM優(yōu)化,這種模型并行性可以將單個(gè)權(quán)重矩陣分割到多個(gè)GPU和服務(wù)器上,從而實(shí)現(xiàn)大規(guī)模高效推理。
其中,基礎(chǔ)模型可以使用NeMo框架進(jìn)行定制,以適應(yīng)特定的用例或領(lǐng)域。廣泛的預(yù)訓(xùn)練數(shù)據(jù)使得我們可以對(duì)它進(jìn)行微調(diào),并且為特定的下游任務(wù)提供更準(zhǔn)確的輸出。
通過NeMo框架,英偉達(dá)提供了多種定制方法,包括監(jiān)督微調(diào)和參數(shù)高效微調(diào)方法,如低秩適應(yīng)(LoRA)。
為了提高模型質(zhì)量,開發(fā)者可以使用NeMo Aligner和由Nemotron-4 340B獎(jiǎng)勵(lì)模型標(biāo)注的數(shù)據(jù)集來對(duì)齊模型。
03 在各行業(yè)的潛在影響:從醫(yī)療到金融及其他領(lǐng)域
顯然,Nemotron-4 340B對(duì)各行業(yè)的潛在影響是巨大的。
在醫(yī)療領(lǐng)域,如果能生成高質(zhì)量合成數(shù)據(jù),可能會(huì)帶來藥物發(fā)現(xiàn)、個(gè)性化醫(yī)療和醫(yī)學(xué)影像方面的突破。
在金融領(lǐng)域,基于合成數(shù)據(jù)訓(xùn)練的定制大語言模型,則可能會(huì)徹底改變欺詐檢測(cè)、風(fēng)險(xiǎn)評(píng)估和客戶服務(wù)。
在制造業(yè)和零售業(yè)方面,特定領(lǐng)域的LLM可以實(shí)現(xiàn)預(yù)測(cè)性維護(hù)、供應(yīng)鏈優(yōu)化和個(gè)性化客戶體驗(yàn)。
不過,Nemotron-4 340B的發(fā)布,也提出了一些隱憂,比如數(shù)據(jù)隱私和安全怎樣保證?
隨著以后合成數(shù)據(jù)的普及,企業(yè)是否有防護(hù)措施來保護(hù)敏感信息,并防止濫用?
如果用合成數(shù)據(jù)訓(xùn)練AI模型,是否會(huì)引發(fā)倫理問題,比如數(shù)據(jù)中的偏見和不準(zhǔn)確可能引發(fā)意料外的后果?
但至少在目前,越來越多跡象表明,只有合成數(shù)據(jù)才是未來。
預(yù)訓(xùn)練
下面,我們就來看看,英偉達(dá)都提出了哪些創(chuàng)新的方法:
數(shù)據(jù)
預(yù)訓(xùn)練數(shù)據(jù)是基于三種不同類型的混合,共有9T token。其中,前8T用于正式預(yù)訓(xùn)練階段,最后1T用于繼續(xù)預(yù)訓(xùn)練階段。
英語自然語言(70%):由不同來源和領(lǐng)域的精選文檔組成,包括網(wǎng)頁文檔、新聞文章、科學(xué)論文、書籍等。
多語種自然語言(15%):包含53種自然語言,由單語語料庫和平行語料庫中的文檔構(gòu)成。代碼(15%):包含43種編程語言。
架構(gòu)
與Nemotron-4-15B-Base類似,Nemotron-4-340B-Base基于的也是僅解碼器Transformer架構(gòu)。
具體來說,模型使用因果注意力掩碼來確保序列的一致性,并采用旋轉(zhuǎn)位置嵌入(RoPE)、SentencePiece分詞器、分組查詢注意力(GQA),以及在MLP層中使用平方ReLU激活。
此外,模型沒有偏置項(xiàng),丟棄率為零,輸入輸出嵌入不綁定。
模型超參數(shù)如表1所示,有94億個(gè)嵌入?yún)?shù)和3316億個(gè)非嵌入?yún)?shù)。
訓(xùn)練
Nemotron-4-340B-Base使用768個(gè)DGX H100節(jié)點(diǎn)進(jìn)行訓(xùn)練,每個(gè)節(jié)點(diǎn)包含8個(gè)基于NVIDIA Hopper架構(gòu)的H100 80GB SXM5 GPU。
每個(gè)H100 GPU在進(jìn)行16位浮點(diǎn)(BF16)運(yùn)算時(shí),峰值吞吐量為989 teraFLOP/s(不含稀疏運(yùn)算)。
英偉達(dá)采用了8路張量并行、12路交錯(cuò)流水線并行和數(shù)據(jù)并行相結(jié)合的方法,并使用了分布式優(yōu)化器,將優(yōu)化器狀態(tài)分片到數(shù)據(jù)并行副本上,以減少訓(xùn)練的內(nèi)存占用。
表2總結(jié)了批大小增加的3個(gè)階段,包括每次迭代時(shí)間,以及GPU利用率(MFU)等,其中100%是理論峰值。
評(píng)估
在這一部分,我們報(bào)告了 Nemotron-4-340B-Base 的評(píng)估結(jié)果。我們將該模型
表3是Nemotron-4-340B-Base與Llama-3 70B、Mistral 8×22和Qwen-2 72B三款開源模型的比較結(jié)果。
可以看到,Nemotron-4-340B-Base在常識(shí)推理任務(wù)以及像BBH這樣的流行基準(zhǔn)測(cè)試中拿下了SOTA,并在MMLU和HumanEval等代碼基準(zhǔn)測(cè)試中位列第二。
對(duì)齊
獎(jiǎng)勵(lì)模型構(gòu)建
獎(jiǎng)勵(lì)模型在模型對(duì)齊中起著至關(guān)重要的作用,是訓(xùn)練強(qiáng)指令跟隨模型時(shí)用于偏好排序和質(zhì)量過濾的重要評(píng)判者。
為了開發(fā)一個(gè)強(qiáng)大的獎(jiǎng)勵(lì)模型,英偉達(dá)收集了一個(gè)包含10k人類偏好數(shù)據(jù)的數(shù)據(jù)集——HelpSteer2。
與成對(duì)排名模型不同,多屬性回歸獎(jiǎng)勵(lì)模型在區(qū)分真實(shí)有用性和無關(guān)偽影(如僅因長(zhǎng)度而偏好較長(zhǎng)但無用的回復(fù))方面更有效。此外,回歸模型在預(yù)測(cè)細(xì)粒度獎(jiǎng)勵(lì)、捕捉相似回復(fù)之間的有用性細(xì)微差別方面表現(xiàn)更好。
回歸獎(jiǎng)勵(lì)模型建立在Nemotron-4-340B-Base模型之上,通過用一個(gè)新的獎(jiǎng)勵(lì)「頭」替換模型的最終softmax層。
這個(gè)「頭」是一個(gè)線性投影,將最后一層的隱藏狀態(tài)映射到一個(gè)包含HelpSteer屬性(有用性、正確性、一致性、復(fù)雜性、冗長(zhǎng)性)的五維向量。
在推理過程中,這些屬性值可以通過加權(quán)求和聚合為一個(gè)總體獎(jiǎng)勵(lì)。數(shù)據(jù)對(duì)齊
值得注意的是,在整個(gè)對(duì)齊過程中,英偉達(dá)僅使用了大約20K的人工標(biāo)注數(shù)據(jù),而數(shù)據(jù)生成管線則生成了用于監(jiān)督微調(diào)和偏好微調(diào)的98%以上的數(shù)據(jù)。提示生成準(zhǔn)備
生成合成提示,是合成數(shù)據(jù)生成(SDG)的第一步。
這些提示在不同維度上的多樣性至關(guān)重要,包括任務(wù)多樣性(如寫作、開放問答、封閉問答)、主題多樣性(如STEM、人文、日常生活)和指令多樣性(如JSON輸出、段落數(shù)量、是或否回答)。
對(duì)此,英偉達(dá)使用Mixtral-8x7B-Instruct-v0.1作為生成器,分別對(duì)這些任務(wù)的合成提示進(jìn)行了生成。單輪合成提示
為了收集多樣化的主題,英偉達(dá)先引導(dǎo)生成器輸出一組多樣化的宏觀主題,然后再為每個(gè)合成的宏觀主題生成相關(guān)的子主題。
加上人工收集的,最終得到的主題達(dá)到了3K個(gè)。
用于合成提示生成的提示如下:
合成指令跟隨提示
為了提升對(duì)于對(duì)齊模型至關(guān)重要的指令跟隨能力,就需要生成合成的指令跟隨提示(例如,「寫一篇關(guān)于機(jī)器學(xué)習(xí)的文章,你的回答應(yīng)包含三個(gè)段落」)。
具體來說,先隨機(jī)選擇一些合成提示。對(duì)于每個(gè)合成提示,從「可驗(yàn)證」指令模板中隨機(jī)生成一個(gè)合成指令(例如,「你的回答應(yīng)包含三個(gè)段落」)。然后,使用手動(dòng)定義的模板將提示和指令連接在一起。
除了單輪指令跟隨提示外,英偉達(dá)還構(gòu)建了多輪指令跟隨提示,這些指令適用于所有未來的對(duì)話(例如「根據(jù)以下指令回答問題和所有后續(xù)問題:[指令開始]用三個(gè)段落回答。[指令結(jié)束]」)。
此外,英偉達(dá)還構(gòu)建了第二輪指令跟隨提示,可以根據(jù)給定的指令修改之前的回答。合成兩輪提示
為了在偏好微調(diào)中提高模型的多輪對(duì)話能力,英偉達(dá)構(gòu)建了兩輪提示來建立偏好數(shù)據(jù)集。
具體來說,提示包含一個(gè)用戶問題,一個(gè)助手回答,和另一個(gè)用戶問題,形式為「用戶:XXX;助手:XXX;用戶:XXX;」。
英偉達(dá)從ShareGPT中獲取第一個(gè)用戶提示,并使用中間指令模型生成助手回答和下一輪問題。真實(shí)世界的LMSYS提示
為了更好地模擬真實(shí)世界的用戶請(qǐng)求,英偉達(dá)將LMSYS-Chat-1M中的提示按平衡比例進(jìn)行組合,并將其分為兩個(gè)不同的集合,一個(gè)用于監(jiān)督學(xué)習(xí),另一個(gè)用于偏好學(xué)習(xí)。
在監(jiān)督學(xué)習(xí)部分,英偉達(dá)移除了LMSYS中被標(biāo)記為潛在不安全的提示,以避免引發(fā)不良對(duì)話。但在偏好學(xué)習(xí)部分則進(jìn)行了保留,以便模型能夠?qū)W習(xí)如何區(qū)分安全和不安全的響應(yīng)。
從圖3中可以看到,合成提示的平均有用性高于LMSYS提示。由于簡(jiǎn)單提示更容易「有用」,這意味著LMSYS提示比合成單輪提示平均來說更難且更復(fù)雜。
合成對(duì)話生成
通過監(jiān)督微調(diào),模型就可以學(xué)習(xí)到,如何以對(duì)話形式與用戶互動(dòng)。
英偉達(dá)通過提示指令模型生成基于輸入提示的響應(yīng),來啟動(dòng)合成對(duì)話。
為了培養(yǎng)多輪對(duì)話能力,他們把每個(gè)對(duì)話設(shè)計(jì)成包含三輪,好讓對(duì)話流程更加動(dòng)態(tài)、更有互動(dòng)性。
通過迭代角色扮演,模型會(huì)交替模擬助手和用戶的角色。
英偉達(dá)發(fā)現(xiàn),為了在用戶回合中引導(dǎo)所需的行為,就需要提供明確的提示來定義不同的用戶個(gè)性。
并且,附上對(duì)話歷史是至關(guān)重要的。
他們對(duì)用戶回合進(jìn)行了后處理,排除了禮貌陳述(如「謝謝你…」,「當(dāng)然,我很高興…」)來模擬真實(shí)世界的用戶問題。
生成演示數(shù)據(jù),是采用的貪婪采樣方法。
此外,英偉達(dá)會(huì)使用Nemotron4-340B-Reward評(píng)估對(duì)話質(zhì)量,為每個(gè)樣本分配一個(gè)分?jǐn)?shù),并過濾掉那些低于預(yù)定閾值的樣本。
這就提供了額外的質(zhì)量控制層,保證保留下來的都是高質(zhì)量數(shù)據(jù)。
合成偏好數(shù)據(jù)生成
英偉達(dá)使用了10K人工標(biāo)注的HelpSteer2偏好數(shù)據(jù),來訓(xùn)練Nemotron-4-340B-Reward。
不過,他們還需要具有更廣泛提示領(lǐng)域、更高質(zhì)量響應(yīng)的偏好數(shù)據(jù),這些響應(yīng)來自頂級(jí)的中間模型,并在可能的情況下包含額外的真實(shí)信號(hào)。
因此,英偉達(dá)生成了三元組形式的合成偏好數(shù)據(jù)(提示,選擇的響應(yīng),被拒絕的響應(yīng))。生成響應(yīng)
偏好數(shù)據(jù)包含合成的單輪提示、指令跟隨提示、雙輪提示,以及來自真實(shí)世界的提示,包括ShareGPT提示、LMSYS提示、GSM8K和MATH訓(xùn)練數(shù)據(jù)集中的提示。
對(duì)于每個(gè)提示,英偉達(dá)都使用了隨機(jī)的中間模型生成響應(yīng)。
通過多個(gè)模型生成響應(yīng),就能確保偏好數(shù)據(jù)集具有多樣化的響應(yīng),以供模型學(xué)習(xí)。
此外,他們還生成了更具挑戰(zhàn)性的合成偏好示例,這些示例是根據(jù)MT-Bench從表現(xiàn)最好的模型中多次隨機(jī)生成的響應(yīng),這樣就可以進(jìn)一步提升模型的性能。以基準(zhǔn)真相作為判斷標(biāo)準(zhǔn)
對(duì)于每個(gè)提示給出的多個(gè)響應(yīng),英偉達(dá)都需要對(duì)其偏好排序進(jìn)行判斷,并選擇出被選中的響應(yīng)和被拒絕的響應(yīng)。
一些任務(wù)可以使用基準(zhǔn)真相(例如GSM8K和MATH訓(xùn)練數(shù)據(jù)集中的答案)或驗(yàn)證器(例如指令跟隨響應(yīng)可以用 Python程序驗(yàn)證)來評(píng)估。以LLM/獎(jiǎng)勵(lì)模型為裁判
大多數(shù)提示,是沒有客觀答案的。因此,英偉達(dá)嘗試了以大語言模型為裁判和以獎(jiǎng)勵(lì)模型為裁判。
在第一種情況中,英偉達(dá)向裁判的大語言模型提供提示和兩個(gè)響應(yīng),并要求其比較這兩個(gè)響應(yīng)。
為了避免位置偏差,他們會(huì)交換響應(yīng)順序后,再次詢問大語言模型。當(dāng)大語言模型兩次判斷一致時(shí),就會(huì)選出有效的三元組(提示、被選中的、被拒絕的)。
另外,為了進(jìn)一步探索了以獎(jiǎng)勵(lì)模型為裁判的情況,英偉達(dá)要求Nemotron-4-340B-Reward 預(yù)測(cè)每個(gè)(提示、響應(yīng))對(duì)的獎(jiǎng)勵(lì),并根據(jù)獎(jiǎng)勵(lì)決定偏好排序。
獎(jiǎng)勵(lì)基準(zhǔn)得分顯示以,獎(jiǎng)勵(lì)模型為裁判的準(zhǔn)確性,要高于以大語言模型為裁判。
特別是在Chat-Hard類別中,選擇的響應(yīng)和被拒絕的響應(yīng)難以區(qū)分,以獎(jiǎng)勵(lì)模型為裁判的表現(xiàn),要遠(yuǎn)優(yōu)于以大語言模型為裁判,平均準(zhǔn)確率為0.87對(duì)0.54。
在這個(gè)過程中,英偉達(dá)注意到:Chat-Hard類別的評(píng)分對(duì)于合成數(shù)據(jù)生成中的偏好排序特別重要。
因此,在后來的數(shù)據(jù)集迭代中,他們轉(zhuǎn)而使用以獎(jiǎng)勵(lì)模型為裁判。
從弱到強(qiáng)的迭代對(duì)齊
如前所述,高質(zhì)量的數(shù)據(jù)對(duì)于模型的對(duì)齊至關(guān)重要。
在數(shù)據(jù)合成過程中,需要一個(gè)對(duì)齊的大語言模型來準(zhǔn)確遵循指令。
這就引發(fā)了一系列重要的問題:哪個(gè)模型最適合作為生成器?生成器的強(qiáng)度與數(shù)據(jù)質(zhì)量之間有何關(guān)系?如何改進(jìn)數(shù)據(jù)生成器?
受到弱到強(qiáng)泛化的啟發(fā),英偉達(dá)開發(fā)了一種新穎的迭代方法,逐步優(yōu)化數(shù)據(jù)。這種方法結(jié)合了對(duì)齊訓(xùn)練與數(shù)據(jù)合成的優(yōu)勢(shì),使它們能夠相互增強(qiáng),并且持續(xù)改進(jìn)。
圖4展示了從弱到強(qiáng)的迭代對(duì)齊的工作流程。
首先,使用一個(gè)初始對(duì)齊模型來生成對(duì)話和偏好數(shù)據(jù)。然后,通過監(jiān)督微調(diào)和偏好調(diào)優(yōu),利用它們對(duì)更好的基礎(chǔ)模型進(jìn)行對(duì)齊。
有趣的是,英偉達(dá)發(fā)現(xiàn),教師模型并不會(huì)限制學(xué)生模型的上限——
隨著基礎(chǔ)模型和對(duì)齊數(shù)據(jù)的改進(jìn),新對(duì)齊的模型能夠顯著超過初始對(duì)齊模型。注意,對(duì)齊過程與基礎(chǔ)模型的預(yù)訓(xùn)練是并行進(jìn)行的。
在第一次迭代中,英偉達(dá)選擇了Mixtral-8x7B-Instruct-v0.1作為初始對(duì)齊模型,因?yàn)樗且粋€(gè)具有許可的強(qiáng)大模型。
生成的數(shù)據(jù)用于訓(xùn)練Nemotron-4-340B-Base的一個(gè)中間檢查點(diǎn),稱為340B-Interm-1-Base。
值得注意的是,340B-Interm-1-Base的表現(xiàn)優(yōu)于Mixtral 8x7B基礎(chǔ)模型,這反過來使得最終的340B-Interm-1-Instruct模型,能夠超過Mixtral-8x7B-Instruct-v0.1模型。
這就證明,可以通過弱監(jiān)督引出模型強(qiáng)大的能力。
在第二次迭代中,英偉達(dá)使用生成的340B-Interm-1-Instruct模型,作為新的數(shù)據(jù)生成器。
由于它比Mixtral-8x7B-Instruct-v0.1更強(qiáng),第二次迭代生成的合成數(shù)據(jù)質(zhì)量就更高。
生成的數(shù)據(jù)用于訓(xùn)練340B-Interm-2-Base模型,使其升級(jí)為340B-Interm-2-Chat模型。
這個(gè)迭代過程形成了一個(gè)自我強(qiáng)化的飛輪效應(yīng),改進(jìn)主要來自兩個(gè)方面——
(1)當(dāng)使用相同的數(shù)據(jù)集時(shí),基礎(chǔ)模型的強(qiáng)度直接影響指令模型的強(qiáng)度,基礎(chǔ)模型越強(qiáng),指令模型也越強(qiáng);
(2)當(dāng)使用相同的基礎(chǔ)模型時(shí),數(shù)據(jù)集的質(zhì)量決定了指令模型的效果,數(shù)據(jù)質(zhì)量越高,指令模型也越強(qiáng)。
在整個(gè)對(duì)齊過程中,英偉達(dá)進(jìn)行了多輪數(shù)據(jù)生成和改進(jìn),不斷提升模型的質(zhì)量。附加數(shù)據(jù)源
此外,英偉達(dá)還結(jié)合了多個(gè)補(bǔ)充數(shù)據(jù)集,以賦予模型特定的能力。主題跟隨
主題連貫性和細(xì)粒度指令跟隨是,指令模型的重要能力。
因此,英偉達(dá)結(jié)合了CantTalkAboutThis訓(xùn)練集,其中包括了覆蓋廣泛主題的合成對(duì)話,并故意插入干擾回合以分散聊天機(jī)器人對(duì)主要主題的注意力。
這就能幫助模型,在任務(wù)導(dǎo)向的交互中更好地專注于預(yù)定的主題。無法完成的任務(wù)
某些任務(wù)可能由于需要特定的能力(如互聯(lián)網(wǎng)訪問或?qū)崟r(shí)知識(shí))而無法由模型獨(dú)立完成。
為減少這種情況下的幻覺,英偉達(dá)采用少樣本方法,使用人類編寫的示例來提示大語言模型生成各種問題。
然后,他們會(huì)明確要求大語言模型以拒絕的方式回應(yīng),收集這些回應(yīng),并將其與相應(yīng)的問題配對(duì)。
這些配對(duì)數(shù)據(jù)就可以用于訓(xùn)練模型,讓它們能夠更好地處理無法完成的任務(wù)。
STEM數(shù)據(jù)集
Open-Platypus已被證明可以提高STEM和邏輯知識(shí)。因此,英偉達(dá)將具有許可的子集(如PRM800K、SciBench、ARB 、openbookQA)納入訓(xùn)練數(shù)據(jù)中?;谖臋n的推理和問答
基于文檔的問答是大語言模型的重要用例。
英偉達(dá)利用FinQA數(shù)據(jù)集提高了數(shù)值的推理能力,使用人工標(biāo)注數(shù)據(jù)提高了上下文問答的準(zhǔn)確性,并使用 wikitablequestions數(shù)據(jù)集,增強(qiáng)了模型對(duì)半結(jié)構(gòu)化數(shù)據(jù)的理解。函數(shù)調(diào)用
此外,英偉達(dá)還使用了一部分來自Glaive AI的樣本,以增強(qiáng)模型在函數(shù)調(diào)用方面的能力。對(duì)齊算法分階段的監(jiān)督微調(diào)
監(jiān)督微調(diào)(Supervised Fine-tuning,SFT)是模型對(duì)齊的第一步。
為了改善傳統(tǒng)SFT方法存在的缺陷,英偉達(dá)設(shè)計(jì)了一種兩階段的SFT策略,使模型能夠依次、有計(jì)劃地學(xué)習(xí)不同的行為。
結(jié)果顯示,這種方法在所有下游任務(wù)中都產(chǎn)生了更好的效果。代碼SFT
為了在不影響其他任務(wù)的情況下提高編碼和推理能力,英偉達(dá)選擇先在編碼數(shù)據(jù)上進(jìn)行SFT。
為了獲得大量的數(shù)據(jù),英偉達(dá)開發(fā)了一種名為Genetic Instruct的全新方法——通過對(duì)進(jìn)化過程的模擬,利用自我指令和向?qū)Ь幋a器突變,從少量高質(zhì)量種子生成大量合成樣本。
過程中,英偉達(dá)還引入了一種適應(yīng)度函數(shù),利用LLM評(píng)估生成指令及其解決方案的正確性和質(zhì)量。
然后,通過這些評(píng)估和檢查的樣本會(huì)被添加到種群池中,進(jìn)化過程會(huì)持續(xù)進(jìn)行,直到達(dá)到目標(biāo)種群規(guī)模。
最終,經(jīng)過廣泛的去重和過濾后,英偉達(dá)保留了大約80萬條樣本用于代碼SFT訓(xùn)練。通用SFT
第二階段,就是通用SFT了。
這里,英偉達(dá)采用的是一個(gè)包含20萬樣本的混合數(shù)據(jù)集。
為了減輕遺忘的風(fēng)險(xiǎn),數(shù)據(jù)混合中還包括了前一個(gè)代碼SFT階段的2%的代碼生成樣本。偏好微調(diào)
在完成監(jiān)督微調(diào)后,英偉達(dá)繼續(xù)通過偏好微調(diào)來改進(jìn)模型。
在這個(gè)階段,模型將學(xué)習(xí)偏好示例,其形式是:提示,選擇的響應(yīng),被拒絕的響應(yīng)。直接偏好優(yōu)化(DPO)
DPO算法通過優(yōu)化策略網(wǎng)絡(luò),來最大化選擇和被拒絕響應(yīng)之間的隱含獎(jiǎng)勵(lì)差距。
在策略學(xué)習(xí)區(qū)分選擇和被拒絕的響應(yīng)時(shí),可以觀察到,隨著差距的增加,選擇和被拒絕響應(yīng)的概率都在一致地下降,即使選擇的響應(yīng)是高質(zhì)量的。
根據(jù)經(jīng)驗(yàn),當(dāng)訓(xùn)練時(shí)間足夠長(zhǎng)時(shí),策略網(wǎng)絡(luò)容易過擬合,一個(gè)指標(biāo)(例如,MT-Bench)的改進(jìn)通常伴隨著其他指標(biāo)(例如,零樣本MMLU)的退化。
為了解決這些問題,英偉達(dá)在選擇的響應(yīng)上添加了加權(quán)的SFT損失,以補(bǔ)充原始的DPO損失。
額外的SFT損失有助于防止策略網(wǎng)絡(luò)大幅偏離偏好數(shù)據(jù),特別是因?yàn)槠脭?shù)據(jù)不是從參考策略生成的。
為了避免模型學(xué)習(xí)低質(zhì)量的選擇響應(yīng),當(dāng)沒有可用的真實(shí)值時(shí),英偉達(dá)使用了Nemotron-4-340B-Reward來挑選高質(zhì)量的選擇響應(yīng)示例。最終,這產(chǎn)生了一個(gè)包含16萬示例的偏好數(shù)據(jù)集。獎(jiǎng)勵(lì)感知偏好優(yōu)化(RPO)
為了解決DPO存在的過擬合問題,英偉達(dá)提出了一種新算法——獎(jiǎng)勵(lì)感知偏好優(yōu)化(RPO)。它嘗試使用由策略網(wǎng)絡(luò)定義的隱含獎(jiǎng)勵(lì)近似獎(jiǎng)勵(lì)差距。
基于此,便得到了一個(gè)新的損失函數(shù):
結(jié)果顯示,隨著RPO迭代次數(shù)的增加,模型還可以持續(xù)地在所有任務(wù)上獲得提升。
經(jīng)過三次RPO訓(xùn)練迭代后的檢查點(diǎn),就是最終的Nemotron-4-340B-Instruct。指令模型評(píng)估自動(dòng)基準(zhǔn)測(cè)試
英偉達(dá)對(duì)Nemotron-4-340B-Instruct進(jìn)行了全面的自動(dòng)基準(zhǔn)測(cè)試評(píng)估:
單輪對(duì)話:AlpacaEval 2.0 LC和Arena Hard
多輪對(duì)話:MT-Bench(GPT-4-Turbo)。需要注意的是,這是原始MT-Bench的修正版本,得分平均要低0.8分。
綜合基準(zhǔn)測(cè)試:MMLU(零樣本)
數(shù)學(xué):GSM8K(零樣本)
代碼:HumanEval(零樣本)和 MBPP(零樣本)上的Pass@1得分
指令跟隨:IFEval主題跟隨:TFEval
正如表5所示,Nemotron-4-340B-Instruct在當(dāng)前可用的開源模型中表現(xiàn)出色,具備很強(qiáng)的競(jìng)爭(zhēng)力。
對(duì)齊訓(xùn)練包括:代碼SFT、通用SFT、DPO和三輪RPO。
表6展示了模型最終的成績(jī),并量化了每個(gè)對(duì)齊階段的中間模型的性能:
CodeSFT階段顯著提高了HumanEval得分,從基礎(chǔ)模型的57.3提升到70.7;
接下來的通用SFT階段大幅提升了其他類別的準(zhǔn)確性,如MT-Bench和MMLU,盡管HumanEval得分略有下降;
DPO階段進(jìn)一步提升了大多數(shù)指標(biāo),但MT-Bench的得分略有下降;最后的RPO階段均勻地提升了所有指標(biāo)。特別是,MT-Bench得分從7.90增加到8.22,IFEval Prompt-Strict-Acc的得分從61.7增加到79.9。
人類評(píng)估
除了自動(dòng)評(píng)估外,英偉達(dá)模型進(jìn)行了人類評(píng)估。其中,標(biāo)注員被提供了136個(gè)提示,分為10個(gè)不同的任務(wù)類別。
基于「有用性」和「真實(shí)性」這兩個(gè)維度,英偉達(dá)詳細(xì)定義了5個(gè)質(zhì)量等級(jí)的具體內(nèi)容,從而在減少了主觀性的同時(shí),提升了可靠性。
在標(biāo)注設(shè)計(jì)中,每個(gè)提示都與固定模型集合中的三個(gè)不同響應(yīng)配對(duì)。每個(gè)提示的響應(yīng)順序是隨機(jī)的,所有提示和響應(yīng)都由同一組標(biāo)注員進(jìn)行評(píng)估。
標(biāo)注完成后,將評(píng)分轉(zhuǎn)換為相對(duì)于GPT-4-1106-preview的相對(duì)勝/平/負(fù)率。
從圖5中可以看到,除了提取和重寫任務(wù)外,Nemotron-4-340B-Instruct的勝率與GPT-4-1106-preview相當(dāng)或更好,特別是在多輪對(duì)話中表現(xiàn)出色。
整體來說,Nemotron-4-340B-Instruct的勝:平:負(fù)比率為28.19%:46.57%:25.24%。
從表7中則可以看到,與GPT-4-1106-preview相比,標(biāo)注員認(rèn)為Nemotron-4-340B-Instruct的響應(yīng)長(zhǎng)度更為合適(79.41%對(duì)74.02%)。
值得注意的是,這一優(yōu)勢(shì)主要來自較低的長(zhǎng)/冗長(zhǎng)響應(yīng)率(20.10%對(duì)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/
本文由人人都是產(chǎn)品經(jīng)理作者【新智元】,微信公眾號(hào):【新智元】,原創(chuàng)/授權(quán) 發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來自Unsplash,基于 CC0 協(xié)議。
- 目前還沒評(píng)論,等你發(fā)揮!