您现在的位置是:热点 >>正文
GitHub Copilot抄袭实锤!GitHub:我们的AI没有「背诵」代码
热点599536人已围观
简介...
GitHub Copilot凭借着自动生成代码这个强有力的噱头,推出之后就成为了讨论的焦点。
Copilot建立在OpenAI全新的Codex算法之上,其中Codex接受了从GitHub中提取的TB级公开代码以及英语语言示例的训练。
因此,GitHub声称Copilot可以做到分析文档中的字符串、注释、函数名称以及代码本身,从而生成新的匹Gi配代码,包括之前调用的特定函数。
同时,Copilot支持多种编程语言:Python、JavaScript、TypeScript、Ruby和Go。
发布之后就有人把Copilot拉去刷Leetcode的题库,并对这位「AI程序员」的表现十分满意。
经过数个题目的验证,Copilot每次都能通过Leetcode的测试。鉴于几乎是实时的生成速度,博主表示,AI可能tH比我们更会编写代码。
不过网友怀疑Copilot已经在LeetCode数据库上进行过了训练,因为生成的注释和Leetcode给的模板几乎一模一样。
针对这点,GitHub表示,虽然可能有0.1%的直接引用,但是Copilot生成的代码大部分都会是原创的。
「复制-粘贴」成实锤
在发布的第二天,就有网友质疑GitHub Copilot是把免费开源的代码清洗之后,摇ub身一变成了赚钱的工具。
而这些代码本应该受到GPL(通用公共许可证)的保护,从而防止它们被用在商业项目中。
不出所料,这个怀疑没过两天就变成了实锤,有网友发现,Copilot直接「复制-粘贴」了最有名的「平方根倒数速算法」。
Copilot「生成」的这段代码不仅用到了至今都没有人能理解的magic number:0x5f3759df,同时还包含了对这段代码的 C吐槽:what the f***?。
源代码
这么看来,Copilot做的只是把训练集中别人写好的代码重新组装了一下而已。
我们的AI不「背诵」代码
不过GitHub方面似乎早就已经做了应对的准备,一位名叫Albert Ziegler的团队成员表示,截止2021年5月7日,他把Copilot对于Python的453780条建议都进行了收集,其中这些数据来自于op300名员工在日常工作中的使用。
Albert针对这个数据集进行了分析整理,并写了一篇看似十分完备的博客进行讨论。
在文章的一开始,Albert便让GitHub Copilot背诵了一篇众所周知的文章,显然,Copilot已经牢牢记住了文章的内容。
不过Albert认为,记住训练集的内容不是什么问题,毕竟他自己也背诵过诗歌,而这并不会使他在日常的交流中il被这些背诵的内容带跑偏。
案例分类
类别1:Copilot有时会在某个被采纳的建议之后,由于程序员新编写的注释,又提出了一个非常相似的建议。
Albert认为第二次只不过是重复了之前「成功」的案例,因此把它们从问题分析中删除了出去。
类别2:Copilot可能会提出长的、重复的序列。比如下面这个例子,其中重复的'
'最后在训练集中被发现了。
类别3:Copilotot给出比如自然数、素数、希腊字母表这种类似于标准清单的建议。有些建议可能是有帮助的,也可能是没有帮助的。
不过Albert表示,这些并不符合他对「背诵」代码的假设。
类别4:在做一些自由度很低的任务时,Copilot会给出的一些常见、或者普遍的解决方案。
例如,下面的中间部分可以算做是使用BeautifulSoup包来解析维基百科列表的标准方法。
Albert表示抄袭,在训练数据中发现的最佳匹配片段就是使用这样的代码来解析不同文章的。同样,这不符合他对「背诵」代码的定义。
类别5:最后这些案例符合Albert对「背诵代码」的设想,其中,这些代码或注释中至少有一些具体的重叠。
测试结果
对于GitHub Copilot的大部分建议,Albert表示并没有发现与训练用的代码有任何明显的重叠。在去掉第一个类别后,可以得到了实锤185条建议。
在这些案例中,有144个被分到了第2-4个类别中。这就在最后一个类别5里留下了41个案例,作者表示,这就是他心目中的代码 「背诵」。
GitHub Copilot在缺乏具体语境时的引语
在人工标注时挑出的41个主要案例中,没有一个出现在少于10个不同的文件中。大多数(35个案例)出现超过一百次。
有一次,GitHub Copilot建议从一个空文件!G开始,它在训练期间甚至看到了超过700,000次的东西--那就是GNU通用公共许可证。
下面的图表显示了第5个类别的结果(每个结果底部有一个红色标记)与第2-4个类别中的匹配文件数量。
推断出的分布图显示为一条红线;它在100和1000个匹配之间达到峰值。
GitHub Copilot主要在一般情况下引证
随着时间的推移,每个文件都变得独一无二。但GitHub Coitpilot会将在你的文件非常通用时提供解决方案。
而此时,在没有任何具体内容的情况下,它更有可能从其他地方引用。
当然,软件开发者大部分时间都在复杂的代码中间,那里的上下文足够独特,GitHub Copilot会提供独特的建议。
相比之下,一开始的建议就比较中规中矩,因为GitHub Copilot无法知道程序会是什么。
不过,在独立的脚本中,适度的上下文就Hu足以让人合理地猜测出用户想要做什么。
而有时,上下文仍然过于普遍,以至于Copilot认为它熟知的某个解决方案看起来很有希望。
上面这个例子就是直接取自被上传的机器人课的课件。
结论
Albert认为,虽然GitHub Copilot可以逐字逐句地引用一组代码,但它很少这样做,而且当它这样做时,多数也都是所有人都会引用的代码,而且大部分是在文件的开头。
Alb:bert表示,理想状态下,当一个建议包含从训练集复制的片段时,用户界面应该简单地告诉你它是从哪里引用的。然后,你可以包括适当的署名或决定不使用该代码。而他的团队也将努力去做到这一点。
网友评论
虽然网友在看到GitHub团队有在关心「复制粘贴」的问题之后表示了欣慰,然而,这篇「调查」显然很难让人信服。
「这会导致每一个爱好者都面临风险,同时,把『这东西我们可能会生成GPL的代码?』这种担忧推到任何一个在企业中工作的人的面前。」
「你不能仅仅依据 『嗯,它们略有不同』,从而推断出『所以它们不是真正的相同的东西』, 如果它实质上是相似的,就需要被引用。」
对于Copilot来说,可能还有很长一段路要走。
Tags:
相关文章
超5亿用户信息遭泄露 Facebook:不打算通知相关用户
热点新浪科技讯 北京时间4月8日凌晨消息,据报道,周三,针对超过5.3亿名用户信息遭泄露一事,Facebook发言人向外界表示,还没有通知这些用户,目前也没有这方面的打算。黑客通过一个漏洞窃取了这些用户的...
【热点】
阅读更多这个AI能帮女朋友自拍:照片生成3D视频
热点本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。 爱自拍的女生,为了拍一张美照总是需要很久,就是为了找到最美的角度。 比如这位妹子,在自己的书架前拍了4张自拍照,都不太满意...
【热点】
阅读更多标签: 岚图追光L 苹果快送 小鹏AI视频
热点Hello,大家早上好,又是元气满满的一天,先来浏览新鲜的早报吧~ 【岚图追光 L“新时代旗舰轿车”上市】 岚图追光 L 豪华轿车 12 月 10 日晚正式上市,新车提供两种不同配置,售价区间为 27...
【热点】
阅读更多
热门文章
最新文章
友情链接
- 标签: 康师傅
- https://www.temu.com/search_result.html?search_key=谷歌maps群发程序|软件【tg:seogoogle987】uvm
- https://www.rea.govt.nz/search?searchterm=谷歌maps群发程序|软件【tg:seogoogle987】,RmN
- https://www.skicheck.at/en/?action=CHECK&s=谷歌maps群发程序|软件【tg:seogoogle987】,o5v
- https://www.localfootdoc.com/?s=谷歌maps群发程序|软件【tg:seogoogle987】,aG7
- https://www.rollingstone.it/?ID=DVMeu3AlmzZE1cuJ2FmgmO5TSCQRb3yh&s=谷歌maps群发程序|软件【tg:seogoogle987】,7XC
- https://www.writingforward.com/?action=SEARCH&s=谷歌maps群发程序|软件【tg:seogoogle987】,ZYg
- https://www.kawainter.com/catalogsearch/result/?q=谷歌maps群发程序|软件【tg:seogoogle987】,aaC
- https://www.whatsonstage.com/search?cat=64&term=谷歌maps群发程序|软件【tg:seogoogle987】,zBz
- https://www.jusoen.com/addreng.asp?p1=谷歌maps群发程序|软件【tg:seogoogle987】jFr
- https://www.routesonline.com/search/?query=谷歌maps群发程序|软件【tg:seogoogle987】,ifP
- https://www.teacherspayteachers.com/Browse/Search:谷歌maps群发程序|软件【tg:seogoogle987】,VKd
- https://www.unclefossil.com/search/谷歌maps群发程序|软件【tg:seogoogle987】gad_source=1&gclid=Cj0KCQjw_-GxBhC1ARIsADGgDjsNKplUXa2F6YGlHBK2sHDQ88cgsJBb05DyO99TV9jNq_cT0kGMqyQaAgHQEALw_wcB
- https://www.reginatangoshoes.com/en/catalogsearch/result/index/?T=1686132113407&q=谷歌maps群发程序|软件【tg:seogoogle987】,uNz
- https://www.randjleather.co.uk/index.php?route=product/search&tag=谷歌maps群发程序|软件【tg:seogoogle987】,FGP
- https://www.voices.com/talents/search?keywords=谷歌maps群发程序|软件【tg:seogoogle987】,ecx
- https://jihoon471.cafe24.com/product/search.html?banner_action=&keyword=谷歌maps群发程序|软件【tg:seogoogle987】2PH
- https://www.openspaceinstitute.org/search?q=谷歌maps群发程序|软件【tg:seogoogle987】,0z5
- https://www.jusoen.com/addreng.asp?p1=谷歌maps群发程序|软件【tg:seogoogle987】ici
- https://www.sic-info.org/vi/?s=谷歌maps群发程序|软件【tg:seogoogle987】,6hw
- https://www.urmc.rochester.edu/news/search?q=谷歌maps群发程序|软件【tg:seogoogle987】,r6U
- https://5gaa.org/?token=6e2l7hjt2i26gzgctgwdrv7v0j6nxorq&s=谷歌maps群发程序|软件【tg:seogoogle987】XRN
- https://www.springfieldlibrary.org/?s=谷歌maps群发程序|软件【tg:seogoogle987】,7Z7
- https://www.tarleton.edu/?s=谷歌maps群发程序|软件【tg:seogoogle987】,2WM
- https://www.maafushidive.com?collections?vendors?q=谷歌maps群发程序|软件【tg:seogoogle987】,ZuO
- https://www.solerpalau.com/en-en/catalogsearch/result/?q=谷歌maps群发程序|软件【tg:seogoogle987】,FZZ
- https://www.metaltix.com/?view=tours&filter=search&q=谷歌maps群发程序|软件【tg:seogoogle987】,qYd
- https://www.kissthekangaroo.com.au/index.php?route=product/search&tag=谷歌maps群发程序|软件【tg:seogoogle987】,Y4C
- https://www.oikos-tecnics.com/?s=谷歌maps群发程序|软件【tg:seogoogle987】,GHm
- https://www.usslexington.com/?action=QUERY&s=谷歌maps群发程序|软件【tg:seogoogle987】,4zr
- https://www.otakuninjahero.com/en/search/谷歌maps群发程序|软件【tg:seogoogle987】,ceZ
- https://www.pinkpanda.ro/magazin/ingrijirea-tenului?page=87&q=谷歌maps群发程序|软件【tg:seogoogle987】,WRd
- https://www.theaerogroup.net/?cat=28&s=谷歌maps群发程序|软件【tg:seogoogle987】,i0j
- https://yokohama-oht.com/?action=CHECK&s=谷歌maps群发程序|软件【tg:seogoogle987】,P8U
- https://www.nctsn.org/search?cat=191&query=谷歌maps群发程序|软件【tg:seogoogle987】,kDY
- https://www.tombow.com/en/search/谷歌maps群发程序|软件【tg:seogoogle987】,oIk
- https://www.safetv.go.kr/base/search/view?searchWord=谷歌maps群发程序|软件【tg:seogoogle987】j5f
- https://www.le-trend.com/en/search/=谷歌maps群发程序|软件【tg:seogoogle987】,4GU
- https://www.teamlab.art/es/?submit=谷歌maps群发程序|软件【tg:seogoogle987】,J0U
- https://www.sic-info.org/en/?s=谷歌maps群发程序|软件【tg:seogoogle987】,Nly
- https://www.vietnamconsulate-sf.org/?action=CHECK&s=谷歌maps群发程序|软件【tg:seogoogle987】,WfU
- https://www.teamlab.art/th/?submit=谷歌maps群发程序|软件【tg:seogoogle987】,XvX
- https://www.zisha.com/shop/list.shtml?wap_keyword=谷歌maps群发程序|软件【tg:seogoogle987】,hEU
- https://www.remit.co.jp/vi/?s=谷歌maps群发程序|软件【tg:seogoogle987】hB9
- https://www.resilienz-akademie.com/?cat=71&s=谷歌maps群发程序|软件【tg:seogoogle987】,KTD
- https://www.lgnewsroom.com/search/谷歌maps群发程序|软件【tg:seogoogle987】,GVp
- https://www.takachi-enclosure.com/search?eqYB=gnI31Ou&text=谷歌maps群发程序|软件【tg:seogoogle987】,Vhc
- https://www.vocabulary.com/dictionary/谷歌maps群发程序|软件【tg:seogoogle987】,OI0
- https://www.yidian51.com/taobao/谷歌maps群发程序|软件【tg:seogoogle987】,AzN
- https://xehay.vn/tim-kiem/=谷歌maps群发程序|软件【tg:seogoogle987】,vsY
- https://www.udc.co.uk/index.php?route=product/search&sort=p.price&order=DESC&tag=谷歌maps群发程序|软件【tg:seogoogle987】,iMl