新智元报道
编辑:Aeneas 好困
OpenAI 招了一千多名外包人员,训练 AI 学会像人类一样一步步思考。如果 ChatGPT「学成归来」,码农恐怕真的危了?
码农真的危了!
最近有消息称,OpenAI 已经在悄悄地训练 ChatGPT,让它学习人类的思考过程,从而真正掌握软件工程,彻底代替「初级码农」。
OpenAI 招外包大军,教 AI 学人类思考
会编程的 AI,几家硅谷大厂都在做。
DeepMind 的 AlphaCode,据说「吊打 72% 人类程序员」,但尚未开放;传闻中谷歌的「神秘项目」Pitchfork,也还在酝酿中;而微软的 GitHub Copilot 主要是一个代码补全工具。
要说完全代替人类码农,它们还不够格。
但如果真的让 ChatGPT 学会了用人类思维去编程,这些友商/自家的产品恐怕要被吊打。
而从种种迹象看来,OpenAI 似乎正在下一盘大棋。
根据 Semafor 的报道,在过去的六个月里,OpenAI 已经从拉美和东欧等地区招募了大约 1000 名外包人员,来训练他们的 AI 码代码。
这个新闻中,有两个「华点」。
首先,为什么地点选在拉美和东欧?这个咱们都明白,现在硅谷的泡沫戳破了,各家互联网大厂都在绞尽脑汁「降本增效」,有的靠裁员,有的就去其他国家找廉价劳动力。
第二个「华点」是,这些外包人员中,很多人并不是计算机专业的毕业生,也不具备高级的编程技能。他们的作用是,编写 OpenAI 期待实现的「自动化」基本代码。
具体来说,其中的 60% 从事「数据标注」工作——创建大量的图像、音频片段等信息,用来训练人工智能工具或自动驾驶汽车。
另外的 40% 则是实打实的程序员,他们正在为 OpenAI 的模型「手搓」数据,从而让 AI 学习软件工程任务。
此前,OpenAI 一直是用从 GitHub 上抓取的代码训练其模型。
而这次,OpenAI 想建立的数据集中,不仅有代码,还包括背后用自然语言编写的人类解释。
论文地址:https://arxiv.org/abs/2107.03374
对此,Semafor 特地采访了一位南美的开发者,而他曾无偿为 OpenAI 完成了 5 小时的编码测试。
在这个测试中,他被要求处理两个任务。
首先,他会得到一个编程问题,OpenAI 要求他用书面的英语解释自己将如何处理这个问题。
然后,他需要提供一个解决方案。
如果他发现了一个 bug,OpenAI 就会要求他详细说明问题是什么,应该如何纠正,而不是简单地修复。
「他们很可能是想用一种非常特殊的训练数据来投喂这个模型,在这种情况下,就需要展示人类是如何一步步思考的。」这位开发者说。
此前的 ChatGPT,写的代码就被揪出过不少问题。
原因在于,ChatGPT 没有任何标记了对错的内部记录,它其实是一个统计模型。ChatGPT 的答案,本质上就是从构成 GPT-3 的互联网数据语料库中收集的概率结果。
当时 OpenAI 也说,ChatGPT 最合适的定位,应该是编码辅助工具。
但想象一下,如果 OpenAI 真的教会了 ChatGPT「像人类一样一步一步思考」,那它完全可以代替一些需要死记硬背的写代码工作,后果就是,一些「初级」码农被彻底淘汰。
现在,硅谷的高管们正在设想这样的产品,让几乎没有编程经验的人士向 AI 描述自己的创意和愿景,然后就能构建出任何自己想要的东西,无论是一个网站,还是一个游戏。
几天前,特斯拉的前人工智能主管 Andrej Karpathy 刚刚在推特上说:「最热门的新编程语言是英语」。
用 ChatGPT 来 debug,效果拔群
这可能并不是一个玩笑,比如当红炸子鸡 ChatGPT,就很有潜力。
最近,一项来自美因茨大学和伦敦大学学院的研究发现,ChatGPT 不仅可以出色地修复 bug,而且开发者还能通过对话来显著提高成功率。
研究人员表示,ChatGPT 的 debug 性能与常见的深度学习方法 CoCoNut 和 Codex 相差无几,并且明显优于标准的自动程序修复方法(APR)。
论文地址:https://arxiv.org/abs/2301.08653
用 ChatGPT 来解决代码问题并不新鲜,但与人类对话的独特能力,使它比其他方法和模型更具优势。
为了评估 ChatGPT 的 debug 性能,研究人员使用 QuixBugs 基准的 40 个纯 Python 问题对其进行了测试,然后手动检查建议的解决方案是否正确。
由于 ChatGPT 给出的答案存在一定的随机性,因此研究人员针对每个问题都会单独测试 4 次。
与其他自动程序修复的基准不同,QuixBugs 包含了相对较小的问题(代码行数少),而这非常适合在对话系统中使用。
在测试过程中,研究人员删除了所有的注释,并询问 ChatGPT 这段代码是否有 bug 以及如何修复它。
比如,图 1 中就是一个关于 BITCOUNT 问题的例子。其中,第1-2 行是向 ChatGPT 提出的需求;从第 4 行开始是错误的代码片段。
对于这个例子,我们希望 ChatGPT 的回答能解决第 7 行的错误,即nˆ= n - 1 应该被替换为 n &= n - 1。做为回应,ChatGPT 要么给出一段修复完的代码,要么给出一个描述告诉我们应该如何修改。
结果显示,ChatGPT 解决了 40 个 bug 中的 19 个,与 CoCoNut(19)和 Codex(21)相当,但标准的 APR 方法只解决了其中的 7 个问题。
当然,因为 ChatGPT 和 Codex 都是来自于同一个语言模型系列,所以解决问题的数量差不多也就不足为奇了。
此外,如果我们仔细观察结果还可以发现,ChatGPT 并不是每次都能解决基准测试中的 bug。仅在 BUCKETSORT 和 FLATTEN 这两个问题上,四次都发现了 bug,而其他的通常只能成功1-2 次。
也就是说,用户在实际使用时,可能需要尝试数次才能获得正确的结果。
不过,ChatGPT 有一个强大的优势:我们可以在对话中与系统互动,更详细地对问题进行说明,从而获得正确的答案。
实际测试结果,也确实如此。
经过与模型更进一步的对话,研究人员成功地将 ChatGPT 的正确率刷新到了 77.5%,也就是修复了 40 个错误中的 31 个,远超 SOTA。
至少,目前看来,这件事是完全有可能的:开发人员将不再需要编写样板代码。
相反,他们可以专注于复杂的应用程序架构或网络安全等领域。
也就是说,虽然 ChatGPT 可能会完成某些编程工作,例如编写通用函数或样板代码,但它不会完全取代程序员。因为程序员的工作需要的不仅仅是写代码。
成为一名程序员需要技巧——能够构建程序、遵循逻辑并生成比各部分总和更宏大的东西。
码农:我自己「杀」自己
显然,ChatGPT 不是码农们做出的第一个「自我迭代」的产品。
咱们来排一排,那些会写代码的 AI。
谷歌的 Pitchfork
去年 11 月,坊间传闻,谷歌正在酝酿一个秘密项目,这个产品会通过机器学习训练代码,自己编自己,自己修复 bug,还能自己更新。
据知情人士透露,这个项目起初是由 Alphabet 的登月部门——X部门开发的,代号为 Pitchfork,去年夏天被转移到了谷歌实验室。
根据内部资料,Pitchfork 的作用是「教代码自行编写、自行重写」。
它能够学习不同的编程风格,并且根据这些风格写出代码。
一名谷歌员工表示,开发 Pitchfork 的初衷是希望建立一个工具,将谷歌的 Python 代码库更新到新版本。
AlphaCode:吊打 72% 程序员
2022 年 2 月,DeepMind 推出了「AlphaCode」系统,可以使用人工智能生成代码。
根据 DeepMind 的说法,AlphaCode 可以与人类匹敌。
DeepMind 使用编程竞赛平台 Codeforces 上托管的 10 个现有竞赛来测试 AlphaCode,它的总体排名位于前 54.3%,也就是说,它击败了 46% 的参赛者 。
DeepMind 声称,在使用编程竞赛平台 Codeforces 进行检测时,AlphaCode 解决了 100 万个样本中 34.2% 的问题。
另外在过去 6 个月参加过比赛的用户中,AlphaCode 的数据排到了前 28%,可以说「吊打 72% 人类程序员」!
当时,DeepMind 就指出,虽然 AlphaCode 目前只适用于具有竞争性编程领域,但显然,它未来的能力绝不会止步于此。
它为创造某些工具打开了大门,而这些工具将使编程变得更容易被人们接受,并且有朝一日可以完全实现自动化。
Copilot:代码补全神器
再往前,在 2021 年,GitHub 与 OpenAI 共同推出了一款 AI 编程神器——GitHub Copilot。
输入代码时,Copilot 会自动提示程序中接下来可能出现的代码片段,就像一个经过训练用 Python 或 JavaScript 说话的自动补全机器人。
Copilot 能够填充必要的代码块,只要它们不是特别复杂或者特别有创造性,这对于相当于手工劳动的编程,可太有用了。
2022 年 6 月 22 日,Copilot 正式面向C端上线,定价 10 美元/月或 100 美元/年,并向学生用户和流行开源项目的维护者免费提供。
现在,成千上万的开发者都在用 Copilot。在十几种最流行的语言编写代码中——有高达 40% 是依靠它来生成的。
GitHub 预测,开发人员将在五年内使用 Copilot 编写多达 80% 的代码。
微软首席技术官 Kevin Scott 还表示:「我们确信:GitHub Copilot 可以应用到数千种不同类型的工作中。」
不过,因为涉嫌侵权,在发布不到 5 个月后,Copilot 已经被愤怒的程序员一举告上法庭,索赔 90 亿美元。
而学会「软件工程思维」的 ChatGPT,能吊打它们吗?按 OpenAI 的速度,恐怕我们不用等太久。
参考资料: