“自然”语言编程(NLC)的到来比你想象的要快

图灵汇官网

GPT-3:AI模型的里程碑

GPT-3是一款训练集达45TB、参数规模高达1750亿、预训练结果700G的AI模型。自从问世以来,GPT-3便吸引了无数目光。人们开始使用GPT-3来创作诗歌、音乐甚至绘画作品。

AI编程的演进

AI编程并不是什么新鲜事物,之前也有诸如AI辅助编程工具Copilot这样的应用。Codex可以被视为Copilot的全面升级版本。两者均基于GPT-3的技术基础,但Codex可以直接将英文需求转化为代码。

Codex的本质

Codex并不能创造代码,而是通过重复利用现有的代码来实现自动化编程。

代码智能的重要性

代码智能的目标是赋予计算机理解和生成代码的能力,并利用编程语言的知识和上下文进行推理。这一领域近年来借助深度学习算法取得了显著进步,尤其是在代码检索、补全、翻译、纠错和问答等方面。

基准数据集的作用

基准数据集对代码智能领域的发展至关重要。例如,ImageNet推动了计算机视觉的进步,而GLUE和XGLUE数据集也在自然语言处理领域发挥了重要作用。然而,代码智能领域仍然缺乏一个全面的基准数据集,以便从不同角度评估模型性能。

微软的CodeXGLUE项目

微软亚洲研究院联合Visual Studio和必应搜索发布了CodeXGLUE,这是一个涵盖code-code、code-text、text-code、text-text四类任务的大规模基准数据集。CodeXGLUE包含10个任务和14个数据集,包括代码克隆检测、代码缺陷检测、代码完形填空、代码补全、代码纠错、代码翻译、代码检索、代码生成、代码注释生成和文档翻译等任务。

CodeXGLUE的任务介绍

  1. 代码克隆检测:检测代码间的语义相似度。
  2. 代码缺陷检测:识别可能导致系统漏洞的代码。
  3. 代码完形填空:填补代码中的缺失部分。
  4. 代码补全:根据现有代码生成后续代码。
  5. 代码翻译:将代码从一种编程语言翻译成另一种。
  6. 代码检索:匹配自然语言与代码之间的语义相似度。
  7. 代码纠错:修复代码中的错误。
  8. 代码生成:根据自然语言描述生成代码。
  9. 代码注释生成:为代码生成自然语言注释。
  10. 文档翻译:将代码文档从一种语言翻译成另一种。

IBM的CodeNet项目

IBM于2021年5月宣布了CodeNet项目。CodeNet包含超过1400万个代码样本,涵盖50种编程语言,旨在解决4000个编码问题。CodeNet类似于ImageNet,旨在推动AI编码的发展。

谷歌Cloud AutoML

谷歌Cloud AutoML系统基于监督学习,用户只需上传一组图片并添加标签,系统即可自动生成定制化的机器学习模型。这一过程无需人工干预,大大简化了机器学习的开发流程。

CodeNet的应用前景

CodeNet项目旨在快速更新过时的代码系统,减少遗留系统的风险。此外,CodeNet有助于推动自然语言编码(NLC)的发展,使编码变得更加简单和高效。

自然语言编码的前景

自然语言编码(NLC)有望让更多人更容易接触编码。这不仅提高了创新的可能性,还降低了其他学科(如计算物理学和社会统计学)使用编程工具的门槛。然而,NLC也可能导致编码的去民主化,只有少数大公司能够掌握和控制这一技术。

Copilot、aiXcoder和Tabnine

Copilot是GitHub与OpenAI合作开发的一款AI工具,能够根据上下文自动补全代码。国内也有类似的工具,如aiXcoder和Tabnine,它们同样能够根据自然语言生成代码。

结论

AI生成代码的趋势不可逆转,但未来的发展方向应该是AI与人类程序员的协作,而非完全替代人类。AI将帮助我们处理更复杂的数据和项目,提升工作效率,但也需要注意潜在的安全隐患。

参考资料

  • https://thenextweb.com/news/programming-natural-language-syndication
  • https://www.zhihu.com/question/60465374/answer/1499539780
  • https://readable.so/
  • https://openai.com/blog/openai-codex/

以上是对原文内容的改写,确保不扭曲原文事实和核心信息,同时提高了文章的紧凑性和可读性。希望这些内容对你有所帮助。

本文来源: 图灵汇 文章作者: