当前位置:网站首页>与AI结对编程式是什么体验 Copilot vs AlphaCode, Codex, GPT-3
与AI结对编程式是什么体验 Copilot vs AlphaCode, Codex, GPT-3
2022-06-30 22:03:00 【AI架构师易筋】
Deepmind 的 AlphaCode 通过在前 54% 的人类编码人员中进行测试而成为头条新闻。GitHub 的 Copilot 能否跟上 AlphaCode 的自动化编程?
剑桥大学进行的一项研究表明,开发人员的大部分时间都花在了调试上。这项耗时的任务每年花费软件行业约 3000 亿美元。Deepmind 最新的基于人工智能的代码开发和分析工具通过自动化开发人员的日常和耗时的任务来降低此类成本。
与建议代码的GitHub Copilot相比,AlphaCode能够分析算法并生成具有竞争力的复杂程序,不仅没有错误,而且与其描述相对应。
DeepMind 的开发人员通过在竞争性编程网站上测试 AlphaCode 的潜力来测试它,在这些网站上,人类开发人员会遇到编程问题并根据他们的结果进行排名。
1. AlphaCode——自主程序员
AlphaCode 是一个基于Transformer的语言模型,由 414 亿个参数组成。它是一种语言模型,其大小是 GitHub Copilot 的语言模型Codex的四倍,只能解析 120 亿个参数。AlphaCode 的架构基于三个部分:
- 数据——人工智能工具由公共 GitHub 存储库提供数据。
- 学习——然后该工具对数据集进行训练,并根据任务要求对其进行校准(例如,Codeforces 的竞争性编程)。
3。 抽样和评估——在这里,人工智能工具对每个问题的程序变化进行大规模抽样。然后通过过滤和聚类过程,将程序排列成 10 个解决方案的小子集,提交给外部评估。

图:AlphaCode 工作流程图 资料来源:deepmind.com
AlphaCode 的 AI 系统使用多种编程语言进行了预训练,包括 C++、C#、Go、Java、JavaScript、Lua、PHP、TypeScript、Ruby、Scala、Rust 和 Python。该数据集包含大约 715GB 的代码及其描述。
2. AlphaCode 经受考验
人工智能工具参加了 Codeforces 上的竞争性编码比赛,这是一个举办编码比赛的流行平台。该平台每周分享问题,并借助一种算法对参与者进行排名,该算法与用于对棋手排名的 Elo 评级系统类似。AlphaCode 选择了 10 个来自不同开发阶段的不同测试问题。人工智能工具在参加比赛的参与者中估计排名前 54%,从而证明 AlphaCode 的代码生成系统在竞争水平上取得了成果。AlphaCode 生成代码的能力在下面给出的 Codeforces 问题之一的示例中得到了证明:
图: AlphaCode 面临 的问题是,通过按退格键而不是书写来找出将一个短语转换为另一个短语的可能性。
图:AlphaCode 读取问题逻辑并生成符合预期的代码后生成的解决方案。
Codeforces 的创始人Mike Mirzayanov表达了他的惊讶,他说:“我持怀疑态度,因为即使在简单的竞争问题中,通常不仅需要实现算法,而且(这是最困难的部分)发明它. AlphaCode 成功地达到了一个有前途的新竞争对手的水平。” Mike 进一步补充说:“我可以肯定地说 AlphaCode 的结果超出了我的预期。”
4. GPT-3 架构
实际上就是Transformer的Decoder
GPT-3 用了1750亿个参数训练



4. GitHub Copilot 架构和性能
GitHub Copilot 是在GPT-3的肩膀上建立起来的Codex,增对Coding的NLP
Codex 架构
Codex的准确率远超GPT-3
OpenAI 的 AI 代码建议工具 GitHub Copilot 在自然语言处理 (NLP) 模型 Codex 上运行,该模型是 GPT-3 的增强版本。虽然它的构建是为了实现与 AlphaCode 相似的目标,但 Copilot 似乎前路艰难。以下是这两种代码生成工具之间的一些区别。
- 训练——GitHub Copilot 的 AI Codex 经过训练可识别 120 亿个参数,而 AlphaCode 的基于 AI 的代码生成模型使用 400 亿个参数进行训练。这将 AlphaCode 的性能提高了四倍。
- 建议与生成:虽然 GitHub Copilot 旨在帮助程序员编写基本的代码部分,但 AlphaCode 能够生成完整的复杂程序。
- 复杂性——虽然这两种 AI 工具都处于开发的初期阶段,但 GitHub Copilot 建议使用简单逻辑的基本代码,而 AlphaCode 经过测试以产生具有竞争力的复杂算法。
参考
https://analyticsindiamag.com/copilot-vs-alphacode-the-race-for-coding-supremacy/
https://arxiv.org/pdf/1907.05774.pdf
https://arxiv.org/pdf/2111.08489.pdf
https://arxiv.org/pdf/2107.03374.pdf
边栏推荐
- Inventory the six second level capabilities of Huawei cloud gaussdb (for redis)
- Which direction should college students choose to find jobs after graduation?
- RP prototype resource sharing - shopping app
- 【BSP视频教程】BSP视频教程第19期:单片机BootLoader的AES加密实战,含上位机和下位机代码全开源(2022-06-26)
- Document Layout Analysis: A Comprehensive Survey 2019论文学习总结
- Coredns modifying upstream
- Label Contrastive Coding based Graph Neural Network for Graph Classification
- NCAT detailed introduction (Reprint)
- Uniapp rich text editor
- Analysis of doctor Aifen's incident
猜你喜欢

興奮神經遞質——穀氨酸與大腦健康

Arcmap|assign values to different categories of IDS with the field calculator

Jupyterbook clear console output

Troubleshooting the problem of pytorch geometric torch scatter and torch spark installation errors

部门新来了个阿里25K出来的,让我见识到了什么是天花板

Look at the top 10 capabilities of alicloud cipu

How to upload binary pictures in uniapp

阿婆做的臭豆腐

Is machine learning suitable for girls?
![Flip the linked list ii[three ways to flip the linked list +dummyhead/ head insertion / tail insertion]](/img/a8/6472e2051a295f5e42a88d64199517.png)
Flip the linked list ii[three ways to flip the linked list +dummyhead/ head insertion / tail insertion]
随机推荐
How to use data sets in machine learning?
1-18 create the most basic express server & API module for creating routes
Troubleshooting the problem of pytorch geometric torch scatter and torch spark installation errors
Document layout analysis: a comprehensive survey 2019 paper learning summary
jupyterbook 清空控制台输出
Introduction to go web programming: a probe into the excellent test library gocovey
About, Qianxin detects code vulnerabilities and XSS series solves them
Arcmap|assign values to different categories of IDS with the field calculator
Analysis of PostgreSQL storage structure
Some problems when SSH default port is not 22
1-12 初步认识Express
1-19 利用CORS解决接口跨域问题
"Trust machine" empowers development
交易所系统开发如何开发?数字货币交易所系统开发成熟技术案例
1-21 JSONP接口
1-10 根据不同的url响应客户端的内容
从PG15 XID64再次跳票说起
Excuse me, can I open an account for the company? Is it safe? All the answers you want are here
KVM IO性能测试数据
Pytorch quantitative perception training (qat) steps