公司指南

ServiceNow 和 StarCoder

StarCoder 是一个开放的大型代码语言模型,由 ServiceNow Research 和 Hugging Face 通过 BigCode 项目构建。

阅读时间:2分钟最后更新

概述

It matters because it brought a permissively licensed, transparently trained coding assistant to a field dominated by closed models.

深入探讨

StarCoder 是由 ServiceNow Research 和 Hugging Face 共同领导的 BigCode 于 2023 年 5 月发布的一系列代码生成模型。旗舰产品 StarCoderBase 是一个包含 155 亿个参数的模型,使用来自 The Stack 的大约 1 万亿个令牌进行训练,Stack 是一个涵盖 80 多种编程语言的许可源代码的大型数据集。一个关键的显着特征是其 8,000 个令牌上下文窗口和中间填充训练,使其能够在给定前一行和后一行的情况下完成代码,而不仅仅是向前预测。 BigCode 强调数据治理:它发布了训练数据,为开发人员提供了选择退出工具,并在负责任的 OpenRAIL-M 许可证下发布了模型。 StarCoder2 于 2024 年发布,覆盖范围扩大到 600 多种语言。

技术洞察

StarCoder 使用具有多查询注意力的仅解码器变压器,它在注意力头之间共享键和值投影,以减少内存使用并加速长上下文长度的推理。它使用“中间填充”进行训练,其中文档被随机分割和重新排序,以便模型学习根据周围代码生成缺失的范围。这使得它非常适合 IDE 自动完成,其中上下文存在于光标两侧。

战略影响

供应商策略

供应商路线图会影响您的团队接下来可以构建的功能。

成本与预算

商业条款和部署选项会影响长期成本和风险。

风险与安全

公司激励措施塑造了产品默认、安全态势和开放性。

ServiceNow 和 StarCoder 的未来

代码模型正在向代理工作流程发展,它们不仅可以自动完成,还可以计划、运行测试并修复自己的输出。 StarCoder2 在使用 Software Heritage 构建的更大 Stack v2 数据集上进行了训练,指向更广泛的语言覆盖范围和更好的数据来源。随着对代码训练模型的法律审查的加强,以及与企业开发者平台的更紧密集成,预计将继续强调透明的训练数据、选择退出机制和许可清晰度。

现实世界的实施

在 IDE 插件和编辑器扩展中支持自动完成和代码完成建议

从自然语言注释生成样板函数、单元测试和文档字符串

在企业代码库内的编程语言之间翻译或重构代码

为无法将专有代码发送到封闭云 API 的组织提供自托管编码助手

风险与防护栏

发布公告可能会超过实际生产工作流程的稳定性。

API 定价或政策转变可能会在一夜之间打破假设。

单一供应商依赖性增加了锁定和迁移成本。

实施路线图

1

使用您自己的任务和数据集评估提供商。

2

在集成之前查看隐私、安全和法律条款。

3

维护跨模型或供应商的后备计划。

4

监控发行说明,以便路线图的更改不会让团队感到意外。

不断探索

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the ServiceNow and StarCoder quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

开始测验

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

下一个指南

LAION 和开放数据集

常见问题

What is ServiceNow and StarCoder?

StarCoder 是一个开放的大型代码语言模型,由 ServiceNow Research 和 Hugging Face 通过 BigCode 项目构建。这很重要,因为它将一个经过许可许可、经过透明培训的编码助理带入了一个由封闭模型主导的领域。

哪两个组织共同领导了产生 StarCoder 的 BigCode 项目?

BigCode 是由 ServiceNow Research 和 Hugging Face 共同领导的一项协作项目,旨在构建开放、负责任开发的代码模型。

用于训练 StarCoder 的许可源代码数据集的名称是什么?

StarCoder 在 The Stack 上进行了培训,这是一个包含 80 多种语言的许可代码的大型语料库。

什么训练技术可以让 StarCoder 使用光标两侧的上下文完成代码?

中间填充训练会对文档重新排序,以便模型学习在给定前后上下文的情况下生成缺失的范围。

旗舰 StarCoderBase 模型大约有多大?

StarCoderBase 拥有大约 155 亿个参数,按照前沿标准来看,这个参数并不多,但对于代码任务的规模而言,参数却很强大。

StarCoder 使用哪种注意力优化来减少内存并加速推理?

StarCoder 使用多查询注意力,跨头共享键和值投影来减少内存并加速长上下文推理。