开篇寄语
程序员又要下岗了,不是危言耸听哦,因为一款开源的 AI 自动写代码项目—— PolyCoder正式问世啦!真的是可以自动写代码哦,比前不久Github推出的Copilot高到不知哪里去了,那么它有什么神奇之处呢?本篇文章就来带大家揭开它的神秘面纱。
前情提要
项目地址
- https://github.com/VHellendoorn/Code-LMs
论文地址
- https://arxiv.org/abs/2202.13169
内容详情
PolyCoder 是一款开源 AI 代码生成器,研究人员称其胜过 Codex 编写的 C 语言代码(也是一种智能AI写代码的项目,除了Codex,还有另一款类似项目就是大名鼎鼎的 DeepMind 开发的 AlphaCode,但是二者都没有开源哦)。
代码生成人工智能——可以在给出提示的情况下以不同的编程语言编写的人工智能系统——用来降低开发成本,同时允许编码人员专注于创造性的、重复性较低的任务。PolyCoder 这款开源项目就很好的实现了这一目的,让编程工作更简单,也更加轻松。
一种基于 OpenAI 的 GPT-2 语言模型的模型,该模型在 12 种编程语言的 249GB 代码数据库上进行了训练。虽然 PolyCoder 在每项任务中的性能都无法与顶级代码生成器相媲美,但研究人员声称,PolyCoder 能够以比包括 Codex 在内的所有已知模型更高的准确度用 C 语言编写代码。
PolyCoder 采用了多种编程语言代码集来训练,前面提到的12种编程语言是:C、C#、C++、Go、Java、JavaScript、PHP、Python、Ruby、Rust、Scala 和 TypeScript。
在开发 PolyCoder 时,研究人员还研究并比较了不同的代码生成 AI 系统的性能,包括 Codex(通过 API)。有趣的是,他们发现模型主要针对英文文本进行训练,并且只针对少量源代码进行训练,结果证明它们非常擅长生成代码——也许是因为他们从开发人员问答网站 Stack Overflow 等资源中获得了与代码相关的见解,这些资源包含在249GB 数据库。
其实,还有未经过滤的数据集共有 631 GB 数据和 3890 万个文件。该团队表示,由于预算限制,他们选择使用 GPT-2 训练 PolyCoder。
研究人员希望它可以使 AI 代码生成领域的研究普遍化,该领域迄今为止一直由资金雄厚的公司主导。
总结
PolyCoder 在 C 语言编程上有很大优势,相较于其他 AI 编程,但是在其他编程语言上就稍逊风骚了。
温馨提示
除了 PolyCoder 外,还可以选择 CodeGeeX,支持在 VS code 使用,支持的语言目前有 Java, Javascript, C++, Python 和 Go。
具体可以参看其官网:
ArrayArrayArray- 我的微信
- 微信扫一扫加好友
- 我的微信公众号
- 扫描关注公众号