核心观点:代码LLM的瓶颈不在模型架构,而在训练数据。NVIDIA用500万条带测试验证的代码指令数据证明:当每条数据都有单元测试保驾护航时,”量”和”质”可以兼得。
代码指令数据的困境训练一个好的代码助手,需要什么样的数据?理想情况下,每条数据应该包含:一个清晰的编程问题、一个正确的解决方案、以及验证方案正确性的测试用例。
现实中,大多数代码指令数据集只有问题和答案,没有测试。这意味着你无法自动验证”答案是否真的能运行”。模型在这样的数据上训练,可能学会了生成”看起来对”但实际有bug的代码。
OpenCodeInstruct的核心差异化就在这里:每条数据都配备了单元测试和执行反馈。
500万条,每条都经过验证OpenCodeInstruct包含500万个编程问答对,未压缩约19GB。每个样本的结构远比传统代码数据集丰富:
字段
说明
input
编程问题描述
ou...