• 与AI结对编程式是什么体验 Copilot vs AlphaCode, Codex, GPT-3


    Deepmind 的 AlphaCode 通过在前 54% 的人类编码人员中进行测试而成为头条新闻。GitHub 的 Copilot 能否跟上 AlphaCode 的自动化编程?
    在这里插入图片描述
    剑桥大学进行的一项研究表明,开发人员的大部分时间都花在了调试上。这项耗时的任务每年花费软件行业约 3000 亿美元。Deepmind 最新的基于人工智能的代码开发和分析工具通过自动化开发人员的日常和耗时的任务来降低此类成本。

    与建议代码的GitHub Copilot相比,AlphaCode能够分析算法并生成具有竞争力的复杂程序,不仅没有错误,而且与其描述相对应。

    DeepMind 的开发人员通过在竞争性编程网站上测试 AlphaCode 的潜力来测试它,在这些网站上,人类开发人员会遇到编程问题并根据他们的结果进行排名。

    1. AlphaCode——自主程序员

    AlphaCode 是一个基于Transformer的语言模型,由 414 亿个参数组成。它是一种语言模型,其大小是 GitHub Copilot 的语言模型Codex的四倍,只能解析 120 亿个参数。AlphaCode 的架构基于三个部分:

    1. 数据——人工智能工具由公共 GitHub 存储库提供数据。
    2. 学习——然后该工具对数据集进行训练,并根据任务要求对其进行校准(例如,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 似乎前路艰难。以下是这两种代码生成工具之间的一些区别。

    1. 训练——GitHub Copilot 的 AI Codex 经过训练可识别 120 亿个参数,而 AlphaCode 的基于 AI 的代码生成模型使用 400 亿个参数进行训练。这将 AlphaCode 的性能提高了四倍。
    2. 建议与生成:虽然 GitHub Copilot 旨在帮助程序员编写基本的代码部分,但 AlphaCode 能够生成完整的复杂程序。
    3. 复杂性——虽然这两种 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

  • 相关阅读:
    Python--逻辑运算符(与或非) and or not
    第五章 :Spring Boot配置指南(二)
    (附源码)计算机毕业设计SSM基于的开放式实验室预约系统
    .NET 跨平台应用开发动手教程 |用 Uno Platform 构建一个 Kanban-style Todo App
    【Verilog】Verilog基础知识整理
    Spring Cloud 篇
    Java Word文档发送给外部文件上传API
    GPE(Grafana+Prometheus+Exporter)项目实战之Golang篇(上)
    JavaEE进阶学习:Spring核心和设计思想
    28_ue4[AI]03_AI行为树随机移动跟随移动
  • 原文地址:https://blog.csdn.net/zgpeace/article/details/125530959