英伟达(Nvidia)、Hugging Face 和 ServiceNow 联手推出了 StarCoder2,一个先进的开放获取的大型语言模型(LLM)套件,旨在提升人工智能驱动的代码生成能力。
目前,StarCoder2 提供三种模型,经过对超过 600 种编程语言的训练,包括一些不太为人知的语言,帮助企业在开发工作流中简化各种编码任务。该模型是“开放大代码项目”(BigCode Project)的一部分,这是一个由 ServiceNow 和 Hugging Face 共同发起的合作项目,旨在倡导负责任地使用 LLM 进行编程,并以开放责任人工智能许可证(OpenRAIL)提供,无需支付版权费用。
“StarCoder2 体现了开放科学合作与负责任人工智能实践相结合的力量,”ServiceNow StarCoder2 开发团队负责人 Harm de Vries 表示。“这个尖端模型可以提升开发者的生产力,并为各规模组织实现编码生成人工智能的民主化,帮助他们充分挖掘商业潜力。”
StarCoder2:满足多样化需求的三种模型
原版 StarCoder LLM 只有一个 150 亿参数的模型,训练内容涵盖 80 种编程语言。相比之下,StarCoder2 引入了三种不同规模的模型——30 亿、70 亿和150 亿参数,经过对 619 种编程语言的训练。其训练数据集“The Stack”的规模是前身的七倍以上。
重要的是,新的训练技术显著提升了模型在低资源语言(如 COBOL)及数学表达式和程序源代码讨论方面的理解和生成能力。
30 亿参数模型使用了 ServiceNow 的 Fast LLM 框架,而 70 亿参数模型采用了 Hugging Face 的 nanotron 框架。这两种模型均旨在实现高效的文本转代码和文本转工作流生成,同时降低计算需求。150 亿参数模型则通过英伟达的 NeMo 云原生框架和 TensorRT-LLM 软件进行了优化。
协同创新:ServiceNow、Hugging Face 和英伟达
虽然这些模型在多种编码场景中的表现还有待进一步验证,但初步测试显示,30 亿模型的表现可与原版 150 亿参数的 StarCoder LLM 持平。企业团队可以根据自身数据对这些模型进行定制,应用于源代码生成、工作流自动化、代码补全、深入摘要和代码片段检索等特定任务。
模型经过广泛训练,提升了其提供准确和上下文意识预测的能力,从而加速开发过程,让工程师能够专注于更具挑战性的任务。
“每个软件生态系统都有其独特的编程语言,代码 LLM 能够在各行各业推动效率和创新的显著进步,”英伟达应用研究副总裁 Jonathan Cohen 指出。“我们与 ServiceNow 和 Hugging Face 的合作,提供安全且经过负责任开发的模型,让全球社区能够更便捷地访问可问责的生成式 AI。”
开始使用 StarCoder2
StarCoder2 系列的所有模型皆采用开放 RAIL-M 许可证,提供免费访问。支持代码可以在 BigCode 项目的 GitHub 仓库找到,模型也可以在 Hugging Face 下载。此外,150 亿模型可以通过英伟达 AI 基金会访问,允许开发者直接在浏览器中或通过 API 进行实验。
虽然 StarCoder 在 AI 驱动的代码生成领域具有重要意义,但它并非孤军奋战。OpenAI 的 Codex(为 GitHub Copilot 提供动力)、亚马逊的 CodeWhisper 以及 Replit、Codenium 等其他竞争者也在探索 LLM 在应用开发方面的潜力。