程序员危!传OpenAI全球招外包大军,手把手训练ChatGPT取代码农

  新智元报道

  编辑: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 的速度,恐怕我们不用等太久。

  参考资料:

  https://www.semafor.com/article/01/27/2023/openai-has-hired-an-army-of-contractors-to-make-basic-coding-obsolete

  https://www.zdnet.com/article/chatgpt-can-write-code-now-researchers-say-its-good-at-fixing-bugs-too/