前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >训练AI写代码还在用GitHub ?Project CodeNet或是更优解:1400万代码,50种编程语言

训练AI写代码还在用GitHub ?Project CodeNet或是更优解:1400万代码,50种编程语言

作者头像
新智元
发布于 2023-05-22 07:12:41
发布于 2023-05-22 07:12:41
3210
举报
文章被收录于专栏:新智元新智元


新智元报道  

来源:thenextweb

编辑:LRS

【新智元导读】深度学习的转折点往往都发生在不经意间。IBM的Project CodeNet发布五个多月仍未引起过多关注,但它可能是助力AI编程的最有用的数据集,但它的风头似乎都被Copilot抢走了,至今未见过多宣传,沦为小众数据集。

如今写代码已经成为各行各业的必备技能,学会写代码可以让计算机代替我们做一些重复的工作,极大提升工作效率。

但一个真正能帮你写代码的AI程序离我们还有多远?

5月5日,IBM向极少数媒体和学术界发布了Project CodeNet,在当时并未引起过多关注。

CodeNet完美继承了ImageNet的思想。ImageNet是一个大规模的图像及其描述数据集,为CV 的模型发展和标准化提供了巨大的帮助,也是深度学习计算机视觉进步的核心, 并且图像可免费用于非商业用途。 

CodeNet的目标是为人工智能写代码提供一个标准的数据库,它包含超过1400 万个代码样本,涵盖50种编程语言,能够解决4000个编码问题。该数据集还包含许多附加数据,例如软件运行所需的内存量和运行代码的日志输出。

IBM表示,Project CodeNet是同类中最大、最具差异的数据集,它解决了当今编码中的三个主要用例:代码搜索(自动将一种代码翻译成另一种代码,包括像COBOL这样的遗留语言);代码相似性(识别不同代码之间的重叠和相似性);还有代码约束(根据开发人员的特定需求和参数定制约束)。

然而有安全研究人员认为CodeNet和类似项目最重要的影响不是优化代码,而是增加了自然语言编码(Natural Language Coding, NLC)的可能性。

近年来,OpenAI和Google等公司一直在快速改进自然语言处理(NLP)技术。这些是机器学习驱动的程序,旨在更好地理解和模仿自然人类语言并在不同语言之间进行翻译。训练机器学习系统需要访问包含以所需人类语言编写的文本的大型数据集。

但写代码是一项很难学习的技能,更不用说掌握了,经验丰富的编码员应该精通多种编程语言。相比之下,NLC利用NLP技术和诸如CodeNet之类的庞大数据库,能够利用英语来进行编程,最终使用任何其他自然语言都可以进行编码。

它可以使诸如设计网站之类的任务变得简单,只需输入一句话,然后就会出现一个符合要求的网站,这要求生成的代码都是可以运行的。

例如“制作带有飞机图像的红色背景,中间是公司的logo,下方有一个与我联系的按钮。“

很明显,如此科幻的想法除了IBM以外还有很多人在做。

GPT-3是OpenAI的一个NLP模型,在多项文本生成任务都遥遥领先,目前也已经被用于生成代码,输入就是预期的网站或者应用程序的自然语言描述,输出可运行的代码。

但是,在IBM的消息发布后不久,微软宣布已获得GPT-3的独家授权。

除了GPT-3外,微软还于2018年收购了互联网上最大的开源代码集合网站 GitHub。并且还开发了一个人工智能代码助手GitHub Copilot,可以在VS code等IDE辅助开发,能够简化开发过程,但它是付费的。

虽然Copilot离NLC的目标还有很大距离,但它已经是向前迈了一大步了。

不过后续的测试来看,Copilot除了抄袭开源代码和注释外,并不能创造代码,还会把其他用户的漏洞代码扩散开。

Copilot是朝着NLC迈出的一大步,但它还远远没有实现AI写代码的功能。

虽然NLC还没有完全可行,但目前的研究方向正在迅速走向一个不需要长时间训练也能编程的未来,并且影响是巨大的。

首先,更多的研究和开发人员会产生更多的成果。有人认为潜在创新者的数量越多,创新率越高。

如果每个人都能写代码,那编程带来的创新潜力就会更大。

此外,计算物理学和统计社会学等学科越来越依赖于定制的计算机程序来处理数据,简化编写这类程序所需的技能要求,将提高计算机科学以外专业领域的研究人员部署新方法、做出新发现的能力。

然而,NLC所需的人工智能的开发和部署资源相当昂贵,小公司根本无法支撑这种应用的开发和运行,所以最终很可能被微软、谷歌或IBM等主流巨头公司垄断。该服务可以收费提供,或者像大多数社交媒体服务一样免费提供。

并且我们有理由相信,由于机器学习需要大数据的支持,这些技术将由平台公司主导。从理论上讲,像Copilot这样的程序在引入新数据时会变得更好,也就是说使用的用户越多,效果越好,这种特性也使得新的竞争对手更难入场,即使他们有更强大或更良心的产品。

除非有强力的反垄断措施,否则大型资本主义企业集团似乎将成为下一次编码革命的把关人。

参考资料:

https://thenextweb.com/news/programming-natural-language-syndication

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-10-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 新智元 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
XML Schema(XSD)详解:定义 XML 文档结构合法性的完整指南
在 XML 世界中,每天都在使用数百种标准化的 XML 格式。其中许多 XML 标准是由 XML Schema 定义的。XML Schema 是 DTD 的基于 XML 的(更强大的)替代品。
小万哥
2024/05/09
1.4K0
XML Schema(XSD)详解:定义 XML 文档结构合法性的完整指南
[Java拾遗一] XML的书写规范与解析.
前言 今天天气大好, 起了个大早开始总结一些常用的基础知识. XML一直来说都很陌生, 使用大多是用于配置文件, 之前并没有细究过其中的约束规范, 今天刚好没事来学习并总结下.  ---- 1,XML基础介绍   XML 指可扩展标记语言(EXtensible Markup Language),也是一种标记语言,很类似 HTML.它的设计宗旨是传输数据,而非显示数据它;标签没有被预定义,需要自行定义标签。   xml的作用:     XML 是各种应用程序之间进行数据传输的最常用的工具,并且在信息存储和描
一枝花算不算浪漫
2018/05/18
1.7K0
Java知识点——xml概述
XML 1. XML概述 Extensible Markup Language 可拓展标记语言 用途: 1. 数据存储,小型数据库,存在一定的CRUD操作可行性 2. 网络端数据的传输 3. JavaWEB框架项目配置文件 Spring Druid .... w3c万维网联盟指定的规范 2. 基本语法 1. XML文件后缀名是.xml 2. XML第一行是对于当前文件的定义声明 3. XML文件中有且只有一个根标签 4. 属性值必须使用引号包含,这里推荐使用双引号 5. 标签必须正确匹配,正确
用户7073689
2020/03/18
4550
Java之XML的使用「建议收藏」
一.xml的定义和优势: (1).定义: 在描述一些有结构性的数据时应当使用XML来描述,例如:用户信息/省市结构等 XML(eXtensible Markup Language),是一种可扩展的标记语言,类似HTML。 XML技术是W3C组织(World Wide Web Consortium万维网联盟)发布的,目前遵循的是W3C组织于1998年发布的XML1.0规范。 HTML: 显示页面,网页. 学习里面自带的标签 XML: 传输数据,而非显示数据/少量数据存储。 XML标签没有被预定义,需要用户自行定义标签。
全栈程序员站长
2022/09/08
5880
Java之XML的使用「建议收藏」
PDF.NET(PWMIS数据开发框架)之SQL-MAP目标和规范
SQL-MAP的目标: 集中管理SQL语句,所有SQL语句放在专门的配置文件中进行管理; 通过替换SQL配置文件,达到平滑切换数据库到另外一个数据库,比如从Oracle的应用移植到SQLSERVER; 由DBA来写程序,对于复杂的查询,DBA写的SQL语句和存储过程更有保障更有效率,SQL-MAP工具让DBA也能够写.NET程序; 代码自动生成,由于在SQL配置文件中指定了很多编程特性,所以可以使用专用工具将配置文件映射到.NET代码; PDF.NET 数据开发框架介绍(含实例程序下载)请看: http
用户1177503
2018/02/26
1.2K0
PDF.NET(PWMIS数据开发框架)之SQL-MAP目标和规范
XML Schema <第三篇>
  验证XML文档是否符合议定的XML结构有两种方法,分别是DTD模式与XML Schema。本文主要介绍XML Schema。
全栈程序员站长
2021/12/23
1.6K0
XML Schema <第三篇>
XML Schema 复杂元素类型详解:定义及示例解析
您还可以基于现有的复杂类型创建新的复杂类型,并在其中添加额外的元素,如上面的第二个示例所示。
小万哥
2024/05/18
1730
XML Schema 复杂元素类型详解:定义及示例解析
XML学习笔记
XML和HTML的区别(引用于https://www.cnblogs.com/jqant/p/9497838.html)
逆回十六夜
2020/01/30
7240
XML Schema 字符串数据类型及约束详解
normalizedString 数据类型也包含字符,但 XML 处理器将删除换行符、回车符和制表符。
小万哥
2024/05/24
2100
XML Schema 字符串数据类型及约束详解
SpringCloud组件:Eureka服务注册中心内置的REST节点列表
你有没有考虑过Eureka Client与Eureka Server是通过什么方式进行通讯的? 为什么Client启动成功后Server就会被注册到Server的服务列表内? 为什么我们在正常关闭Client后Server会有所感知?
恒宇少年
2018/10/12
3.3K0
SpringCloud组件:Eureka服务注册中心内置的REST节点列表
XML快速入门的保姆级教程!!!
首先,同样记得将对应的jar包放入一个文件夹(如libs),并将这个文件add as library。然后我们创建java的类,使用java语言来对XML文档进行解析(java可以调用用于解析XML的相关jar包的功能,从而实现XML的解析)。
大忽悠爱学习
2021/11/15
1.1K0
Oozie分布式任务的工作流——Spark篇
Spark是现在应用最广泛的分布式计算框架,oozie支持在它的调度中执行spark。在我的日常工作中,一部分工作就是基于oozie维护好每天的spark离线任务,合理的设计工作流并分配适合的参数对于spark的稳定运行十分重要。 Spark Action 这个Action允许执行spark任务,需要用户指定job-tracker以及name-node。先看看语法规则: 语法规则 <workflow-app name="[WF-DEF-NAME]" xmlns="uri:oozie:workflow:0.3
用户1154259
2018/01/17
1.3K0
用xerces-c来进行xml schema校验「建议收藏」
http://xerces.apache.org/xerces-c/schema-3.html
全栈程序员站长
2022/07/08
6960
将复杂查询写到SQL配置文件--SOD框架的SQL-MAP技术简介
引言 今天看到一片热门的博客, .NET高级工程师面试题之SQL篇 ,要求找出每一个系的最高分,并且按系编号,学生编号升序排列。这个查询比较复杂,也比较典型,自从用了ORM后,很久没有写过SQL语句了,于是我研究了下,自己也写了一个: WITH cte1 as ( select stu.deptID, D.depName, stu.stuid , stu.stuName, score_sum.AllScore from dbo.S
用户1177503
2018/02/27
1.8K0
将复杂查询写到SQL配置文件--SOD框架的SQL-MAP技术简介
eclipse导入本地xsd文件(新手慎入)
eclipse使用xsd文件可以辅助编辑xml文件。如果我们自定义了schema文件,需要导入到xml catalog才可以生效。
pollyduan
2019/11/04
1.7K0
【Java 进阶篇】Java XML约束:确保数据一致性和有效性
XML(可扩展标记语言)是一种常用的数据交换格式,用于存储和交换数据。然而,为了确保数据的一致性和有效性,通常需要定义XML约束。XML约束是一种规则集,定义了XML文档的结构、元素、属性和数据类型。本篇博客将详细介绍Java中如何使用XML约束,以及如何创建、验证和应用XML约束。
繁依Fanyi
2023/10/25
4880
【Java 进阶篇】Java XML约束:确保数据一致性和有效性
用xerces-c来进行xml schema校验
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xuzhina/article/details/46826947
血狼debugeeker
2018/09/20
9770
冲顶大会有前端什么事吗?
---- 最近的冲顶大会只是一个知识问答的模式,不过结合直播起来可能就带来不一样的效果了。总的来看主要火起来的有几个基本点: 低门槛:人人都可以答题 奖金高:差不多都是百万以上,但是不排除机器人和你分钱 :) 延时低:同时出题,同时答题。这点对于延时直播来说,压力非常大,差不多延时必须控制到 2s 之内。所以,HLS 基本上就凉了。 KOL 带节奏,比如王思聪 撒币 主播美眉 。。。 作为一个前端开发来说,我觉得直播的世界离我们太遥远,其中有两座大山,一个是 X5 ,一个是 苹果。因为,X5 和苹果这逼不提
villainhr
2018/07/03
1.8K0
XML及相关协议
XML 是满足一组良好定义规则的格式化文本,主要由标签和文本构成,可以被储存和展现为诸如通过 HTTP 传输的消息、编程语言中的字符串、数据库中的 CLOB等文本数据形式。 【注】为了方便起见,XML 文档也被用来指应用之间的字节流、数据库中的字段、XML 信息集中的对象集合。
hotarugali
2022/02/28
1.2K0
XML及相关协议
PDF.NET SOD 开源框架红包派送活动 && 新手快速入门指引
一、框架的由来  快速入门 有关框架的更多信息,请看框架官方主页! 本套框架的思想是借鉴Java平台的Hibernate 和 iBatis 而来,兼有ORM和SQL-MAP的特性,同时还参考了后来.NET的LINQ(本框架成型于2006年,当时还未听说过LINQ)使用风格,设计了OQL查询表达式。本框架的设计思想是通用的,完全可以移植到Java 平台,现在只提供了.NET平台的实现,暂且将本框架命名为 PDF.NET 从2013.10.1日起,原PDF.NET 将更名为 SOD o
用户1177503
2018/02/27
1.7K0
推荐阅读
相关推荐
XML Schema(XSD)详解:定义 XML 文档结构合法性的完整指南
更多 >
LV.0
这个人很懒,什么都没有留下~
目录
  • 【新智元导读】深度学习的转折点往往都发生在不经意间。IBM的Project CodeNet发布五个多月仍未引起过多关注,但它可能是助力AI编程的最有用的数据集,但它的风头似乎都被Copilot抢走了,至今未见过多宣传,沦为小众数据集。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档