Skip to content

Latest commit

 

History

History
20 lines (15 loc) · 2.12 KB

2402.19173.md

File metadata and controls

20 lines (15 loc) · 2.12 KB

背景

  • 背景
    该论文描述了开放科学合作项目BigCode,特别是其中的The Stack v2和StarCoder2的发展过程。BigCode项目由ServiceNow和Hugging Face共同管理,它关注的是代码大型语言模型(LLMs)的开放和负责任的发展。

  • 已有的工作 相较于其他项目未透露的训练数据,BigCode提供了一个完全打开的发展途径,包括发布训练数据、训练框架和评估工具集。

核心贡献

  • 提出了一个新的训练数据集和两代StarCoder模型
    • 挑战1:数据集的质量和多样性 数据集中包括了超过600种编程语言的源代码、GitHub问题、拉取请求、Kaggle和Jupyter笔记本等,论文中奠定了高质量的开放式数据源所带来的重要性,并通过去重、低质量代码的过滤、敏感信息的剔除和恶意代码的移除来处理数据,确保训练集的品质。

    • 挑战2:有效的训练过程设计 尽管现有研究中有关于计算最佳训练数量的建议(Chinchilla,即Harm’s law),该项目推动了大量的训练代币,使用3B、7B、15B参数的Code LLMs,并实施一个两阶段的训练过程,即使是相对小的模型也在3.3到4.3万亿代币的范围内进行训练。

实现与部署

在一系列代码LLM基准测试中评估模型性能,发现StarCoder2的各模型(3B、7B、15B参数)在大部分测试中表现优异,尤其是15B参数的模型,在低资源编程语言和需要推理的基准上超过了其他类似规模的模型。这表明了采用的训练数据集和训练流程能够有效提升模型质量。此外,这种性能评估也使得该技术报告中的研究可以与其他相关工作进行对比,证明了其相对于替代方案的优势。

总结

本论文提出了The Stack v2和StarCoder2的发展过程,这是基于代码大规模预训练和指令微调的一项工作。研究人员通过整合多样化数据源和经过精心设计的训练过程,显著提高了代码LLMs的性能,特别是在处理低资源编程语言和需要代码推理的任务上。