近日,ServiceNow.、Hugging Face和Nvidia联合发布了StarCoder2,这是他们合作的StarCoder系列开源大型语言模型的最新版本,专门用于代码生成。
据悉,StarCoder2在性能上相较于前一代模型有了显著提升,不仅速度更快,而且更加灵活。此外,该模型还加入了防止侵犯知识产权的功能,以满足开发者和企业在使用过程中的安全需求。
StarCoder2在619种编程语言上进行了训练,是由ServiceNow和Hugging Face共同管理的研究项目BigCode社区合作开发的。该模型的基础是一个名为Stack v2的新代码数据集,其规模比Stack v1大了七倍多。这个新的数据集还包含了一些训练技巧,有助于模型理解低资源编程语言,如Cobol、数学和程序源代码讨论。
StarCoder2具有多种应用场景,可以进行微调并嵌入到企业应用中,执行诸如源代码生成、工作流生成和文本摘要等任务。开发者可以利用该模型的代码补全、代码摘要、代码片段检索等功能,提高编写代码的效率。
为了满足不同用户的需求,StarCoder2提供了三种尺寸的模型供选择:一个由ServiceNow训练的30亿参数模型,一个由Hugging Face训练的70亿参数模型,以及一个由Nvidia使用其NeMo生成式AI框架构建并在Nvidia基础设施上训练的150亿参数模型。较小的变体可以在消费级图形处理器上运行,同时节省计算成本。
值得一提的是,StarCoder2的30亿参数模型在性能上与原始StarCoder的150亿参数模型相匹配,并且可以做出更准确的预测。这是因为在更大的语言语料库上进行训练使得模型能够提供更好的上下文感知的预测。
随着软件开发领域对AI的需求不断增长,部分受到GitHub的Copilot和Amazon Web Services的CodeWhisperer等早期成功案例的推动,AI编码工具已成为开发者的重要助手。然而,近期的一项GitHub调查发现,尽管91%的美国开发者使用AI编码工具,但仍有近四分之一的开发者对AI的价值持怀疑态度,28%的人表示他们的雇主禁止使用AI。
针对这些担忧,三家赞助公司强调了StarCoder2的透明度。该模型使用Software Heritage授权的负责任的数据源构建而成,Software Heritage托管了它所称的最大的公共源代码集合。模型的支持代码将驻留在BigCode项目的GitHub页面上,并以BigCode OpenRAIL-M许可证提供免版税的访问和使用。虽然这个许可证具有许多开源特征,但在技术上并不是一个完全的开源许可证。RAIL-M强加了一些限制,禁止许可软件提供医疗咨询或执行司法等功能。此外,所有StarCoder2模型都可以从Hugging Face下载,而150亿参数模型则可以在Nvidia AI Foundation模型上获取。