概述
Their paper documents training data and model capabilities, while the OpenRAIL-M license permits use subject to stated restrictions.
深入探讨
The 2023 BigCode paper introduced StarCoderBase and StarCoder as 15.5-billion-parameter code models with an 8,000-token context. StarCoderBase was pretrained on about one trillion tokens from The Stack, and StarCoder was produced by further fine-tuning StarCoderBase on 35 billion Python tokens. The paper describes fill-in-the-middle training, multi-query attention, data documentation, opt-out mechanisms, and release under BigCode’s OpenRAIL-M license. StarCoder2 is a later, separate model family introduced in 2024.
现实世界的实施
在 IDE 插件和编辑器扩展中支持自动完成和代码完成建议
从自然语言注释生成样板函数、单元测试和文档字符串
在企业代码库内的编程语言之间翻译或重构代码
为无法将专有代码发送到封闭云 API 的组织提供自托管编码助手
ServiceNow 和 StarCoder 的未来
代码模型正在向代理工作流程发展,它们不仅可以自动完成,还可以计划、运行测试并修复自己的输出。 StarCoder2 在使用 Software Heritage 构建的更大 Stack v2 数据集上进行了训练,指向更广泛的语言覆盖范围和更好的数据来源。随着对代码训练模型的法律审查的加强,以及与企业开发者平台的更紧密集成,预计将继续强调透明的训练数据、选择退出机制和许可清晰度。
付诸实践
为什么这很重要
- 供应商策略. 供应商路线图会影响您的团队接下来可以构建的功能。
- 成本与预算. 商业条款和部署选项会影响长期成本和风险。
- 风险与安全. 公司激励措施塑造了产品默认、安全态势和开放性。
留意
- 发布公告可能会超过实际生产工作流程的稳定性。
- API 定价或政策转变可能会在一夜之间打破假设。
- 单一供应商依赖性增加了锁定和迁移成本。
后续步骤
- 使用您自己的任务和数据集评估提供商。
- 在集成之前查看隐私、安全和法律条款。
- 维护跨模型或供应商的后备计划。
- 监控发行说明,以便路线图的更改不会让团队感到意外。
不断探索
常见问题
What is ServiceNow and StarCoder?
The original StarCoder models were developed by the BigCode collaboration, co-led by ServiceNow Research and Hugging Face. Their paper documents training data and model capabilities, while the OpenRAIL-M license permits use subject to stated restrictions.
哪两个组织共同领导了产生 StarCoder 的 BigCode 项目?
BigCode 是由 ServiceNow Research 和 Hugging Face 共同领导的一项协作项目,旨在构建开放、负责任开发的代码模型。
Which dataset was used for StarCoderBase pretraining?
StarCoderBase was pretrained on The Stack, a large collection of permissively licensed source code.
什么训练技术可以让 StarCoder 使用光标两侧的上下文完成代码?
中间填充训练会对文档重新排序,以便模型学习在给定前后上下文的情况下生成缺失的范围。
旗舰 StarCoderBase 模型大约有多大?
StarCoderBase 拥有大约 155 亿个参数,按照前沿标准来看,这个参数并不多,但对于代码任务的规模而言,参数却很强大。
StarCoder 使用哪种注意力优化来减少内存并加速推理?
StarCoder 使用多查询注意力,跨头共享键和值投影来减少内存并加速长上下文推理。