Hugging Face与ServiceNow合作开发开源代码生成模型StarCoder
Hugging Face和ServiceNow合作开发了StarCoder,这是一个新的开源代码生成语言模型。该模型是BigCode Initiative项目的一部分,基于StarCoderBase模型改进而来,训练了350亿个Python token。StarCoder作为一个免费的AI代码生成系统,是GitHub Copilot、DeepMind AlphaCode和Amazon CodeWhisperer的替代品。
StarCoder的技术细节
StarCoder在超过80种编程语言以及GitHub仓库的文本(包括文档和Jupyter编程笔记本)上进行了训练,训练了超过1万亿个token,上下文窗口为8192个token,模型参数达到155亿。它的性能超越了PaLM、LaMDA和LLaMA等更大的模型,并与OpenAI的code-Cushman-001等闭源模型相当甚至更好。
StarCoder的开源特性与社区贡献
StarCoder的联合领导者Leandro von Werra表示,尽管StarCoder不会像GitHub Copilot那样提供许多功能,但其开源特性允许社区帮助改进模型,并集成自定义模型。
StarCoder的局限性
由于StarCoder是在GitHub代码上进行训练的,因此在处理某些特定请求(如计算平方根的函数)时可能不是最优选择。然而,通过遵循屏幕上的指示,模型可以作为一个有用的技术辅助工具。模型使用“中间填充”方法来确定输入和输出的前缀、中间和后缀部分。预训练数据集仅包含具有宽松许可证的内容,使模型能够逐字生成源代码,但必须遵守代码许可证的归属要求和其他规定。
配套工具与使用建议
新的VSCode插件是一个有用的工具,可以在软件开发过程中与StarCoder进行交互。用户可以通过按下CTRL+ESC来检查当前代码是否包含在预训练数据集中。
法律与伦理限制
StarCoder像其他大型语言模型一样,存在生成不正确、不礼貌、欺骗性、年龄歧视、性别歧视或刻板印象信息的局限性。该模型在OpenRAIL-M许可证下发布,该许可证对其使用和修改设定了法律约束。
未来研究方向
研究人员通过将其与仅英语基准进行比较,评估了StarCoder的编码能力和自然语言理解能力。为了扩展这些模型的适用性,需要进一步研究代码生成模型在不同自然语言中的有效性和局限性。
AI编码工具的经济影响
根据剑桥大学的研究,工程师至少花费一半的时间进行调试,而不是主动开发,这预计每年给软件行业造成3120亿美元的成本。AI驱动的编码工具可以显著降低开发成本,使开发人员能够专注于更具创造性的项目。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。