OpenAI的新模型ChatGPT才诞生没几天,已经成为广大网友的「装逼利器」。
它的回答不说正确不正确,乍一看可是碉堡了。
再加上生成起来格外方便,一时间这些「看起来不错」的回答就如同潮水般涌向了那个带着全世界代码跑的传奇问答网站,计算机学子真正的老师——Stack Overflow。
然而,为了判断这些答案的对错,就需要让大量具有专业知识的人仔细考察才行。
被逼无奈之下,Stack Overflow不得不急发声明:ChatGPT,禁了!
错误多得离谱,应封尽封
眼看着讨论热火朝天,作为全世界第二大程序员交友网站的Stack Overflow官方这边也是态度鲜明:
不要想着用AI机器人混淆视听,发回答就好好发,禁止用ChatGPT直接生成垃圾答案,否则封号。
Stack Overflow在官方通告中表示:这是一个临时性规定,目的是为了应对目前论坛上ChatGPT生成内容的泛滥之势。
通告指出,做出这个规定的主要原因是,ChatGPT自动生成的答案质量太低,错误太多,而且看上去还挺像那么回事,即使是完全不懂的人也能随便生成答案。
作为一个以问答质量为标杆的社区,这些低质答案会给那些来此寻求帮助的人造成严重困扰和不便,对Stack Overflow本身而言也是有害的。
Stack Overflow表示,未来将继续权衡围绕 ChatGPT「和其他类似工具」的新政策,但决定日期以及最终限制的内容尚不清楚。
总之,Stack Overflow这边的态度很明确,总结起来就是:「玩归玩,闹归闹,别拿问答开玩笑」。
网友拍手叫好
而对于这个决定,底下的围观群众有表示完全赞同的。
——干的漂亮!真希望这个决定不是临时的,而且不仅局限于ChatGPT,应该扩大到所有AI生成的答案。靠AI永远给不出高质量的编程答案,再过100年都没戏。
——这个禁令不应该是个临时措施。
使用ChatGPT可以通过疯狂灌水,自动生成答案来刷分,即使这些答案是否正确他们根本不知道,也不关心,这对Stack Overflow论坛生态的危害是显而易见的。
不过,想要识别这类答案实际上并不容易,怎样保证「应封尽封」是个很大的问题。
很多专业人士能看出来这种「伪答案」里的错误,但能做的也就是点个踩,不能保证这些内容被清理。
禁止这样的内容是好事,不过审核的人能做什么呢?上面有帖子说,这些AI生成的答案可能看起来像高质量答案,这意味着对于训练有素的人来说,可能会发现错误而点个踩。
这些AI冒充的用户的答案可能有一些赞,也有一些踩,因为这些回答看起来像高质量答案。
我不知道如何判断一个答案是不是ChatGPT生成的,而且现在自定义标记需要几个月的时间来解决,在及时处理前,这些用户可能继续损害Stack Overflow。
那么,ChatGPT到底泛滥到什么程度了呢?
有网友自己尝试将提出的问题贴在ChatGPT的对话框中,和后面的一个「真人」给出的答案做了对比,看看到底生成的答案能不能用,结果发现这个「真人」明显不对劲。
这是他自己用ChatGPT生成的回答:
这是所谓「真人用户」给出的回答:
不难看出,两个答案套路上如出一辙,用语口吻也非常相近,代码示例上也是几乎相同。
这分明也是ChatGPT生成的伪答案。目前这个「用户」已经被Stack Overflow封禁。
其实从ChatGPT的发布方OpenAI看来,这个AI工具的重要用途之一正是帮助程序员检查代码,而作为编码辅助工具,在Stack Overflow上答答题,本来是ChatGPT的正当用途之一。
没想到刚出了不到一星期,就被无情封禁。也不知道是怪自己「学艺不精」,给出的答案没有帮助,还是怪网友太狡猾,最终不堪重负被玩坏了。
有媒体联系了OpenAI,问其计划如何处理这些自动生成答案的准确性问题,目前还没有收到回复。
Stack Overflow还不能被取代
作为一名开发者,你肯定知道这个让亿万公司的程序能够跑起来,让亿万计算机学子能够拿到毕业证的Stack Overflow。
在这里,你可以找到实现某些功能的最佳实践,或者找到那个只有在月圆之夜的凌晨4点才发生的晦涩难懂的错误的解决方案。
不过,在2021年被Prosus以18亿美元的价格收购之后,大家曾普遍在担心是不是也要开启付费VIP模式。而那一天的到来大概会是程序员们的「末日」。
好在,到目前为止,Stack Overflow的用户体验依然是极好的。
至于OpenAI的ChatGPT,它不仅可以回答任何领域的问题,而且每一次的答案都非常精确和详细。
比如,当你问到「How to iterate over an keys and values array in Javascript」时,这就是答案:
锦上添花的是,ChatGPT还能通过一个支持性的例子和解释,告诉你这个JavaScript中常见问题的最佳的解决方案:
那么问题来了,既然ChatGPT可以在输入问题的几秒钟内给出答案,并且还提供了可以直接复制的代码,为何我们不系统性地去使用它呢?
因为,ChatGPT有三个「致命」的缺陷:
1. 输入不能有错
在使用ChatGPT时,必须要精确,哪怕是一个代词(a/an)的改变,答案都会完全不同。
比如,之前的那个问题「How to iterate over an keys and values array in Javascript」,这次我们去掉一个「an」,变成「How to iterate over keys and values array in Javascript」
现在ChatGPT给出的解决方案,就只对由统一的元素列表组成的简单数组有效了。
2. 解释不人性化
比如接下来这个Stack Overflow上投票最多的问题:
「为什么对已排序数组的操作比对未排序数组的操作快?」
ChatGPT给出的答案,毫无疑问是正确的,但仅此而已。
因为,如果你能理解这个答案的话,自然也不需要问这个问题。
而如果你需要问这个问题,也就意味着你不太能看懂ChatGPT给出的回答……
相比而言,Stack Overflow上的答主首先会用非技术性的术语提出了一般的背景,然后逐渐将主题拉回到最初和最后的问题上,以加深思考。
当然,不是所有Stack OverFlow上的答案都是(也不需要)如此定性和详细的。
但这个例子充分地说明了,人与AI大的区别是,后者无法确定对方的理解水平,从而调整回答。
简单来说就是,AI会以同样的方式和术语来解释「相对论」,不管你是物理系的教授,还是普通大学生,或者对此一窍不通的小白。
这对于AI来说,并不重要。
3. 社区的作用
不管你喜不喜欢,Stack OverFlow最大的优势是它的社区。这个平台的创建和运作方式,就是为了鼓励和鼓励最大多数人的贡献。
而正是这种种类繁多的答案和意见,让用户可以通过考虑每个解决方案的优点和限制,来确定自己的位置并进行选择。
此外,Stack OverFlow的另一个优势在于同行验证。一个被成千上万的开发者证明和测试过的解决方案,可以为其正确性提供极大的保证。(当然这并不意味着100%是正确的)
P.S. 用还是可以用的
毋庸置疑,Stack OverFlow永远不会被取代。它和GitHub,将永远是解决那些需要个性化解释或者高难度棘手问题的好去处。
就像Copilot、Intellisense和高级IDE一样,ChatGPT(即使它不只限于代码)只是一个工具,在开发者日益丰富的工具调色板中。就像任何自学模型一样,它将随着时间的推移学习和自我纠正并改进。
但是下一次,与其在Stack OverFlow上为相对简单的问题(如何在Flutter中触发HookConsumerWidget的重建)等待几天,不如直接向ChatGPT提问。
毕竟,你有很大概率能够得到一个可以用于解决问题的起点:
为什么ChatGPT会犯这么多低级错误?
这几天,全体网友都把ChatGPT玩疯了。很多人都意识到,这个新AI确实是一个「装逼利器」——不费吹灰之力,就能给你生成一个牛逼闪闪的答案。
而拨开这层华丽的外衣,仔细看进去,就会发现它的回答经常错漏百出。
比如:我在2022年是37岁,那么在1985年的时候,我是几岁?
ChatGPT:1985-2022=-37,由于年龄不能是负的,所以此题无解。
额,有没有一种可能,出题人出生于1985年呢?
再比如这位网友问ChatGPT,霍布斯主张三权分立吗?
ChatGPT自信满满地给出了答案,还不忘引经据典。
但是,它的回答是错的。
霍布斯是专制主义的支持者,在他看来,替代无政府状态的唯一可行方案,就是将权力赋予君主。
权力在行政部门和立法部门之间分配、制衡的观点,是跟霍布斯同时代的哲学家约翰洛克提出的。
那么,为什么ChatGPT会犯这样的低级错误?
很明显,这是因为在政治哲学中,霍布斯和洛克几乎总是被一起提及,当ChatGPT去网上找霍布斯的资料时,自然就找到了洛克对三权分立的阐述,然后就错误地把这个观点扣在了霍布斯的头上。
从这个例子中,我们也可以看出支撑ChatGPT的GPT-3语言模型的局限——它只能抓取,但无法推理,也无法思考。
所以,这其实是一个概率的东西
最近,很多人都在讨论:哪些工作会首先被AI所颠覆?
这是一个悬而未决的问题。但至少我们可以从老师布置的作业中,得到一丝启示。
当老师给学生们布置一篇政治哲学论文时,学生的成果对这个世界而言,通常只是对一百万次已经写过的东西的反省。
而有趣的是,AIGC的文本并不像一道数学题,它没有唯一一条通往正确答案的路。
是的,AI的输出,是概率性的:ChatGPT没有任何标记了对错的内部记录,它其实是一个统计模型,这个模型中,是在不同上下文中的语言组合。
而上下文的基础,就是GPT-3训练所用的整体数据集,来自ChatGPT的RLHF训练的额外上下文,prompt和之前的对话,以及很快就会有的反馈。
这些组合产生的结果,无疑令人兴奋。
ChatGPT会运行整个虚拟机,会写代码。
当然,ChatGPT并没有运行python,答案其实是从构成GPT-3的互联网数据语料库中收集的概率结果——
ChatGPT在10秒内做出了最结果的最佳猜测,这个猜测很可能是正确的,感觉仿佛就是一台真正的计算机在执行相关的代码一样。
这种可能性,足以让人类惊喜。
虽然对于要求准确性的代码工作来说,它有不少灰色地带。
但对于AIGC的其他领域,比如生成文本、图像,这种多重的可能性无疑帮助人类拓展想象力的边界。
ChatGPT的商业模式,推动人工智能的革命
为什么这几天ChatGPT会爆火呢?
作为底层模型的GPT-3,其实已经诞生两年了。与之不同的是,ChatGPT既免费,又好用。
阅读AI输出的示例是一回事,而自己生成输出,又是另一回事了。
AIGC的革命早已掀起。当Midjourney使AI生成的艺术变得简单、免费时,人类对此的兴趣和意识也就出现了爆炸式的增长。
ChatGPT是免费的,这很关键。
要知道,在OpenAI的API上,最大的限制因素就是成本。
使用OpenAI最强大的语言模型Davinci生成750个单词,成本为2美分;使用RLHF或其他方法对模型进行微调,也会花很多钱,从微调模型生成750个单词,需要12美分。
ChatGPT的迷人之处在于,它使得OpenAI变成和MidJourney一样的消费AI产品领衔者。
Midjourney订阅的商业模式,对于在GPU时间方面具有边际成本的东西,很有意义。
对此,前GitHub的CEO Nat Friedman曾提出这样一个有趣的观点:在现实世界,AI的应用程序其实是匮乏的。
现在,研究人员每天都在以飞速的方式向全世界提供着大量新功能,而企业和产品人员才刚刚开始消化这些新功能。
再往前想一步,当AI在现实世界中不再匮乏的时候,人类是否会被AI取代?
让我们来看一看AI对这个问题的回答。