与 BigCode 社区共同创建的 StarCoder2 是在 600 多种编程语言上训练而成,它将推进代码生成、透明度、治理和创新
美国加利福尼亚州圣克拉拉 - 太平洋时间 2024 年 2 月 28 日 - ServiceNow(NYSE:NOW)、Hugging Face 和 NVIDIA 于今日发布 StarCoder2,其为一系列用于代码生成的开放获取大语言模型(LLM),将为性能、透明度和成本效益树立新标准。
StarCoder2 的联合开发者 BigCode 社区是由 ServiceNow 和 Hugging Face 共同管理。前者是一家领先的数字工作流公司,致力于为每个人创造更好的工作环境;后者则是最常用的开源平台,机器学习社区在该平台上就模型、数据集和应用程序开展合作。
在 619 种编程语言上训练而成的 StarCoder2,可接受进一步的训练并嵌入到企业应用中,以执行应用源代码生成、工作流生成、文本摘要等特定任务。开发者可以使用它的代码补全、高级代码摘要、代码片段检索等功能,加快创新速度及提高工作效率。
StarCoder2 提供三种规模的模型:由 ServiceNow 训练的 30 亿参数模型、由 Hugging Face 训练的 70 亿参数模型,以及由 NVIDIA 使用 NVIDIA NeMo 构建并在 NVIDIA 加速基础设施上训练的 150 亿参数模型。规模较小的模型由于参数较少,在推理过程中所需的计算量较少,可在提供强大性能的同时节省计算成本。实际上,新的 30 亿参数模型在性能上与原有的 StarCoder 150 亿参数模型不相上下。
ServiceNow 的 StarCoder2 开发团队负责人兼 BigCode 联合负责人 Harm de Vries 表示: “StarCoder2 证明了将开放式科学协作和负责任的 AI 实践与道德数据供应链相结合所产生的力量。这一极其先进的开放获取模型将提高已有生成式 AI 的性能和开发者的生产力,为开发者提供平等的机会,获得代码生成式 AI 的优势。这使任何规模的企业都能更加轻松地激发其全部业务潜力。”
Hugging Face 机器学习工程师兼 BigCode 联合负责人 Leandro von Werra 表示: “在 Hugging Face、ServiceNow 和 NVIDIA 的共同努力下,这套功能强大的基础模型终于问世。在数据和训练完全透明的情况下,社区能够更加高效地构建各种应用。StarCoder2 证明了开源和开放式科学的潜力,我们正在努力实现负责任 AI 的全民化。”
NVIDIA 应用研究副总裁 Jonathan Cohen 表示: “由于每个软件生态系统都有专门的编程语言,代码 LLM 可以推动各行业效率和创新方面的突破。NVIDIA 与 ServiceNow 和 Hugging Face 的合作带来了安全且负责任的模型,让更多人能够用上负责任的生成式 AI,我们相信这将使全球社区受益。”
StarCoder2 模型为自定义应用开发增添强大助力
StarCoder2 模型均使用来自 BigCode 的先进架构和精心挑选的数据源。为了实现负责任的大规模创新,数据源的透明度和开放治理被放在第一位。
StarCoder2 提升了未来由 AI 驱动的编码应用的潜力,包括各种文本-代码和文本-工作流转换功能。通过更加广泛、深入的编程训练,它可以提供资源库上下文,从而实现准确的上下文感知预测。无论是经验丰富的软件工程师还是业余开发者等,都能利用这些进步提升业务价值和推动数字化转型。
StarCoder2 的基础是一个名为 Stack v2 的新代码数据集,该数据集规模比 Stack v1 大 7 倍多。除了先进的数据集之外,新的训练技术也有助于模型理解低资源编程语言(如 COBOL 等)、数学和程序源代码讨论。
使用特定业务数据对先进功能进行微调
用户可以使用 NVIDIA、NeMo 或 Hugging Face TRL 等开源工具,利用特定行业或组织的数据,对开放获取的 StarCoder2 模型进行微调。可以创建高级聊天机器人来处理更复杂的摘要或分类任务、开发能够快速且轻松地完成编程任务的个性化编码助手、检索相关代码片段,并实现文本-工作流转换功能。
为创建适合自身业务的特定任务功能,各企业已经开始对 StarCoder 基础模型进行微调。
ServiceNow 的文本-代码 Now LLM 就是在 150 亿参数 StarCoder LLM 的专用版本上构建而成的,并针对其工作流模式、用例和流程进行了微调和训练。Hugging Face 也使用该模型创建了自己的 StarChat 助手。
BigCode 促进 AI 领域的开放式科学协作
BigCode 是一个由 Hugging Face 和 ServiceNow 领导的开放式科学协作社区,致力于负责任的代码 LLM 开发。
BigCode 社区以工作组和特别任务组的形式积极参与 StarCoder2 项目的技术工作,分别使用 ServiceNow 的 Fast LLM 框架来训练 30 亿参数模型、使用 Hugging Face 的 nanotron 框架来训练 70 亿参数模型,以及 NVIDIA NeMo 云原生框架和 NVIDIA TensorRT-LLM 软件来训练和优化 150 亿参数模型。
BigCode 的核心宗旨是促进负责任的创新,其开放的治理、透明的供应链、开源软件的使用,以及让开发者选择数据不用于训练等做法都体现了这一点。StarCoder2 是在获得 Inria 托管的 Software Heritage 数字共享许可下,使用负责任的数据构建而成的。
Software Heritage 总监 Roberto Di Cosmo 表示: “StarCoder2 是首个使用 Software Heritage 源代码存档开发的代码生成式 AI 模型,其构建方式符合我们负责任地开发代码模型的政策。ServiceNow、Hugging Face 和 NVIDIA 的这一合作体现了对道德 AI 开发的共同承诺,引领技术朝着更崇高的利益发展。”
StarCoder2 与其前代一样,将在 BigCode Open RAIL-M 许可下免费提供访问和使用。为进一步促进透明度和协作,该模型的支持代码将继续保留在 BigCode 项目的 GitHub 页面上。
所有 StarCoder2 模型还可以在 Hugging Face 上下载。StarCoder2 150 亿参数模型通过 NVIDIA AI Foundation 模型提供,开发者可以直接在浏览器上或通过 API 端点进行试用。
欲了解关于 StarCoder2 的更多信息,请访问:https://huggingface.co/bigcode。