中文

StarCoder 2 与 The Stack v2:下一代

软件工程 2024-03-01 v1 人工智能

摘要

BigCode 项目是一个专注于负责任地开发代码大型语言模型(Code LLMs)的开放科学合作项目,推出了 StarCoder2。与 Software Heritage (SWH) 合作,我们在其源代码档案的数字公共资源之上构建了 The Stack v2。除了涵盖 619 种编程语言的 SWH 仓库外,我们还精心选择了其他高质量数据源,例如 GitHub 拉取请求、Kaggle 笔记本和代码文档。这产生了一个比第一个 StarCoder 数据集大 4 倍的训练集。我们在 3.3 到 4.3 万亿个 token 上训练了具有 3B、7B 和 15B 参数的 StarCoder2 模型,并在一个全面的 Code LLM 基准测试集上对其进行了彻底评估。我们发现,我们的小模型 StarCoder2-3B 在大多数基准测试中优于其他类似规模的 Code LLM,并且也优于 StarCoderBase-15B。我们的大模型 StarCoder2-15B 显著优于其他同等规模的模型。此外,它匹配或超越了规模是其两倍以上的 CodeLlama-34B。尽管 DeepSeekCoder-33B 在高资源语言的代码补全方面是表现最佳的模型,但我们发现 StarCoder2-15B 在数学和代码推理基准测试以及若干低资源语言上优于它。我们在 OpenRAIL 许可下提供模型权重,并通过发布源代码数据的 Software Heritage 持久标识符 (SWHIDs) 确保训练数据的完全透明。

关键词

引用

@article{arxiv.2402.19173,
  title  = {StarCoder 2 and The Stack v2: The Next Generation},
  author = {Anton Lozhkov and Raymond Li and Loubna Ben Allal and Federico Cassano and Joel Lamy-Poirier and Nouamane Tazi and Ao Tang and Dmytro Pykhtar and Jiawei Liu and Yuxiang Wei and Tianyang Liu and Max Tian and Denis Kocetkov and Arthur Zucker and Younes Belkada and Zijian Wang and Qian Liu and Dmitry Abulkhanov and Indraneil Paul and Zhuang Li and Wen-Ding Li and Megan Risdal and Jia Li and Jian Zhu and Terry Yue Zhuo and Evgenii Zheltonozhskii and Nii Osae Osae Dade and Wenhao Yu and Lucas Krauß and Naman Jain and Yixuan Su and Xuanli He and Manan Dey and Edoardo Abati and Yekun Chai and Niklas Muennighoff and Xiangru Tang and Muhtasham Oblokulov and Christopher Akiki and Marc Marone and Chenghao Mou and Mayank Mishra and Alex Gu and Binyuan Hui and Tri Dao and Armel Zebaze and Olivier Dehaene and Nicolas Patry and Canwen Xu and Julian McAuley and Han Hu and Torsten Scholak and Sebastien Paquet and Jennifer Robinson and Carolyn Jane Anderson and Nicolas Chapados and Mostofa Patwary and Nima Tajbakhsh and Yacine Jernite and Carlos Muñoz Ferrandis and Lingming Zhang and Sean Hughes and Thomas Wolf and Arjun Guha and Leandro von Werra and Harm de Vries},
  journal= {arXiv preprint arXiv:2402.19173},
  year   = {2024}
}