机器之心编辑部
直接复制粘贴训练集中的代码,原注释会一字不差。 AI的“复制能力”已被认可。
本周 GitHub 发布的 AI 代码合成器 GitHub Copilot 是科技界非常关注的话题。 传统的IDE通常采用搜索引擎的方式来完成代码,而这款代码神器Copilot据说提供了大部分新生成的代码建议。
Copilot发布后,不少网友惊呼代码补全效果“震撼”,并给予极高评价。 但没过几天,一些试用用户发现了一个新问题:Copilot使用的开源代码数据集可能侵权。 原本只是猜测,但就在十几个小时前,有网友曝光了Copilot的复制粘贴代码,似乎在几十秒的动画画面中颠覆了Copilot的“原生”形象。
“我不会说什么,但是副驾驶,这不行。” 发现AI复制代码的程序员Armin Ronacher来自奥地利。
Copilot 完全复制了经典射击游戏《雷神之锤》中的代码,还包含了有关它的评论,例如“What the f**k”……
复制代码:#L552
AI生成的代码:
有网友评论称,GitHub 的 Copilot 很快就追随了微软 AI 聊天机器人 Tay 的道路(GitHub 于 2018 年被微软收购)。
看来事情并没有 GitHub 最初说的那么简单。
AI编码,一把双刃剑
GitHub Copilot 作为微软、OpenAI 和 GitHub 联合打造的代码生成工具,得到 OpenAI 开发的全新 AI 系统 OpenAI Codex 的支持,并经过了数十亿行公共代码的训练。 其主要功能包括补全函数代码、根据注释生成代码等。目前仅支持Python、JavaScript、TypeScript、Ruby和Go语言。
Copilot 目前正在发布技术预览版本。 用户可以在主页上注册并有机会访问和使用它。
GitHub Copilot 注册地址:
OpenAI Codex 对人们如何使用代码拥有广泛的了解,并且在代码生成方面显着优于 GPT-3,这要归功于 Codex 的训练集包含从 GitHub 提取的数 TB 的公开可用代码以及英语语言示例。
不过,自发布以来,Copilot代码训练集的版权问题一直存在争议。 另外,基于Copilot的算法模型Codex的公开信息并不多。 一时间,“副驾驶是否涉嫌侵权”成为人们讨论的焦点。
有人开始认为,既然GitHub是微软公司,那么OpenAI也获得了微软10亿的巨额投资。 那么,Copilot 是使用 Microsoft 内部源代码进行培训的吗? 或者说未来会是这样吗? 它偶尔会吐出一些 Windows 内核代码吗?
试想一下,当 Copilot 添加对 C++ 的支持时,有人会用它来编写具有 Win32 兼容 API 的操作系统。 鉴于GitHub平台上有大量泄露的Windows源代码,Copilot在此过程中肯定会生成大量代码。 最终,微软会认为使用其人工智能生成的代码侵犯了其版权吗?
减轻负担还是增加负担?
类似的担忧广泛存在。 如果Copilot生成的代码是从其他项目“复制”的橙光游戏,那么使用它的开发人员将不知道自己编写的代码段是否受到版权保护。 这就像一颗定时炸弹。
如果开发者没能及时发现代码中的问题,最后酿成麻烦,看来责任也应该由Copilot来承担吧? 因为代码是它的衍生物。 更糟糕的是,作为用户,即使我们想遵守代码许可,似乎也没有办法进去。
至于那段被“复制粘贴”的代码ai游戏引擎程序设计 pdf,有人发现这段代码是原来的GPL许可版本,并且也被收录在维基百科词条中,因此可能不构成侵权。
这个著名的原始函数也有一个起源:《雷神之锤3》是20世纪90年代的经典游戏。 该系列不仅画面和内容在当时都是一流的,更可贵的是即使你的电脑配置较低也能流畅运行。 这要归功于 3D 引擎的开发者 John Carmack。
该游戏3D引擎中的数学运算都经过精心编写。 在game/code/q_math.c中,上述代码的功能是对一个数求平方根并求逆。 经过测试,这段代码比使用系统自动用sqrt函数求逆(float)(1.0/sqrt(x))要快4倍。
神秘数字0x5f3759df非常有用,但很少有人能解释它的起源。 这种难以理解但有效的幻数通常被称为幻数。 从“WTF”评论来看,最初审阅它的程序员可能也没有理解它。
后来有一篇论文解释了这个常数:
虽然游戏公司已经公开了《雷神之锤3》的平方根算法,但我们不确定AI还会学习哪些其他代码。
有人说:“我不明白这个工具的意义。生成有效的代码从来都不是人类开发人员的瓶颈。没有一个项目因为代码输入速度不够快而失败。真正的瓶颈是理解代码是如何工作的,以及如何理解代码。”如何正确设计它。” ,如何根据现有设计进行更改,如何对现有代码进行故障排除等。这个工具不会让任何事情变得更容易,反而会让事情变得更困难,因为现在你正在运行的软件不是由任何人运行的。它是被编写的材质材料,没有人完全理解它。”
当然,编写代码的速度确实不是瓶颈,但有一个减少重复编码的工具总是一件好事。 但对于企业开发者来说ai游戏引擎程序设计 pdf,发布前检查代码的工作可能会更加艰巨一些。
编写代码的自动化一直是人们希望实现的目标,也是AI领域努力实现的方向。 然而,与其他自动化任务相比,代码自动化在实现难度和版权划分方面更加繁琐和复杂。 Copilot无疑给自动代码生成带来了新的希望,但要完全实现自动化编程还有很长的路要走。
参考内容:
WAIC人工智能开发者论坛
在2021世界人工智能大会·人工智能开发者论坛上,中国惠普有限公司副总裁、大中华区个人信息产品事业部总经理周东将带来主题为“人工智能基础设施:边缘计算”的讲座演进与趋势》发表演讲,与现场观众分享边缘计算的发展。
©结束