当前位置:网站首页>与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
边栏推荐
- Vite2 is compatible with lower versions of chrome (such as Sogou 80). Some grammars requiring higher versions are processed through polyfills
- Is there a shortage? No need to download the free online resources! 2022 favorites must have it!
- How to realize the center progress bar in wechat applet
- 盘点华为云GaussDB(for Redis)六大秒级能力
- 1-2 install and configure MySQL related software
- 1-17 express Middleware
- VIM common shortcut keys
- 1-15 nodemon
- Pytorch quantitative perception training (qat) steps
- How to use data sets in machine learning?
猜你喜欢

Vite2 is compatible with lower versions of chrome (such as Sogou 80). Some grammars requiring higher versions are processed through polyfills

京东与腾讯续签三年战略合作协议;起薪涨至26万元,韩国三星SK争相加薪留住半导体人才;Firefox 102 发布|极客头条

Modify the name of the launched applet

Label Contrastive Coding based Graph Neural Network for Graph Classification

PyTorch量化实践(2)

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

Usbcan analyzer's supporting can and canfd comprehensive test software lkmaster software solves engineers' can bus test problems

Uniapp life cycle / route jump

模板方法模式介绍与示例
![[BSP video tutorial] BSP video tutorial issue 19: AES encryption practice of single chip bootloader, including all open source codes of upper and lower computers (June 26, 2022)](/img/ce/9ec74c4c26513e2479df29a1802168.png)
[BSP video tutorial] BSP video tutorial issue 19: AES encryption practice of single chip bootloader, including all open source codes of upper and lower computers (June 26, 2022)
随机推荐
Error reporting: internal error XFS_ WANT_ CORRUPTED_ GOTO at line 1635 of file fs/xfs/libxfs/xfs_ alloc. c.
Ml & DL: introduction to hyperparametric optimization in machine learning and deep learning, evaluation index, over fitting phenomenon, and detailed introduction to commonly used parameter adjustment
Windbg调试工具介绍
Flip the linked list ii[three ways to flip the linked list +dummyhead/ head insertion / tail insertion]
Failed to configure a DataSource: ‘url‘ attribute is not specified and no embedded datasource could
模板方法模式介绍与示例
机器学习工作要求研究生吗?
[backtracking] full arrangement II leetcode47
1-18 创建最基本的express服务器&创建路由的API模块
Online education program user login and registration
1-3 using SQL to manage databases
1-10 respond to client content according to different URLs
I want to know who I need to know to open a stock account? In addition, is it safe to open a mobile account?
将Nagios监控信息存入MySQL
How to upload binary pictures in uniapp
Ml & DL: Introduction à l’optimisation des hyperparamètres, indice d’évaluation, phénomène de surajustement et introduction détaillée aux méthodes d’optimisation des paramètres couramment utilisées da
1-21 jsonp interface
1-18 create the most basic express server & API module for creating routes
[BSP video tutorial] BSP video tutorial issue 19: AES encryption practice of single chip bootloader, including all open source codes of upper and lower computers (June 26, 2022)
吴恩达的机器学习适合入门吗?