[博客翻译]StarCoder 2是一种代码生成AI,可在大多数gpu上运行


原文地址:https://techcrunch.com/2024/02/28/starcoder-2-is-a-code-generating-ai-that-runs-on-most-gpus/

代码地址:https://github.com/bigcode-project/starcoder2

开发者们正以惊人的速度采用AI驱动的代码生成器——例如GitHub Copilot、Amazon CodeWhisperer以及Meta的Code Llama等开放获取模型。然而,这些工具远非理想。许多并非免费,其他虽然免费,但其许可却限制了它们在普遍商业场景中的使用。感知到对替代品的需求,AI初创企业Hugging Face几年前与工作流自动化平台ServiceNow合作,创建了StarCoder,这是一个开源代码生成器,其许可比其他一些产品更为宽松。最初的版本在去年初上线,并且自那时起,一直在开发StarCoder 2。

GettyImages-1439425791-1.webp

StarCoder 2不是单一的代码生成模型,而是一个系列。今天发布的它包括三个变体,前两个可以在大多数现代消费级GPU上运行:

  • 由ServiceNow训练的30亿参数(3B)模型
  • 由Hugging Face训练的70亿参数(7B)模型
  • 由Nvidia训练的150亿参数(15B)模型,Nvidia是StarCoder项目的最新支持者

(注意:“参数”是模型从训练数据中学习到的部分,基本上定义了模型在问题上的技能,在这里是生成代码。)

与大多数其他代码生成器一样,StarCoder 2可以建议如何完成未完成的代码行,以及在用自然语言询问时总结和检索代码片段。StarCoder 2使用的训练数据是原始StarCoder的4倍(67.5TB对比6.4TB),Hugging Face、ServiceNow和Nvidia表示,StarCoder 2在降低运营成本的同时,提供了“显著”改善的性能。

StarCoder 2可以在几小时内使用像Nvidia A100这样的GPU,针对第一方或第三方数据进行微调,以创建诸如聊天机器人和个人编码助手等应用程序。而且,因为它是基于比原始StarCoder更大、更多样化的数据集训练的(约619种编程语言),StarCoder 2可以做出更准确、更有上下文意识的预测——至少从理论上讲。

“StarCoder 2特别为需要快速构建应用程序的开发者而设计,”ServiceNow的StarCoder 2开发团队负责人Harm de Vries在接受TechCrunch采访时说。“利用StarCoder 2的能力,开发者可以使编码更高效,而不会牺牲速度或质量。”

现在,我敢说并不是每个开发者都会同意de Vries关于速度和质量的观点。代码生成器承诺简化某些编码任务——但代价是昂贵的。

斯坦福大学的一项最新研究发现,使用代码生成系统的工程师在开发应用程序时更有可能引入安全漏洞。此外,来自网络安全公司Sonatype的一项调查显示,大多数开发者担心缺乏对代码生成器产生代码的洞察力,以及生成器产生的代码过多而难以管理的“代码蔓延”。

StarCoder 2的许可证也可能对一些人来说是个障碍

StarCoder 2是根据BigCode Open RAIL-M 1.0许可证授权的,该许可证旨在通过对模型许可证持有者和下游用户施加“轻触式”限制来促进负责任的使用。虽然比许多其他许可证更宽松,但RAIL-M并不是真正的“开放”,因为它不允许开发者将StarCoder 2用于所有可想象的应用程序(例如,严格禁止用于提供医疗建议的应用程序)。一些评论员说,RAIL-M的要求可能过于模糊,无法遵守——RAIL-M可能与欧盟AI法规等AI相关法规冲突。

对于上述批评,Hugging Face的一位发言人通过电子邮件声明说:“许可证是经过精心设计的,以最大限度地符合现行法律和法规。”

撇开这些不谈,StarCoder 2是否真的优于市面上其他的代码生成器——无论是免费的还是付费的?

根据不同的基准测试,它似乎比Code Llama的一个版本,Code Llama 33B,更高效。Hugging Face表示,StarCoder 2 15B在一部分代码完成任务上与Code Llama 33B匹敌,速度是其两倍。具体是哪些任务不清楚;Hugging Face没有具体说明。

作为一个开源模型集合,StarCoder 2还有一个优势,它可以在本地部署,并且可以“学习”开发者的源代码或代码库——这对于那些不愿将代码暴露给云托管AI的开发者和公司来说是一个吸引人的前景。在Portal26和CensusWide的2023年调查中,85%的企业表示,他们对采用像代码生成器这样的GenAI持谨慎态度,因为它们涉及隐私和安全风险——比如员工共享敏感信息或供应商在专有数据上进行训练。

Hugging Face、ServiceNow和Nvidia还声称,与其竞争对手相比,StarCoder 2更加道德——并且法律