NVIDIA发布Code Concepts数据集 用概念驱动合成显著提升LLM编程能力

23 阅读3分钟前沿
NVIDIA发布Code Concepts数据集 用概念驱动合成显著提升LLM编程能力

背景与动机

在大规模语言模型的预训练阶段,数据量虽重要,但数据的概念针对性往往决定模型在特定能力上的上限。传统代码语料库覆盖面广,却缺乏对关键编程概念(如递归、图算法)的系统强化。为弥补这一短板,NVIDIA提出了一套基于概念种子的合成数据生成工作流,旨在让研究者能够按需控制难度、覆盖度与多样性。

方法概述

  1. 概念层次库构建:从Nemotron‑Pretraining‑Code‑v1/v2两套数据中抽取并手工标注上千个编程概念,形成层级化 taxonomy。
  2. 概念筛选:通过将HumanEval 的提示映射至 taxonomy,挑选出 91 个对该基准最关键的概念。
  3. 种子组合生成:将概念以点号记法组合(如 data-structures.sets.operation),配合指令与约束,交由 GPT‑OSS 120B 生成完整的编程问题。
  4. 质量过滤:使用 Python 的 ast.parse 对生成代码进行语法解析,剔除无法执行或结构异常的样本。

“概念驱动的生成流程让我们能够在保持数据多样性的同时,精准对齐模型能力需求。”——NVIDIA 研发团队

数据集规模与特性

  • 规模:约 15 百万条合成 Python 编程题目。
  • 概念覆盖:全部来源于 91 种核心概念,涵盖字符串处理、递归、图算法、集合操作等。
  • 质量保障:每条记录均通过语法解析与自动化测试,确保可直接运行。
  • 许可证:CC‑BY‑4.0,支持任意商业或学术再利用。

实验结果

在 Nemotron‑Nano‑v3 的 100 B token 预训练中,加入约 10 B token(即 10%)的 Code Concepts 数据后,模型在 HumanEval 上的准确率从 **73%**提升至 79%,实现 6 分的绝对增益。其他通用基准(如 MBPP、MBPP‑Code)保持基本不变,说明增益高度聚焦于编程推理能力。图 3(原文)进一步展示了在图算法、集合操作等细分概念上的表现提升。

开源与社区影响

NVIDIA 同时公开了概念 taxonomy 与数据生成脚本,社区可以基于相同框架扩展至其他编程语言或任务(如代码解释、单元测试生成)。该工作流的成功示例为概念驱动的合成数据提供了可复制的路径,预计将在大模型预训练、特定技能微调以及教学数据构建等多场景产生连锁效应。


关键要点

  • 通过概念层次库实现数据的精准定位。
  • 合成数据量 15 M、概念种类 91,覆盖从基础到高级的编程技能。
  • 在 HumanEval 上实现 6 点提升,验证了质量优先的合成策略。
  • 数据与工具完全开源,为行业提供可复用的创新范式。
本文是对第三方新闻源的主观解读。消息可能出现过时、不准确、歧义或错误的地方,仅供参考使用。点击此处查看消息源。