当前位置: 首页 > 科技观察

程序员危险!据说OpenAI正在全球招募外包大军,训练ChatGPT搞定码农

时间:2023-03-19 19:10:02 科技观察

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