最近随着ChatGPT爆火出圈,网络上各种关于ChatGPT的争论声也不断;有些人把它当成一个更高级的聊天机器人,有人兴奋地看到了创业的风口,而另一些人对它取代人类的工作露出了不少担忧;那么它到底是推动社会不断前进的工具,还是妄图颠覆人类社会的T-1000?本文我们来深入的探讨一下ChatGPT的那些事。
当我们在谈论ChatGPT时,讨论的是聊天的欣喜,是失业的担忧,是未来的憧憬。
图灵测试就是将测试人和被测试者(一台机器或者人),在没有面对面的情况下,让测试者通过一些测试装置(例如键盘)像被提问者发问,如果被测试者超过30%的答复,不能使测试人确认出哪个是人、哪个是机器的回答,那么这台机器就通过了测试;这样的机器也被称为图灵机,图灵机也只是一个设想,并不是真正的机器。
图灵测试
其实我们发现图灵测试并没有对人工智能进行直接的定义,什么样才算是人工智能;而是反其道而行之,并没有拘泥于繁杂的过程,以结果为导向,达到什么样的结果(欺骗到测试人),才算是人工智能;我们有时候在处理棘手问题时也可以换个思路,以结果为起点对问题进行拆解。
在传记电影《模仿游戏》中,也对这位孤独的天才提出的设想进行了描绘,当图灵被警探关到审讯室时,警探提出了一个意味深长的问题:机器能思考吗?图灵就提出了玩一个游戏(正是图灵测试);最终图灵露出了笑容,他感觉到警探理解了游戏规则。
在图灵测试被提出后,很多科学家和实验室也向这个测试发起了冲击;在1966年,MIT实验室诞生了一个真正意义上的聊天机器人Eliza,它的定位是一名心理治疗师。
Eliza
Eliza主要的策略就是提出问题,并重新表述用户说的话,引导用户多描述问题。比如你告诉它:我今天有点头疼(headache),它就会告诉你头疼就去咨询医生用药;如果你说今天有点很沮丧(depressed),然后它就会说听说你不开心,表示很难过;如果你又说我妈妈(mother)照顾我,它会问你家里还有谁来照顾你。
Eliza通过关键词匹配规则对输入进行分解,而后根据分解规则所对应的重组规则来生成回复;通俗点说就是抓取句子中的关键字,比如发现句子中有妈妈这个关键词,她就会说:跟我说说你的家庭;其实它的背后就是很多的if/else代码。
到了1995年,受到Eliza的启发,理查德·华勒斯开发了一个聊天机器人Alice,并于1998年开源;Alice的技术原理主要是基于自然语言处理,它的目的是模仿人类的自然语言,与用户进行有意义的对话。它可以回答关于天气、新闻、体育等各种话题的问题,还可以与用户进行有趣的聊天。
Alice
不过目前阶段,无论是Eliza还是Alice,他们的原理都是基于模式匹配(PatternMatching),通过提取关键词,调用预先设好的文本进行回复。
这些对话机器人虽然能够进行简单的语言交互,但是对语句缺乏深度的理解和推理能力,很难和人类的对话水平相比。
但这种模式也并不是一无是处,可以避免很多重复性的工作,反而在我们身边也很常见。比如常见的购物网站、银行网站或App等,进入聊天界面先给你来一个热情的聊天机器人,巴拉巴拉罗列一堆关键词咨询你想干嘛。
上面我们也说到了,模式匹配的方式就算if/else代码写的再多,但是机器还是不能理解句子的真正含义,只是简单的回复,因此出现了一个新的模式,也就是:机器学习。
顾名思义,就是不进行人为的规定问题和答案,而是给机器一堆现成的案例,让机器来进行学习,这种方式也更加符合人类学习的认知规律。
这个阶段比较出名的就是SmarterChild(更聪明的小孩),它是ActiveBuddy股份有限公司于2001年开发,该聊天机器人用在了老牌即时通讯AIM,能够进行有趣的对话并快速访问其他服务的数据,比如天气、股票和电影数据;你甚至可以责骂它、刁难它,它似乎总是知道如何来应对。
SmarterChild也是最早集成到即时通讯平台的聊天机器人之一,在当时迅速引起了轰动,有3000多万用户在使用它;后来于2006年被微软收购,也被应用到了MSNMessenger上。
SmarterChild
不过SmarterChild后,聊天机器人被遗弃了好几年,微软也关闭了SmarterChild的高科技部门。
2010年随着机器学习中的一个领域人工神经网络(ArtificialNeuralNetworks简称ANNs)的爆发,人工智能迎来了空前的发展。
人工神经网络看起来很厉害,其实本质上就是一个不断的提取特征的过程,跟我们小时候学会认知事物很相似,就是找不同事物的特征;人工神经网络在得到一串样本数据后,也是通过学习提取所观察事物各部分的特征,将特征之间进行关联,再经过反复的训练,最后输出得到正确的答案。
通过这个过程,我们也能发现,人工神经网络需要海量的数据训练和强大的计算能力支撑;随着互联网的快速发展,大量的数据集也不再是问题。
Siri成立于2007年,2010年被苹果以2亿美金收购,最初也是以文字聊天为主,随后与全球最大的语音识别厂商Nuance合作,Siri实现了语音识别的功能,并于2011年在iPhone4S上首次亮相,在当时引发轰动,iPhone4S也成为了一代神机。
Siri识别你的声音使用的就是深度卷积网络,也是人工神经网络的一种;iPhone中专门有一个低功耗的处理器来运行这个神经网络,当相似度达到一定的阈值,就会启动Siri。
Siri的推出也标志着聊天机器人技术进入了一个新的时代,
Siri在官网宣传
而Transformer模型抛弃了传统的时序结构,并行处理序列中的所有单词或符号,同时利用自注意力机制将上下文与较远的单词结合起来;这就相当于学渣还在一个字一个字看书时,学霸已经一目十行,几个段落都看完了,这学习效率自然就杠杠的。
微软的GPT模型和谷歌的BERT模型,其中的T都是代表Transformer模型的意思。
我们发现一个规律,科学技术的发展进步总是伴随着理论研究的提出和突破。
既然模型有了,那肯定就有公司来对其进行商业化了,我们先来说说ChatGPT的母公司OpenAI,它于2015年由一帮硅谷科技大佬成立,包括我们熟知的特斯拉创始人埃隆·马斯克等,成立之初就确认了公司的主要目标:
包括制造“通用”机器人和使用自然语言的聊天机器人。
2018年,OpenAI在Transformer的模型基础上,又发布了生成式预训练语言模型(GenerativePre-trainedTransformer,即GPT-1);不过老对手谷歌的BERT很快就出现了,并且性能上全面碾压了GTP。
ChatGPT的发展历程
那被对手超过了OpenAI自然就不甘心了,于是疯狂砸钱,增大了训练数据集,陆续又发布了GPT-2和GPT-3模型,模型的参数量也从GPT-1的1.25亿个迅速“狂飙”到GPT-3的1750亿个;数量更庞大的参数量也就意味着模型具有更强大的表达能力和更小的预测误差,也就是可以生成更长、更自然的文本。
海量的模型参数就让GPT-3在一些比较复杂的问题上也能有很好的表现,比如代替人类写一些论文,甚至编写SQL语句、JavaScript代码等等。
2021年,OpenAI基于GPT-3模型进行修改和改进,调整了模型参数,添加了训练数据,年末发布了GPT-3.5,也就是目前很火的ChatGPT的原始模型。
2022年11月,ChatGPT上线仅仅几天就获得了100万用户,上线两个月,其月活就达到了惊人的1亿,成为历史上用户增长最快的消费应用。
月活1亿每个App需要月数
大量用户涌入的背后,是需要庞大的算力成本和服务器的投入;根据某研究机构的测算,运行这么复杂的GPT-3.5模型,需要的GPU芯片的数量就高达2万枚,而专业级显卡一般使用A100;根据某购物网站的数据,10万人民币一块A100显卡的价格在国内还是有市无价;因此粗略计算下,单单显卡的投入就至少在20亿以上;还有其他如数据采集、人工标注、模型训练等软性成本更是难以统计。
首先我们准备好一个接收短信验证码的手机号,打开sms-activate.org并注册账号,语言调整为中文,点击右上角充值按钮,支付方式选择支付宝。
充值
账号最低充值金额是1美元,按照当前汇率折算下来也就大概七块多人民币;我们可以先充值1美元。在左侧选择国家,然后搜索OpenAI,租期默认4个小时,点击出租;这里不同国家的价格也不相同,一般东南亚国家如印尼、泰国、印度尼西亚价格会便宜,但是现在用的人比较多,有概率会被OpenAI屏蔽或者没有号码的情况;其他欧美国家相对贵些,1美元有可能下不来,比如笔者选择的西班牙,就砸下去整整2美元。
可以对不同的国家号码进行尝试,在四小时内没有收到短信是可以退款的。
租用号码
粘贴手机号码时需要把前面的国际区号删掉。
验证手机号
回到sms-activate页面,我们在留言中可以看到收到的OpenAI的code,粘贴即可。
收到验证码
注册完成后我们打开chat.openai.com/chat就可以使用了。
主界面
它的使用方式也很简单,在下面输入框中输入你的问题,点击发送按钮,就能喜提一个上知天文下知地理、无所不能的话痨机器人了。
所以,这么多科技大佬砸了几百亿研发出来的ChatGPT,仅仅是用来给我们聊天的吗?要想了解这个问题,我们不妨先来问问ChatGPT自己吧。
应用场景
确实,让ChatGPT用作聊天机器人,确实有点杀鸡用牛刀了;但是,我们先来看看这把牛刀,用来杀鸡到底够不够快呢?我们要是想要搞点事情,就需要调用API,而OpenAI刚好在近期提供了APIKeys的接入方式,可以将ChatGPT集成到我们的应用程序和服务中。访问platform.openai.com,点击APIKeys=>Create按钮,在出现的弹框复制keys即可。
弹框隐藏后就看不到apikey了,需要去重新生成。
生成APIkeys
除了用来聊天,在工作和学习中,也深受众多学生和职场人追捧。在国外一所大学哲学教授评分时,十分惊喜的读到了一篇“全班最好的论文”,论文以简洁的段落、恰当的举例和严谨的论据探讨了一个哲学问题;然而在教授的追问下,学生「承认了论文是用ChatGPT写的」。
在工作上,ChatGPT也挽救了不少职场人的发际线,用它生成了包括且不限于:领导讲话稿、媒体通稿、集团简介、颁奖词、祝酒词、宣传册等等,甚至连周报月报、请假理由这些微不足道的小事,它也能给你包圆咯。
请假理由
在文字润色方面,ChatGPT丝毫也不输专业的编辑,在周报月报甚至是年报中,这就相当实用了,懂得都懂。
周报
对于一些简单的工具函数,我们可以很方便的让ChatGPT直接生成即可;比如我需要一个隐藏手机号码的函数,描述这个函数的功能即可;甚至还能够联系上下文,这是以往的人工智能没有实现的。
生成javascript函数
错误的案例
ChatGPT的回答
在之前办公软件一文中我们就介绍了ONLYOFFICE,在ONLYOFFICE官网免费下载桌面版或者免费注册在线个人版,在办公软件里面使用ChatGPT,快速的生成文案。
首先需要安装插件,我们在github克隆代码后,找到/sdkjs-plugins/content/openai/,选择所有文件添加到ZIP文件,然后把文件格式改成plugin;打开文档界面,找到插件=>Setting=>Addplugin,选择我们的plugin文件,插件就成功安装了。
添加插件
然后输入上面获取到的APIKey,我们的插件就激活完成了;在文本字段中描述我们想要生成的文案内容,点击提交按钮即可;ChatGPT会对请求进行处理,在几秒钟内返回响应,并在文档中以纯文本的形式插入。
生成文案
很多小伙伴看到这里肯定也不得惊叹:这ChatGPT确实太厉害了!笔者的很多程序员小伙伴也都在感叹:我们是不是要失业了,但是目前看来暂时还不会,毕竟它的训练成本确实高昂,应用落地起来不容易。
取代打工人
ChatGPT会完全替代程序员的工作吗?
在编程方面,笔者觉得ChatGPT在目前阶段还不能完全的取代程序员;在生成代码片段虽然能够很好的实现,有点类似之前的Copilot;但是在复杂的项目中,需要去理解不同文件模块的含义,从而进行调用,ChatGPT就无法取代了;在代码bug修复、前后端联调、跨部门协调、出差对接等需要组织协调的工作上更是无法替代人工。
笔者认为ChatGPT带来更多的是编程效率的提升;比如原来我们需要一天做的工作量,有了它的协助,一些重复简单的模块我们直接丢给他就能生成了,最终可能不到半天就能够完成了。
商汤科技董事长:未来软件的代码可能80%都是由AI生成的。
虽然目前看来并不能完全的替代,随着硬件成本不断降低、机器学习能力提高;当机器训练的成本低于程序员的工资时,你觉得资本家在需要交五险一金、时不时还要摸鱼的你和三四毛一度电、24小时不停运行的机器之间如何抉择呢?相信未来原本可能需要数十人的研发部门,最终只需要三四个核心工程师维护就能保证业务的正常进行。
未来我们如何去选择就业?
未来ChatGPT虽然会替代一部分低端的岗位,但是肯定也会不断创造出新的职位;就像计算机的出现淘汰了打字员,但是创造了大量的程序员岗位一样,人工智能创造出很多新兴岗位,比如提示词顾问师(笔者自己臆想),专业负责给ChatGPT提问生成相应文案或者素材;这是社会进步的必然趋势,也是逼着被历史大势裹挟前行的我们,不断的学习进步。
取代程序员
在前端方面肯定也会淘汰很多初级的程序员,程序员的门槛不断降低;因此我们需要在人工智能取代我们之前不断的学习进步;笔者认为在WebGL方面,人工智能对于复杂图形化和对美学的理解还是不能够替代人工,因此前端的小伙伴可以尝试进阶这块领域,同时高级架构师也是不错的方向。
我们正处在一个见证历史的时刻,没人能够在人工智能的历史洪流面前独善其身,保持傲慢不屑的态度只会加速被淘汰,正如小说《三体》中说的那样:
弱小和无知不是生存的障碍,傲慢才是。
在电影流浪地球2中,刘培强问Moss,人类能活下来吗?Moss说人类的命运取决于自己的选择;就像我们现在问ChatGPT会不会取代程序员一样,虽然它告诉我们还无法完全取代,但是如何做出选择,是关系着我们每个人的命运;而当历史的车轮缓缓驶过时,我们唯一要做的事,就是尽量跑在它的前面。