从chatGPT的爆火,纵观自然语言生成式AI的前世今生

AIGC在这几个月成了一个大热的话题。

颇有些风水轮流转的感觉,如同年初大火特火的web3一样,AIGC是现在的当红炸子鸡,创业投资讨论里如果不带点AIGC就是妥妥的落伍。

没有跟上AIGC的步伐,仿佛就要被世界所抛弃。

但是,必须指出的是,当下在AI绘画或者AI生成其他形式内容的大模型里,对自然语言的理解是一个首要的关键环节,而之所以AI绘画能火爆出圈,有至少一半的功劳必须归结于,当下最新的AI绘画模型可以直接"理解"用户的语言输入,以及在模型内部里把语言内容理解和图像内容理解紧密结合起来。

生成式AI就像人工智能皇冠上的一颗明珠,不是唯一的一颗,但绝对璀璨耀眼。尽管AI在信息分析处理等各个方面都发挥着重要作用,但"生成式AI"的出现无疑影响更深远:生成即创造,生成式AI的突破,意味着AI开始走向了创造新内容世界的大道。

罗马不是一天建成的,就让我们一起回顾和尝试理解,这激动人心的一切究竟是怎么发生的。

在回顾历史前,首先要跟风提一下几天前发布的chatGPT,一个绝对神仙级别的自然语言生成式AI。

chatGPT诞生的重要意义恐怕不亚于StableDiffusion等AI绘画生成模型的出现。有兴趣的朋友可以感受去chat.openai.com感受一下这个当今最牛逼没有之一的自然语言问答式AI的巨大威力。

chatGPT是明星人工智能公司OpenAI的GPT自然语言生成式模型的最新衍生品。在这之前,坊间已经传闻OpenAI的下一代自然语言生成模型GPT4即将出现。而且,有一个让人震惊的江湖传言:GPT4据称通过了图灵测试!

图灵测试究竟是什么意思?简单的说,就是隔着一个小黑屋问各种话题,然后是否能分辨小黑屋里回答问题的究竟是机器还是人类。如果无法辨别,就就说明了机器具有和人一样等级的智能,通过了图灵测试。

迄今为止,还没有AI模型能真正通过图灵测试。看来临界点已经到,笔者都迫不及待的期待GPT4的真正推出了。

谁知道,还没等来GPT4,衍生自GPT3.5的chatGPT却先来了。

顾名思义,chatGPT就是"聊天GPT",以对话的方式交互,用户问问题,它来回答。

咋听起来,似乎也没有很新鲜。但情况是,chatGPT的智能化远远超出了那些它的聊天AI前辈们。

好比StableDiffusion/Midjourney也就是AI绘画,但所能生成的AI绘画质量甩了前辈无数条街。

先随意上几个问答大家感受一下:

问中国菜,算是送分题:

问从希格玛大厦如何去天tian安门,开始有点难度了,回答非常正确!

(要知道,这可不是某个特地为了中文导航优化的AI,chatGPT是从它通用的知识积累里得到的理解)

对龙珠的剧情理解,回答中规中矩,80分+,本来作者期望它能讲得更详细些:

吃货国家问题,有点刁钻了:

广东人真的喜欢吃甜的?这个问题很多中国人都不一定答得上:

美帝问题来一问(看来chatGPT果然经过了特别设置,过滤了敏感问题):

另外,可以直接问chatGPT怎么写代码,比如写一个俄罗斯方块:

没有悬念,代码完全正确。

而更有想象力的,是让chatGPT来生成AI绘画的输入关键词!让AI自己来指导AI作画,多美妙的主意。

这仅仅是一个开始,随着chatGPT在全网的各种自来水安利,相信还有更多古灵精怪的玩法不断被网友们挖掘出来。

chatGPT的回答给人的感觉是,这是一个特别靠谱的聊天AI,真正的上知天文下知地理,最关键的是,它不胡说八道!正因为它回答的准确性,看起来chatGPT有了替代通用搜索引擎Google的可能性。

OpenAI的CEO萨姆阿尔特曼(SamAltman)对ChatGPT的未来发展表示很有信心。他在推特上说,语言接口是未来的一个发展方向,OpenAI只是一个先行者,相信很快大家就能用上真正智能的提供建议的AI助手了。

测试版的chatGPT仍有一些缺点,但这都只是战术级别的;在战略上,chatGPT的前景已经相当令人期待,特别是OpenAI下一代GPT4加持下的chatGPT,其能力恐怕更加突破天际。

我们也许正在经历又一个AI突破的时刻,一如2022年初到年中AI绘画的势如破竹。而这次,则是人类通用信息生成的突破!

喜欢刨根问底的读者们会问,AI是如何走到这一步的?

让我们远离现实的喧嚣,把目光投回到那有点遥远的过去吧。

从某种意义上,语言表达是人类信息和思想交流的窗口。人类并没有第七感,也没有脑电波直达的交流(目前没有),信息沟通都通过口头语言和书面语言来传递。(当然,可以说还有一些手势和肢体表达,但信息量基本可以忽略不计)

针对语言信息的人工智能处理,或者学术一点,"自然语言处理NLP",是科学家们最早研究,人工智能最早发源的领域。

远在1956年,美国的达特茅斯学院举行了一次具有传奇色彩的学术会议(DartmouthConference),计算机专家约翰·麦卡锡提出了“人工智能”一词。这被广泛认为是人工智能正式诞生的日子。

1956年的达特茅斯会议,十位参与的科学家,AI之父们。

这个会议很有意思,事后诸葛亮的我们,一起来看看这个会议7个特别有前瞻性的主要议题:

"如果一台机器可以完成一项工作,那么就可以对一台自动计算器进行编程来模拟这台机器。目前计算机的速度和内存容量可能不足以模拟人脑的许多高级功能,但主要的障碍不是缺乏机器容量,而是我们无法编写充分利用我们所拥有的机能。"

现代第一台电子计算机ENIAC的发明日期是1946年2月14日,也就是说,当时距离第一台电子计算机的诞生仅仅过去了10年。先驱们的遗憾是当时高级程序技术还基本没有,无法充分发挥计算机的作用。

"可以推测,人类思想的很大一部分是根据推理规则和猜想规则来操纵词语的。从这个观点来看,形成泛化就是承认一个新词和一些规则,其中包含这个新词的句子暗示和被其他句子暗示。这个想法从来没有被非常精确地表述过,也没有例子。"

先驱们对语言文字的机器理解充满了预期,而直到现在,有了GPT这些当超大规模的自然语言AI模型,我们才堪堪敢说,先驱们的期望逐渐在实现,计算机开始真正理解了语言。

"一组(假设的)神经元如何排列以形成概念。很多当下的计算机科学家等人已经就这个问题做了大量的理论和实验工作。已经获得了部分结果,但这个问题还需要更多的理论工作。"

神经网络!在AI概念诞生之时,先驱们就意识到了,人工神经网络的概念将要在AI里发挥重要作用。

"如果给一个很好的问题(一个可以机械地测试所提出的答案是否是有效答案的问题),解决它的一种方法是按顺序尝试所有可能的答案。这种方法是有效的,要排除它,必须有一些计算效率的标准。一些考虑将表明,为了获得计算的效率的度量,必须手头有一种测量计算设备复杂性的方法,如果有函数复杂性理论,这反过来也可以做到。香农和麦卡锡已经获得了关于这个问题的一些部分结果。"

"也许真正智能的机器会进行自我改进的活动。已经提出了一些这样做的方案,值得进一步研究。这个问题似乎也可以抽象地研究。"

这是一个很有挑战性的问题,用现在的观点可以换个说法:AI是否能实现自我编程自我提升?或许很快就可以了。

"许多类型的“抽象”可以被清晰地定义,而其他一些类型则不那么清晰。直接尝试对这些进行分类并描述从感官和其他数据中形成抽象的机器方法似乎是值得的。"

通过机器智能来对各种信息自动加以分类和抽象,这正是当今各种牛逼闪闪的AI大模型正在达成的成就。

"一个相当吸引人但显然是不完整的猜想是,创造性思维和缺乏想象力的有效思维之间的区别在于注入了某种随机性。随机性必须由直觉引导才能有效。换句话说,受过教育的猜测或直觉在其他有序的思维中包括了受控的随机性。"

先驱们非常直观的理解,是否有随机性是创造性思维和非创造性的分析思维的重要区别。

而随机性需要由一些"直觉"引导,或者说真正的AI需要一种"受控的随机性"。

其实,当前AI绘画生成机制里很好践行了这个洞察:在每一幅AI绘画背后都是一个AI模型(比如StableDiffusion)+一个确定的输入(一组关键词)+一个系统生成的随机数。同样的"关键词组+随机数"输入到AI模型里,必然生成一个完全相同的AI绘画作品,这不就是"受控的随机性"嘛。

达特茅斯会议的参会先驱们都是大神,也值得在这里简单提一下:

约翰·麦卡锡(JohnMcCarthy),率先提出了AI的概念,开发了码农熟知的程序语言Lisp。有意思的是,Lisp是在1958年发明的,看看会议的第一个议题,抱怨没有好用的编程语言可用,大牛的态度就是没有趁手的工具吗?那我就自己发明一个!

约翰·麦卡锡在1971年获得了图灵奖。

马文·明斯基(MarvinMinsky),在1951年在普林斯顿大学读博士的时候,建立了第一个神经网络自学习机器SNARC(StochasticNeuralAnalogReinforcementCalculator随机神经模拟强化计算器),这是第一个真正意义上的人工神经网络硬件,用3000个真空管来模拟了40个神经元的信号传递。

明斯基的博士论文也正是神经网络。有趣的是,明斯基拿的是数学系博士学位。当时有人挑刺说神经网络的研究能算数学?而当时支持明斯基的正是大名鼎鼎的现代计算机之父冯诺伊曼.冯.诺伊曼说:现在不算,但很快就得算了。

明斯基在1969年获得了图灵奖。

克劳德·香农(ClaudeShannon),通信科学鼻祖,大名鼎鼎的香农定理是所有通信制式最基本的原理。和计算机鼻祖并驾齐驱的香农同学就不需要图灵奖了,因为在通信领域有以他的名字命名的的最高奖香农奖。

赫伯特·西蒙(HerbertSimon)和艾伦·纽厄尔(AllenNewell)在达特茅斯会议上报告了世界上第一个AI项目“逻辑理论家(theLogicTheorist)”。

这个AI证明了<数学原理>第二章52个定理的38个,甚至找到了比原教材更优美的证明。两人合作提出了搜索式推理的方法,开创了人工智能除神经网络学派之外的第二条路线:符号主义学派。这两位在1975年一起拿到了图灵奖。

题外话是,这两位牛和当时数学系主任、第一届图灵奖获得者阿兰.珀里思(AlanPerlis)一起创立了卡内基梅隆大学的计算机系,从此,CMU成为计算机学科的重镇。

在达特茅斯会议之前,还有一个1955年的小讨论会议"学习机讨论会",在那次讨论会上,主持人也是神经网络的鼻祖之一的皮茨Pitts做了一个有趣总结:"...一派人企图模拟神经系统(NeuronNets),一派人企图模拟心智(mind,就是上面西蒙的符号派)...但最终大家的目的一致"。

这句眼光毒辣的话,冥冥之中预示了随后几十年间AI研究"结构V.S.功能"的神经网络派和符号主义派两条路线之争。

达特茅斯会议之后,AI进入了一个大时代,人们惊奇的发现,计算机居然可以证明数学定理,学习使用语言。在众多AI研究方向中,搜索式推理,自然语言处理最有影响力。

从1955年到1974年是AI的第一次发展高潮,大量成功的初代AI程序和研究方向不断出现。AI先驱们非常乐观的预言:

"十年之内,数字计算机将成为国际象棋世界冠军。"(1958年,H.A.Simon,AllenNewell)

"二十年内,机器将能完成人能做到的一切工作。"(1965年,H.A.Simon)

结果呢?事后诸葛亮看回来,当然是被啪啪啪的打脸啦。

到了70年代初,AI科学家们逐渐发现,虽然机器拥有了简单的逻辑推理能力,但遇到了当时完全无法克服的基础瓶颈,这些瓶颈基本就是时代的局限:

且不说当时最原始的计算机那点可怜巴巴的算力了,我们知道,一直到了最近十来年,个人计算机组网之后的并行算力才真正达到了可以支持现代AI大模型训练迭代的要求。

这就是个大数据的基础积累问题。而大数据的积累,也是在现代互联网的迅猛发展之后,才得到了真正的解决。

还有一个神奇的事情是,人工神经网络这个当下最主流的AI发展路线,在当时阴差阳错的遭到了巨大打击一蹶不振。而暴击了整个神经网络研究的,正是人工神经网络的缔造者马文.明斯基本人。

前面说过,明斯基搭建了第一个神经网络自学习硬件机器。当时有一位明斯基低一届的高中学弟弗朗克罗森布拉特(FrankRosenblatt),从康奈尔大学获得博士学位后,跟随师兄的步伐,获得了美国海军研究室资助,研制了人工神经网络“感知机(Perceptron)”。

而这个时候,明斯基自己回到哈佛任教,申请国防项目却遭到了挫折,让明斯基特别郁闷的是,自己曾服役的海军把经费投给了学弟,支持的却是自己好几年前就玩过的神经网络。数学背景深厚的明斯基拿起数学武器对人工神经网络进行了扎实的理论分析,并在1969年出版了《感知机》,通过数学理论推演指出罗森布拉特的感知机功能有限,甚至不能解决线性不可分问题。(如不能用一个直线或者一个直面把二维或者三维坐标系中的两类数据很好的划分。就是线性不可分。)

明斯基在《感知机》书中暗示说:把感知机从一层神经网络推广到多层的思路是没有希望的。

既然连AI先驱和人工神经网络缔造者本人的明斯克都说,神经网络这个方向没戏了,所有的研究者都深感气馁,神经网络的研究从此走向了低潮。更可惜的是,在2年后,发明感知机的学弟罗森布拉特遭受意外去世,再也没人出来挑战明斯克的结论了。

然而,历史总喜欢和人开玩笑。事实上,是明斯克错了。

总而言之,在70年中后期,因为AI完全达不到所预言的完全智能的程度,只能停留在"玩具"阶段。原先过高的承诺引发了公众过高的期望值,转而变成彻底的失望和针对AI研究的激烈批评,最终大量机构对基于神经网络的人工智能研究减少甚至停止拨款。AI研究走进了第一次寒冬。

在80年初,一类名为"专家系统"的AI程序开始为全世界公司青睐,人工智能研究又迎来一波高潮。

什么是"专家系统"?百度百科的解释如下:

专家系统是一个智能计算机程序系统,其内部含有大量的某个领域专家水平的知识与经验,它能够应用人工智能技术和计算机技术,根据系统中的知识与经验,进行推理和判断,模拟人类专家的决策过程,以便解决那些需要人类专家处理的复杂问题,简而言之,专家系统是一种模拟人类专家解决领域问题的计算机程序系统。

一句话说,专家系统根据过往的知识经验积累来模拟人类专家从而进行逻辑推理和判断。

等一下,这个说法是不是有点熟悉?听起来似乎有点像AI先驱赫伯特·西蒙(HerbertSimon)和艾伦·纽厄尔(AllenNewell)所做的第一个AI项:“逻辑理论家(theLogicTheorist)”。

事实上,这正是人工智能两大路线的符号主义派的成果体现。第一条路线神经网络派在当时被自己的鼻祖明斯克按在地上摩擦,第二条路线则在80年代初恰逢其时的站了出来。

专家系统的一个典型项目是专家配置器XCON(eXpertCONfigurer),由卡内基梅隆大学为DEC公司设计开发。该系统可以说是世界上第一个(特定领域的)推荐引擎,通过几千条规则来对计算机部件的选择进行最优化。从1980年投入使用以来,它为DEC公司制造VAX系列电脑节省了数千万的成本。随着XCON的成功被更多企业所了解,专家系统在80年代中期迎来了它的繁荣,造就了一个数十亿美金的市场。

不过,最为普通人所熟知的专家系统应该是后来的IBM超级计算机"深蓝"。IBM从1985年开始研发"深蓝"计算机,它是一个专门针对国际象棋的专家系统。1996年,它在六场比赛中的一场中击败了国际象棋大师加里·卡斯帕罗夫(GarryKasparov),名扬天下。

但专家系统在工业界多少有点昙花一现,繁荣之后迎来的是迅速的没落。这是因为80年代的专家系统存在着基础性的问题,首先就是专家系统的知识领域过于狭窄难以拓展。

说到这里,笔者读书时曾经困惑过,为什么"深蓝"那么牛逼的系统,赢了国际象棋后好像就泯然众人矣,并没有继续在其他领域发挥光和热。

而答案就是,看来它只能用来下国际象棋。

此外,在专家系统变得越来越庞大后,为其提供和管理数据,开发和测试都变得越来越复杂。更要命的是,专家系统是不会自己学习的,这意味着必须不断更新底层逻辑来保持专家系统解决领域新问题的能力。这大大增加了系统维护成本和复杂性。

这就是人工智能的第二次繁荣后的又一次寒冬。而导致第二次AI寒冬的原因,除了前面所说的应用范围的局限性和商业过分追捧导致最后泡沫的破裂,还有那两个老大难问题:

(1)计算机的算力瓶颈仍然无法突破

(2)仍然缺乏训练AI的足够海量数据

有些读者或许会问,在当下这两个老大难问题或许可以说初步被解决了,那么专家系统这条路线是否重新有用武之地呢?

MetaCiceroAI成功的关键因素,正是重新引入了和大数据模型结合的专家知识系统。

在当年的专家系统开始走向低谷之时,深度学习的前身人工神经网络却取得了革命性的进展,在1986年戴维·鲁梅哈特(DavidRumelhart),杰弗里·辛顿(GeoffreyHinton)等人推广了由保罗·韦尔博斯(PaulWerbos)发明的反向传播算法(BP算法),使得大规模多层神经网络训练终于成为可能。

反向传播算法使得神经网络的中间级可以学习到数据输入的有效表达,这就是神经网络乃至深度学习的核心思想。困扰AI先驱们的多层神经网络无法训练的难题终于被突破了。

不知道曾亲自给神经网络盖棺定论的明斯基,当时听到这个消息的心情是什么。

稍作休整,在我们步入当下的第三次浪潮之前,先再来回顾一下人工智能的两条路线之争:

符号主义:传统的研究思路,主张通过功能模拟入手,把智能看做是符号处理的过程,采用形式逻辑来实现人工智能,所以称之为"符号主义(Symbolism)"或"逻辑主义(Logicism)"

符号主义可以对形式化表达的问题(比如下棋,数学定理证明)有效,但人类很多的常识,以及接收的很多信息都无法用符号表达,比如视觉听觉等基本感知能力,虽然不像逻辑推理这样高大上,但符号主义至今都没有好的办法处理;而类似想象力,创造力,情感和直觉这些人脑特有的认知能力,目前更是符号主义无法企及的领域。

神经网络:和符号主义功能模拟这种自上而下的思路相反,神经网络就是彻底的自底向上的结构仿真路线。直接模仿人脑智能的物质基础神经网络,希望通过人工方式构建神经网络,从而产生智能。从罗森布拉特的感知机,一直到当下大众所知道的深度学习网络,这个路线把智能活动看做是大量简单神经单元通过复杂连接和并行运行之后的结果,所以也被世人称为“连接主义(connectionism)”。

2006年,杰弗里·辛顿(GeoffreyHinton)在science期刊上发表了重要的论文,提出深度信念网络(DeepBeliefNetworks,DBNs),"深度学习"正式诞生,基于人工神经网络的第三次AI发展浪潮开始了,且一直延续至今。

和前两次浪潮不同的是,当下计算机性能已经能让大规模的人工神经网络模拟得以成为现实。在1957年,罗森布拉特用IBM704去仿真感知机,每秒完成1.2万次浮点加法,而如今超级计算机速度是IBM704的10万亿倍以上。

此外,个人计算机GPU近些年发展迅猛,尽管GPU的初衷是为了加速3D图形计算,但通用GPU的计算模式正好匹配了神经网络并行计算的需求特点,从而进一步推动了神经网络模型的发展。

除了算力之外,限制前两次AI浪潮发展的另一主要因素就是数据的缺乏。在深度学习理论模型提出之后,最早之一意识到了AI学科发展的数据钳制并着手去解决的是华人女AI科学家李飞飞。年轻的李飞飞以坚韧不拔的大无畏精神推动完成了一个超大规模的开源图片标注数据库,这就是著名的ImageNet项目。在2009年正式发布时,ImageNet有超过1000万数据,两万多个类别。

2010年开始,ImageNet大规模视觉识别挑战赛(ILSVCR)开始举办,全世界图像领域深度学习的专家们同台竞技和交流,从此拉开了计算机视觉的新篇章。

大家都知道,"深度学习"顾名思义,就是具有很多层级的神经网络模型。现代神经网络模型的网络结构层数很深,动则几百万上千万参数量。而这些神经网络模型在能做特定任务之前,都是需要经过"训练"的,即根据标注好的特定训练数据去反复调整模型里的参数,最后所有参数调整到位,模型能匹配训练数据集的输入和输出。

但是,那些特定的AI任务往往没有那么多训练数据啊,这可怎么办呢?

非常值得庆幸的是,AI科学家研究发现了深度学习网络一个有趣的特性,对于图像领域的深度学习神经网络而言,不同层级的神经元学习到的是不同逻辑层级的图像特征!

这样一来,原本因为数据不足而无法训练的特定任务也能解决了。即便任务的训练数据不缺,先通过预训练过程也能极大的加快特定任务训练的完成速度。预训练这种通吃的解决方案人见人爱,很快在图像处理领域广泛流行开来。

既然在图像处理领域的深度学习里预训练这么管用,搞自然语言处理AI的同学们自然也会在心里想,为什么不在自然语言处理领域里做预训练这么香的事情呢?

首先呢,自然语言处理的研究里,有个基本概念叫做"语言模型",大致理解起来也简单,就是想办法打造一个核心函数P,这个函数通过一个句子里前面的所有单词来计算下一个单词的概率大小。一句话里的单词总是顺序出现的,每个单词都可以通过前面所有单词计算出这么一个概率,把所有这些单词的概率乘起来,总概率数值越大,说明这越像是人说出的话。

怎么构造这个神奇的函数P是AI科学家的事情,但读者们一定可以明白,有了这个牛逼的"语言模型"函数P,计算机就会说人话了。

而从神经网络学派的同学看来,是不是可以用神经网络来打造这样一个语言模型呢?就是说用很多的现成语料,来训练出一个神经网络,然后给这个神经网络模型输入一句话的前面几个词,这个模型就能计算出这句话的下一个单词。

这就是大名鼎鼎的"神经网络语言模型"NNLM。

NNLM神经网络语言模型的想法并不是最近冒出来的,它的历史要追溯到20年前。NNLM的论文在2003年就被发表出来了,而当时,深度学习的概念还只存在于杰弗里·辛顿(GeoffreyHinton)的脑袋里。

所以,不幸的是,NNLM当时没有引起学界多少反响,被埋没了近10年。事实上,在深度学习大火之前,用神经网络做自然语言处理甚至会被笑话,之前自然语言处理的主流研究方式还是基于统计学的机器学习方法。神经网络语言模型NNLM这个概念太超前时代了。

一直到了2013年,深度学习概念提出来7年之后,深度学习神经网络模型先是在图像和语音领域大显神威,自然语言AI的同学终于想起了这篇十年前的论文。NNLM重出江湖,为世人所知:

在2013年,AI研究人员倒腾了一个自然语言处理的处理模型Word2Vec。顾名思义,"Word2Vec"就是"wordtovector,从词到向量"。研究人员的目标是把一个单词变成一个数学向量,这个数学量在NLP里有个专门的名词,叫做WordEmbedding(词嵌入)

为啥要变成一个向量,出发点也很简单,如果能将每个单词都能表示为数学空间里的一个向量,那么是不是理论上,在这个向量空间里比较接近的词,就是意义接近的单词呢?这样计算机不就可以方便的理解单词之间的联系了吗?

Word2Vec翻出了十年前的NNLM。NNLM的初衷只是想构建一个神经网络语言模型,根据前面的词,来预测后一个是什么词。NNLM网络内部构造了一个随机初始化的矩阵,通过不断的训练,来达成NNLM模型预测单词的目的。

特别凑巧的是,研究人员发现这个训练出来的内部矩阵的每一行,正好可以作为每个词的嵌入向量WordEmbedding!这真是得来全不费功夫啊。

NNLM和Word2Vec使用了类似的神经网络结构,不过因为目的不同,其训练方法理念是截然不同的。NNLM作为语言模型,是要看到上文预测下文,所以训练时输入的是句子上文单词;而Word2Vec呢?因为它的目标是要找出所有单词之间意义远近的数学关系,所以训练时都使用句子上文和下文作为输入。

不知道读者意识到没,这两种训练方式在更高的意义上有着一些本质区别,就好比我们人类说话,都是顺序说出来一个个单词的,说不定呢,人的潜意识或许也是一个类似NNLM的P函数,自觉不自觉地的决定人说话里的下一个词是什么。因此只从上文预测下文的训练方式,貌似天然更契合"生成式"的逻辑。

而Word2Vec这种通过上文和下文输入来训练的方式,可以比喻成机器来做阅读理解,就像是我们做语文或英语的阅读理解,一定是通读全文,然后根据上下文来理解和判断问题的答案。这样的人工智能,就是所谓分析式的AI。

两种模型训练的思路,在后续发展里变成了自然语言模型的两种路线。本文开头提到的OpenAI生成式模型GPT系列,坚定的只用上文进行训练,用以追求"纯粹"的生成;而Google公司的大语言模型Bert,则采用了上文和下文一起训练的模式,此乃后话。

前面提到,图像处理领域里使用大规模通用数据进行"预训练"所取得的效率和成果实在让人羡慕,而在自然语言处理领域里,其实也有一点点"预训练"概念的,这个预训练就是,每个单词的WordEmbedding可以反过来初始化神经网络的内部参数。

不去探究数学细节,读者只要知道,这种"预训练方式"和前面图像处理领域的低层级网络预训练方式有点类似,但问题是利用WordEmbedding只能初始化第一层网络参数,和图像处理领域的预训练能有效初始化大多数网络层级不可同日而语,只能说是一种比较原始初级的"预训练"了。

但直到2018年前,这就是NLP领域里能采用的预训练典型做法了。

采用WordEmbedding来初始化NLP神经网络有那么点效果,但没有期待的那么好。这里面还有一个逻辑上的原因:一个单词有多义词问题。所以企图在一个数学空间里用一个固定的数学向量来表征一个单词的意义,还要求含义相近的单词都聚在一起。在面对多义词的时候,这在逻辑上显然就是矛盾的。

当然了,聪明的AI研究人员肯定还是有办法。既然一个单词存在多义性,固定的WordEmbedding向量无法表达单词的多个含义,那么是不是可以先训练好一个单词的WordEmbedding,然后在实际使用中,根据句子里的上下文语义去动态调整这个WordEmbedding数值,这样经过调整后的"动态WordEmbedding"更能准确表达单词在上下文的具体含义,同时自然的,解决了多义词的问题。

这个根据当前上下文来动态调整WordEmbedding的想法就是顶级学术会议NAACL2018年的最佳论文"Deepcontextualizedwordrepresentation",这个NLP模型命名为ELMO(EmbeddingfromLanguageModels,基于语言模型的词嵌入)

ELMO引入上下文动态调整单词WordEmbedding后,多义词问题就被彻底解决了,而且比预期的解决得还好:利用ELMO改进过的多种不同NLP任务,性能上都有幅度不同的提升,最高达到了25%,不愧是最佳论文。

此外,ELMO还有一个贡献,研究人员发现ELMO所使用的深度神经网络模型里,不同层次提取到的特征是有差异的。看到这里,读者想起了什么没有?是不是和图像预训练的模型层级特征有点像了?

让我们复习一下,前面讲过,图像处理领域进行大规模预训练后,把深度学习网络每层参数做可视化后可以看到,深度学习网络每一层都对应着不同抽象层级的"特征",在图像领域里,就是从底层的线段,到中间层的具体五官细节,再到高层的脸型,等等。

那么,ELMO出现后,自然语言处理领域的"预训练"有可能赶上图像领域了吗?

遗憾的是,还差一口气。

因为技术原因,LEMO模型在抽取文字特征方面还比较弱,这是一个技术上的缺陷,意味着这个模型就无法很好完成NLP的"预训练"梦想:特征都抽取不好,怎么让网络里每一层具体表达不同逻辑层级的特征呢。而从技术细节上对比,也会发现ELMO这种"预训练"方法和图像领域的预训练方法,两者在模式上还有很大差异。

自然语AI研究人员还需要继续找到一个方法,希望这个方法能很好的提取出文字的特征,就类似图像处理领域的神经网络模型,能很好的提取图像不同逻辑层面的特征。

2017年12月,Google在顶级机器学习会议NIPS上发表了论文《Attentionisallyouneed》,提出在机器翻译上大量使用自注意力(SelfAttention)机制来学习文本表示,并把这种机制模型起了个霸气的名字:Transformer。

这篇论文一经出世就横扫了整个自然语言处理学术界,Transformer迅速的取代了深度学习里传统的循环神经网络(RNN)成为了之后的大语言模型的标准配置。

先说个题外话,笔者感慨,论文是否牛逼,一看题目就知道,这篇论文连题目都如此特别和霸气。

话说回来,什么是注意力机制?深度学习里的注意力机制其实是一种思想,参考借鉴了人类的注意力思维方式。

深度学习的注意力机制在概念上参照了人类的视觉注意力机制,核心目标就是从众多信息里选择出对当前任务更重要和关键的信息。

具体到NLP自然语言处理领域里,在之前,注意力机制一般是指输出句子里某个词和输入句子每个词之间的相似度。这也很好理解,就是去寻求问题(输入)和答案(输出)之间的关系么。

但Google这篇的特别之处,是明确指出了,我们其实不需要先考虑输入和输出的关系啊,为什么不参考人类理解语言的方式,首先"学习"一句话内部单词之间的关系呢?这就是所谓的"SelfAttention自注意力机制":指的是输入元素之间,或者输出元素之间的内在联系机制。

如上图所示,SelfAttention自注意力机制寻找到了一个句子里单词之间的语义特征,"it"指代的是"theanimal"

稍微想一下,SelfAttention自注意力机制在逻辑意义上非常清晰,它让机器去理解人类语言每句话里单词之间的语义关系。

有趣的是,谷歌研究人员在这篇重要论文里差点使用了"注意力网络"这样的命名,只是他们觉得这个名字听起来实在不够响亮,后来团队里一位工程师给起了个名字Transformer,这看起来就高大上很多了。

基于自我注意力机制的Transformer模型的出现是革命性的,最最重要的一点,它能实现自我监督学习。所谓自我监督,就是不需要标注的样本,使用标准的语料或者图像,模型就能学习了。

而回过头来,Transformer的核心是在数学上计算输入元素之间的关联(Attention),通过这种模式,Tranformer成功的消除了训练数据集的标注需求!

这简直是感天动地,我们可以想象一下,从今以后,互联网上或者企业数据库里海量的文本数据都能直接成为大模型的训练数据源了。

NVIDIA创始人兼CEO黄仁勋在2022NVIDIAGTC大会上表示说,Transformer使自我监督学习成为可能,并无需人类标记数据,AI领域出现了“惊人的进展”。因此,Transformer正在越来越多的领域中发挥作用。比如用于语言理解的GoogleBERT,用于药物发现的NVIDIAMegaMolBART以及DeepMind的AlphaFold2都要追溯到Transformer的突破。

上面又提到了GoogleBERT语言模型。这里要插一句,Google引以为傲的语言大模型BERT的架构和OpenAIGPT其实非常像,但有一个简单而本质的区别,在训练阶段,GoogleBERT输入上文和下文来训练,OpenAIGPT系列一直坚持只输入上文训练,而结果就是,GoogleBERT在体现AI分析能力的各种阅读理解等问题上,都表现上佳;而OpenAIGPT术业有专攻,在生成式AI(比如回答各种问题,创造各种文字内容)上一骑绝尘。

不夸张的说,Transformer是迄今为止发明的最强大的模型之一。斯坦福研究人员在2021年8月的一篇论文把tranformer称之为"基础模型"(Foundationmodel),认为它推动了AI整个范式的转变。

受Google论文启发,基于Transformer模式的GPT系列模型作为OpenAI的当红炸子鸡,风头当下无两。

GPT全称是“GenerativePre-Training”,直译过来就是"生成式的预训练",有意思吧。

如前文所说,OpenAI对GPT的生成式AI有坚定的信念,因此在训练模型的时候,只选用"上文"来训练模型,也就是说,GPT本质上是一个极致的概率模型,它根据上文提示,来猜测下一个单词应该是什么。

这个坚持虽然在一开始GPT1和GPT2时代让其输出效果稍逊于同期Google的语言大模型BERT,但到了GPT3时期,在超级规模网络参数的加持下,GPT这个100%纯粹的生成式AI终于迸发出耀眼的光芒,模型输出效果甚至大幅超越了研究人员的预期。

尽管没有实证,但笔者很倾向认为GPT3的极大成功和OpenAI坚定不移的只用上文来训练模型有着某种必然的关系,人的语言沟通也从来都是按顺序表达的,没有谁先把一句话的最后一个词说完才回头考虑上一个词。从这点来看,GPT系列模型顺应了人类思考的逻辑,最终由量变推动了质变。

终于,借助了Transformer,GPT这样的超大规模语言模型(GPT-3有1750亿个参数)在不需要标记数据的情况下,可以借助现成的海量标准数据以及超级算力,得到通用的"预训练"版本模型。

可能有读者会继续问,有了预训练好的模型版本后,GPT怎么能以适应各种各样的特定任务(或者专业一点,"下游任务")呢?GPT论文里给出了简单的改造施工图,附在这里读者们有点直观感性感知即可。总之通过简单的改造操作,GPT就能很好适应不同的任务。只需要在输入部分调整一下就可以了,非常方便。

补充一句,或许正是因为改造特别方便,OpenAI的研究人员才能在GPT3.5版之上改造出一个问答专用的chatGPT。虽然还不是基于大杀器GPT4.0,但chatGPT所展现出的超强内容生成能力,在这几天已经在大众用户群体里刮起了超级旋风。

在历史长河里走了过来,终于回到了本文开头的主角chatGPT。

如果读者已经理解了前面关于深度学习神经网络的变迁和发展之路,再来看chatGPT的技术升级,就是特别简单的事情了。

chatGPT是基于GPT-3.5模型的魔改。GPT-3.5和3.0的区别呢,首先是和微软合作,在微软的AzureAI云服务器上完成了训练;另一个重要的区别是其训练数据集里除了文字,还加入了代码,因此chatGPT现在已经可以写程序,甚至给现成的代码找bug了。

为什么试用过chatGPT的同学都感觉提升很明显?一个重要的原因是chatGPT引入了一个新的训练方法RLHF(论文发表于22年3月),简单的说,就是用人类反馈的方式加强训练。

看这个简单的描述显然不能感受到技术的提升,不过我们只需要理解,这其实就是在GPT3的大数据预训练之下,再次加强了人类的反馈。

有趣的是,前面基于Transformer的通用大数据无监督训练模式把自然语言的自动学习做到了某种极致,而这个RLHF又重新捡起了"手动档"人类反馈机制,貌似有一点返璞归真的感觉。仿佛是武功高手练至化境之后,又重新拿起了最早的野球拳,一招使出了无与伦比的超越功力:)

chatGPT还有一个很重要的特点,就是针对输出有效性上做了非常好的调整。使用过chatGPT的同学一定能感觉到,chatGPT并非每一个问题都能回答详尽,但它绝对没有胡说八道,chatGPT的回答和真实世界的情况是相当一致的。做到这点很不容易,也是chatGPT和之前容易乱说一气的问答AI模型前辈最大的不同。

chatGPT的试用版在OpenAI的RLHF论文发出半年之后刚刚推出,根据OpenAI研究人员自己的说法,内部经过了大量调优,而且即使当下,chatGPT还是有很多需要改进的地方。但无论如何,chatGPT已经展示给我们所有人,自然语言生成式AI所能达到的全新高度。

如果能耐着性子读到这里,读者应该自然语言的生成式AI的前世今生有了一点概念。

回过头来再问一次,对于"预训练"这个深度模型里的重要概念。读者有没有想过,预训练到底是什么

对,具体而言,预训练就是在几千亿参数的支持下,类似GPT这样的超级模型灌入了难以计量的文本训练数据(说不定已经把全世界可以搜刮到的文本都拿来用了)来训练得到了一个通用大语言模型。

不过,在更高的一个角度去畅想,当我们把全世界的文字信息直接灌进拥有数千亿参数的AI模型里,模型在网络的各个层级上抽取和记忆这些文字里的特征信息。那么,GPT这样的超级模型实际上就在通过所谓预训练方式,学习到了人类所有文字信息的全部特征,直接把人类的语言智慧记在了自己几千亿量级的神经网络大脑里。

做到了这种程度,真的就像是我们用人类的全部知识体系来培养出了一个超级强大的机器大脑,这个大脑通过它超大规模的人工神经网络规模接纳学习了人类创造的所有内容。进而,针对人类的任意问题,AI可以做出连图灵测试都无法区分的真正智能回答。

人类已经马上无法分辨,在小黑屋后面,那究竟是一个人还是一个AI了。

这一天来得比想象更快。

一个能容纳和理解人类全部文字知识,并做出真正智能回答的AI,我们是不是可以简单认为,今天,真正的机器智能,已然诞生。

THE END
1.ChatGPT的工作原理解析chatgpt模型公式ChatGPT的核心是Transformer架构,它是一种专门设计用于处理序列数据的深度神经网络结构。与传统的循环神经网络(RNN)相比,Transformer具有以下优势: 并行计算能力强:Transformer可以并行处理输入序列中的所有元素,大大提高了训练速度。 长距离依赖建模能力强:Transformer通过自注意力机制可以捕捉输入序列中任意两个元素之间的关系https://blog.csdn.net/m0_62554628/article/details/142835504
2.最近爆红的ChatGPT到底是个什么玩意儿?这些基本概念你要知道序列应ChatGPT 可用于各种有趣和有创意的应用程序。以下是您可以使用 ChatGPT 执行的一些示例。 生成文本和响应 ChatGPT 最流行的用途之一是根据提示生成文本。通过提供提示,您可以要求 ChatGPT 生成文本作为响应。例如,您可以要求 ChatGPT 根据提示生成一个故事,或者您可以要求它完成一个句子或段落。 https://3g.163.com/dy/article/HT25VD1805561IOL.html
3.怎么让ChatGPT优化代码?Worktile社区怎么让ChatGPT优化代码 要让ChatGPT优化代码,可以尝试以下方法: 1. 代码优化技巧 首先,可以采用一些常见的代码优化技巧,例如使用合适的数据结构、减少循环次数、减少重复计算等等。这些技巧可以提高代码的执行效率,从而加快程序运行速度。 2. 算法优化 另外,也可以从算法的角度进行优化。尽量选择高效的算法,避免使用时间https://worktile.com/kb/ask/539173.html
4.OpenAI是如何胜过谷歌的?ChatGPT发展简史ChatGPT由GPT-3.5模型提供支持,GPT(Generative Pre-trained Transformer,生成式预训练变换器)是一种基于互联网可用数据训练的文本生成深度学习模型。名字中之所以有一个Transformer,是因为GPT就是OpenAI在谷歌的Transformer语言模型框架的基础上构建的。 该模型使用了"利用人类反馈强化学习(RLHF)"的训练方式,包括了:人类提https://aidc.shisu.edu.cn/7f/a0/c13626a163744/page.htm
5.ChatGPT使用量的计算ChatGPT聊天将消耗token(这里称之为积分),积分的计算比较复杂,发送的文本要计算积分,回来的文本也要计算积分。 如果是上下文聊天,每次发送文本都要包括之前的聊天记录,因此,积分消耗更多。 那么,具体一段文本怎么计算token数量呢?计算比较复杂,粗略来说,一个简单的英文单词就是一个token,复杂的英文单词可能是2~4个tohttps://www.douban.com/group/topic/288590324
6.ChatGPT模型大战:讯飞星火认知大模型百度文心一言能否击败GPT数值计算 推理解题 跨语言能力 文生图 总结 个人感受 一、你有使用过这种对话式AI吗?你对这类型AI有什么看法或感受? 二、对于“讯飞星火大模型将超越chatgpt?”这个命题你的态度是什么?简要说说原因 三、你认为这类型的人工智能对于现在的社会有哪些意义? https://blog.51cto.com/u_14943402/10335157
7.GPT图解大模型是怎样构建的■初代GPT:基于 Transformer 的单向预训练语言模型,采用生成式方法进行预训练。 ■ChatGPT:从GPT-3开始,通过任务设计和微调策略的优化,尤其是基于人类反馈的强化学习,实现强大的文本生成和对话能力。 ■GPT-4:仍基于Transformer架构,使用前所未有的大规模计算参数和数据进行训练,展现出比以前的AI模型更普遍的智能,不仅https://labs.epubit.com/bookDetails?id=UB836238e7a9d3d
8.云计算:ChatGPT的“中枢神经”开发侧,ChatGPT 生长在云上, 依赖于云计算服务,多年来OpenAI共收到了上百亿的投资,这些资金帮助 OpenAI 在平台上运行和训练其模型;产品侧,OpenAI 基于Cloud Native进行应用开发,基于云计算提供的便捷高性能计算运算模型和打磨算法,并对外销售产品和 API;而投资方基于 AI Native 来提升搜索、绘画等产品,未来会在Offhttps://m.thepaper.cn/newsDetail_forward_22342649
9.“整篇论文没有我自己写的东西”:论文是AI写的,算学术不端吗赵铭在ChatGPT的帮忙下完成了硕士毕业论文,他在国内一所985大学的理工科专业就读,毕业论文的内容是关于云计算。他总结了几种使用ChatGPT的方法,比如凑字数。 ChatGPT很适合“凑字数”,只要发出指令,一句观点便能扩充至几百字。但字数一多,它也会暴露出不足,很多受访者都反映它会重复说“车轱辘话”,“它废话是https://static.nfapp.southcn.com/content/202305/31/c7740338.html
10.解惑了——ChatGPT基于知识库提问token计算方法最近一直做知识库的训练,基于公司的场景一直做课程助手、课程推荐专家的训练。 慢慢了基于知识库回答的一些原理,也慢慢给自己解惑了。 首先,token的计算 众所周知,ChatGhttps://www.jianshu.com/p/519c4c606743
11.为何ChatGPT有时“一本正经地胡说八道”李祖超:对于ChatGPT是否能成为操作系统的新雏形这个问题,我的答案是积极的。操作系统的作用根据用户指令实现资源的分配以及计算的调度,那么ChatGPT发挥的作用是充当新的人机接口,更智能地实现用户指令的解译,减少用户的操作。从更长远来看,通过赋予ChatGPT管理系统资源如硬盘、CPU、外设等能力,将ChatGPT直接作为一种操作系https://m.gmw.cn/2023-02/23/content_1303292513.htm
12.ChatGPT标注指南来了!数据是关键ChatGPT 这个超大的模型可能暂时不需要,但我们在实际工作中很多模型(尤其是推荐)是小时或分钟级别更新的。对这种情况,应该在一开始设计的时候将这部分流程考虑进去。这部分更多是设计和工程问题,比如数据怎么更新,存储在哪里,如何获取,是否需要转换,是否需要定时清理,伸缩性,可用性等多个方面。http://www.360doc.com/content/23/0309/17/1071268750_1071268750.shtml
13.2023年爆火的软件“ChatGPT”到底是个什么呢?ChatGPT的详解以及2023年2月2日,微软官方公告表示,旗下所有产品将全线整合ChatGPT,除此前宣布的搜索引擎必应、Office外,微软还将在云计算平台Azure中整合ChatGPT,Azure的OpenAI服务将允许开发者访问AI模型。 2023年2月3日消息,IT 行业的领导者们担心,大名鼎鼎的人工智能聊天机器人 ChatGPT,已经被黑客们用于策划网络攻击时使用。 http://www.quwaifu.com/News/View/22739