Code Concepts:基於編程概念種子生成的大規模合成數據集
研究人員開發了一套概念驅動的工作流程,生成了 1500 萬個合成 Python 程式問題,並使 Nemotron-Nano-v3 模型在 HumanEval 基準測試中的得分提升了 6 分。這種方法利用編程知識的分層分類法,為大語言模型預訓練實現了可擴展且具針對性的數據生成。
Code Concepts:一個由程式設計概念種子生成的大規模合成數據集
在大規模大型語言模型(LLM)的開發中,提升模型品質不僅取決於數據量,還取決於數據的品質與針對性。雖然預訓練數據集通常包含廣泛的資訊,但往往缺乏強化特定技能(如推理或程式編寫能力)所需的導向性概念。為了應對這一挑戰,我們設計了一種可擴展、概念驅動的合成數據生成方法——這套工作流能讓研究人員生成與預期模型能力相符的數據。作為初步應用,我們構建了一個包含 1,500 萬個 Python 程式設計問題的預訓練規模合成數據集,並作為 Nemotron-Pretraining-Specialized-v1.1 數據集中的 Nemotron-Pretraining-Code-Concepts 子集發佈。我們展示了在 Nemotron-Nano-v3 預訓練最後 1,000 億個 token 中加入這些數據,能使 HumanEval 基準測試的成績提升 6 個百分點。
我們的工作流核心在於一套精選的程式設計知識分類法(Taxonomy),該分類法源自對 Nemotron-Pretraining-Code-{v1,v2} 數據集的大規模標註。這套分類法將數千個程式設計概念進行層次化組織,從基礎結構(如字串、遞迴)到進階演算法和數據結構模式。利用這套分類法,開發者可以透過選擇特定概念的組合與提煉來進行針對性的數據生成,使實驗者能夠控制生成數據的難度、多樣性以及概念平衡。
為了在實踐中評估此工作流,我們將其用於創建一個大規模合成數據集,旨在增強 LLM 預訓練中的基礎 Python 程式編寫技能。我們首先透過在分類法中對 HumanEval 的程式碼補全提示詞進行分類,識別出與該基準測試最相關(且仍具廣泛程式設計知識代表性)的 91 個核心概念。在這些概念組合的引導下,我們生成了約 1,500 萬個合成 Python 程式設計問題,每個問題都經過驗證為可運行的 Python 程式碼(使用 Python 的 ast.parse 函數)。圖 1 展示了應用我們的工作流合成 Code Concepts 數據集的視覺化摘要,圖 2 則展示了問題生成過程的視覺化,以及概念種子與合成問題對的範例。
圖 1:用於生成 Code Concepts 數據集的概念驅動數據生成流程。利用從 Nemotron-Pretraining-Code-{v1,v2} 數據集構建的分類法,我們從 HumanEval 提示詞中提取程式設計概念,並將其用於開放式生成。我們的工作流最終從 91 個不同的程式設計概念中衍生出約 1,500 萬個 Python 程式設計問題。

圖 2:作為概念驅動數據生成工作流一部分的 Python 程式設計問題生成視覺化表示。提示詞由概念組合(包含在藍色框中並使用點號表示法)、指令和一些約束條件構成。使用 GPT-OSS 120B 生成問題,然後進行解析和品質過濾。在此特定範例中,data-structures.sets.operation、algorithms.arrays.processing 和 algorithms.geometry.computational 的概念組合促成了一個問題,該問題涉及從一組點的所有足夠大的子集中計算不同的凸包(convex-hull)面積。

為了驗證這些生成的數據,我們在 Nemotron Nano-v3 預訓練的最後 1,000 億個 token 中加入了 100 億個 Code Concepts 數據集的 token。經過訓練與評估,我們發現所得模型的 HumanEval 準確度提升了 6 個百分點,從 73 提升至 79。圖 3 顯示了 Nemotron-Nano-v3 與使用 Code Concepts 數據集訓練後的 Nemotron-Nano-v3 基礎模型評估對比。除了量化增長外,定性評估顯示模型在各種程式設計概念(如圖演算法、集合操作)上表現更強,且在處理邊際案例和執行推理方面有所改進。
我們將此數據集視為對更廣泛的概念驅動生成工作流的驗證,而非一次性的產物。透過在寬鬆的開放許可證(CC-BY-4.0)下發佈數據集和底層分類法,我們希望社群能夠將此方法擴展到其他領域和案例,實現可擴展且具針對性的 LLM 預訓練。
圖 3:在使用約 100 億個 Code Concepts 數據 token 進行 1,000 億個 token 的數據消融實驗後獲得的基礎模型基準測試評估結果。在 Code Concepts 數據上訓練的模型在 HumanEval 上獲得了 6 個百分點的提升,而大多數其他基準測試保持不變。

社群
· 註冊或登入以發表評論