卡内基梅隆大学研究人员推出开源自动代码生成器模型PolyCoder,27B参数,基于GPT-2架构,在249GB的代码中跨越在一台机器上训练了12种编程语言。训练结果表明,PolyCoder优于包括C编程语言中的Codex在内的所有模型。“最近,代码的大规模语言模型(LM)在完成代码和从自然语言描述合成代码方面显示出巨大的希望。但是,当前最先进的代码LM(如Codex)尚未公开,留下许多关于他们的模型和数据设计决策的问题。我们的目标是通过对各种编程语言中最大的现有模型进行系统评估来填补其中的一些空白:Codex、GPT-J、GPT-Neo、GPT-NeoX20B和CodeParrot。虽然Codex本身不是开源的,我们发现现有的开源模型在某些编程语言中确实取得了接近的结果,尽管主要是针对自然语言建模。我们进一步确定了一个重要的缺失部分,即专门在多语言语料库上训练的大型开源模型代码。”研究人员指出,去年8月发布的OpenAI的Codex可通过微软拥有的GitHub的Copilot工具获得;但它提供了通过黑盒API调用访问模型输出的“非免费访问”,模型的权重和训练数据是DeepMind声称其最近发布的AlphaCode代码生成器在人类参与的编程竞赛中排名前54.3%,但训练该模型需要在Google的数据中心进行“数百petaFLOPS天”的训练。“尽管大型计算机取得了巨大成功规模的语言代码模型,最强的模型都没有公开。这阻止了这些模型在资源充足的公司之外的应用,并限制了资源匮乏组织在该领域的研究。”为了解决这个问题,他们引入了PolyCoder。该模型使用来自多个GitHub存储库的数据进行训练,涵盖12种流行的编程语言:C,C#,C++,Go,Java,JavaScript,PHP,Python,Ruby,Rust,Scala,andTypeScript.未经过滤的数据集总共有631GB的数据和3890万个文件。此外,为了训练PolyCoder,研究人员选择了GPT-2(由于预算有限)。但是,虽然PolyCoder优于C中的所有模型,但Codex仍然优于其他语言的PolyCoder。“值得注意的是,PolyCoder优于Codex和所有其他C模型。在比较单个开源模型时,PolyCoder在C、JavaScript、Rust、Scala和TypeScript中优于类似大小的GPT-Neo2.7B。更好。在其他11种语言中除了C,所有其他开源模型,包括我们的模型,都明显比Codex差(更高的困惑度)。”详情请看本文转自OSCHINA本文标题:OpenSourceAICodegeneratorPolyCoder:擅长C语言,优于Codex文章地址:https://www.oschina.net/news/185793/open-source-ai-code-generator-polycoder
