合成數據已成為大語言模型 (LLM) 后訓練程序的標準組成部分。使用從單個或一組經商業許可的開源 LLM 中合成生成的大量示例,通過監督微調或 RLHF 對基礎 LLM 進行微調,以獲得指導遵循和推理技能。這個過程可以被視為一個知識蒸餾過程,從一組 LLM 教師到目標 LLM 學生。
NVIDIA 最近開源了 Llama-Nemotron 后訓練數據集 ,該數據集包含 3000 萬個合成訓練示例,支持改進數學、代碼、一般推理、函數調用和指令遵循功能。作為證據,NVIDIA 使用此數據集訓練并發布了三個模型:
每個模型在其各自權重類別內的推理和代理式任務中都具有領先的準確性。
此數據集版本代表著模型開發和改進在開放性和透明度方面的重大進步。除了訓練方法、工具和最終模型權重之外,NVIDIA 還發布了完整的訓練集,為這種方法的重建和改進提供支持。數據集托管在 Hugging Face 上。
數據混合?
Llama-Nemotron 數據集由大約 3000 萬個樣本組成,分布在以下廣泛類別中:
類別 | 樣本數量 |
數學 | 19,840,970 (~1M unique prompts) |
代碼 | 小行星 9612677 |
科學 | 708920 |
以下說明 | 56339 |
聊天 | 39792 |
安全性 | 30426 |
這些樣本來自以下發行版中的一系列開源商業許可模型。
模型 | 樣本數量 |
Llama-3.3-70B-Instruct | 420021 |
Llama-3.1-Nemotron-70B-Instruct | 31218 |
Llama-3.3-Nemotron-70B – 反饋/ 編輯/ 選擇 | 小行星 22644 |
Mixtral-8x22B-Instruct-v0.1 | 30426 |
DeepSeek-R1 | 1212994 |
Qwen-2.5-Math-7B-Instruct | 19840970 |
Qwen-2.5-Coder-32B-Instruct | 8917167 |
Qwen-2.5-72B-Instruct | 464658 |
Qwen-2.5-32B-Instruct | 71748 |
提示來自公開和開放的語料庫,或合成生成的。提取提示,然后根據質量和復雜性進行篩選,或者生成提示以滿足質量和復雜性要求。其中包括過濾,例如刪除不一致的提示、易于猜測的答案提示以及語法錯誤的提示。
響應由各種模型綜合生成,其中一些提示包含對打開和關閉模式推理的響應,以訓練模型區分兩種模式。
聊天數據管護?
對于聊天數據,提示來自公開、真實的用戶交互 (wildchat) 和合成數據生成管道。合成提示詞涵蓋開放式 QA、封閉式 QA 和創意寫作等各種任務。
對于每個提示任務,我們都會為 LLM 生成各種主題或關鍵字,以便提示涵蓋各種主題。在回復方面,我們對 LLM 進行了多代推薦,然后使用 Llama-3.1-Nemotron-70B 獎勵模型進行了拒絕采樣。這確保了回復的高質量。
為創建 LLama-Nemotron 30M 數據集,我們使用 Llama-3.3-70B-instruct 和 DeepSeek R1 模型作為響應生成器(圖 1)。

要重現此聊天數據收集工作流,請按照 /NVIDIA/NeMo-Curator 教程 notebook 操作。
數學數據管護?
為了構建數據集中以數學為重點的部分,我們開發了一個全面的流程,用于收集和處理 Art of Problem Solving 社區論壇中的數學問題。
我們的方法涉及基于 LLM 的處理的幾個階段,除非另有說明,否則使用 Qwen2.5-32B-Instruct 模型:
- 問題提取:我們提示 LLM 識別并從最初的論壇帖子中提取所有問題。雖然大多數帖子包含一個問題,但有些帖子包含多個問題,或者根本不包含任何問題。
- 問題分類 :每個提取的問題都分為證明或非證明,以及多項選擇或非多項選擇類別。
- 問題轉換 :對于驗證問題,我們將其轉換為基于答案的問題,需要類似的問題解決技術。通過刪除選擇并在必要時重新表述問題,所有多選題都可轉換為直接回答問題。
- 答案提取 :對于非 proof 問題,我們嘗試從論壇討論(如果可用)中提取最終答案。
- 基準消除污染 :我們使用 lmsys 流程 刪除了與熱門數學基準非常相似的問題,以確保公平評估基于這些數據訓練的模型。
- 解決方案生成 :對于每個問題,我們混合使用多個開放式 LLMs ( Qwen2.5-7B-Math-Instruct , QwQ-32B , DeepSeek-R1 ) 生成多個解決方案。
- 解決方案驗證 :我們僅選擇達到正確最終答案 (提取時) 或與多數投票保持一致 (最終答案未知時) 的解決方案。我們使用 LLM-as-a-judge 來驗證答案的正確性。
此工作流使用 /NVIDIA/NeMo-Skills 實施,這是一系列用于提高 LLM 技能的工作流。此工具包最初專注于解決數學問題的能力,但現在也可以支持任何基于 LLM 的合成數據生成任務。
編碼數據管護?
為了構建用于推理代碼生成的監督式微調數據集,我們使用了 CodeContests 數據集中公開提供的編程問題。我們的方法涉及以下主要階段:
- 基準去污:我們刪除了與熱門代碼基準 (HumanEval、MBPP、LiveCodeBench 和 BigCodeBench) 中的問題非常相似的問題。我們使用 lmsys 去污劑 來確保所有問題都不會轉述這些基準測試中存在的問題。
- 響應生成 :我們提示 DeepSeek-R1 為編程問題生成多個響應。在最大輸出序列長度為 16K token 的情況下,我們為每個問題生成了 32–40 個響應。
- 推理跟蹤和解決方案驗證 :我們保留了由完整推理跟蹤組成的響應,然后是包含解決方案代碼的輸出序列。我們解析了解決方案代碼,以驗證其語法正確性。
與數學數據一樣,代碼數據也使用 /NVIDIA/NeMo-Skills 中的管道進行篩選。
立即訓練模型?
Llama-Nemotron 數據集的公開發布再次肯定了 NVIDIA 對開源 AI 開發的承諾。我們希望開源社區能夠接受并改進我們的方法。從 Meta 的 Wildflower 平臺或 Hugging Face 下載開放式 Llama-Nemotron 數據集,以構建或微調您的推理模型。
您可以開始復制這些工作流,使用 NeMo Curator 和 NeMo-Skills 為您的應用整理數據集,然后使用 NeMo 框架或 NeMo Customizer 微服務微調模型。
?