大厂技术 坚持周更 精选好文
趣谈前端, 让技术, 更有料
【导读】从ChatGPT来看,符号主义和连接主义该如何发展?
近十年,连接主义者在各种深度学习模型加持下,借着大数据、高算力的东风在人工智能赛道上领跑符号主义。
但每次有新的深度学习大模型发布,如近期火爆的ChatGPT,在对其强大的性能惊叹赞扬之后,就是对研究方法本身的激烈讨论,模型本身的漏洞与缺陷也会浮现。
最近,来自北冥实验室的钱小一博士,作为一个坚持十年符号流派的科学工作者、创业者,针对ChatGPT模型发表了一篇较为冷静和客观的评价。
总体而言,我们认为ChatGPT是一个里程碑式事件。
预训练模型开始显现出强大效果一年前就开始了,这次到了一个新高度,从而被更多人关注;而这个里程碑之后,人类自然语言相关的很多工作模式会开始改变,甚至有大量被机器替代。
没有技术是一蹴而就的,相比看到其不足,一个科学工作者更应该对其潜力有敏感性。
作者简介
作者钱小一博士是符号主义人工智能科学家,高级工程师,杭州市高层次认定人才,逻辑仿生framework 的早期探索者,第一版 M 语言符号体系的创作者。北冥星眸创始人、CEO、董事长。
上海交通大学应用经济学博士,美国 CGU 德鲁克商学院金融工程硕士,浙江大学竺可桢学院丘成桐数学英才班数学金融双学士。通用AI领域研究已有11年,带领团队进行工程实践7年。
符号主义&连接主义的边界
我们团队这次特别关注ChatGPT,不是因为大众看到的惊艳效果,因为很多看似惊艳效果我们还是能够在技术层面理解的。
真正冲击我们感官的是它部分任务中突破了符号流派和神经流派的边界——逻辑能力,在类似自代码和评价代码等若干任务中ChatGPT似乎体现了这种能力。
一直以来我们认为符号流派是擅长再现人类强逻辑的智能的,比如如何解决一个问题,分析一个问题的原因,创造一个工具等等;
而连接主义本质是一个统计型的算法,是用来从样本中发现平滑规律的,比如通过足够多的人类对话找到下一句该说什么的规律;通过描述性的文字找到对应的图像的识别和生成的规律……
我们可以理解这些能力,可以通过更大的模型,更多优质的数据,强化学习循环增强的方式来变得非常出众。
我们认为人类身上兼有符号和神经两个技术路径的特征,比如所有可反思认知过程、知识的学习和运用过程、大量可反思的思维、行为、表达模式、可反思的动机、情绪都是容易在以符号表征为基础系统解释和再现。
当你看得外国人脸足够多,你就具有识别外国人脸的能力,你也说不清为什么;
能够在看完第一个电视剧后自然而然具备模仿男主角说话的能力;
在经历过足够多的对话后,能够不过脑的聊天,这些都是神经的特征。
我们可以把强逻辑的部分比喻为长骨头,「非逻辑的规律掌握能力」比喻成长肉。
以符号「长骨架」的能力去「长肉」是困难的,同样神经以「长肉」的能力去「长骨架」也是艰难的。
正如我们在陪伴AI搭建过程中符号系统擅长把握对话者特定维度的信息,分析背后的意图,推知相关的事件,给出精准的建议,但不擅长创造平滑自然的对话。
我们也看到GPT为代表的对话生成模型虽然能创造平滑的对话,但在对话中使用长期记忆创造连贯的陪伴、产生合理的情绪动机、完成有一定深度的逻辑推理以给出分析建议,在这些方面的实现上是艰难的。
大模型的「大」并非是一个优势,而是统计类算法试图从表层数据掌握一部分其内蕴的强逻辑主导的规律付出的对价,它体现了符号和神经中间的边界。
在对ChatGPT的原理有了更深入地了解后,我们发现它只是把较为单纯的逻辑运算视为一种规律训练生成,并没有突破原有的统计算法的范畴——也就是系统的消耗仍然会随着逻辑任务深度的增加几何增长。
但为何ChatGPT又能突破原有大模型的极限呢?
ChatGPT如何突破普通大模型的技术极限
让我们以非技术的语言来说明ChatGPT如何突破其他大模型极限背后的原理。
GPT3在出现时就体现出了超越其他大模型的体验。这和自监督,也就是数据的自标注相关。
仍然以对话生成为例子:一个大模型以海量数据训练掌握了60轮对话和下一句表达的规律。
为何需要那么多数据呢?为何人类在看完一部电视剧后就可以模仿男主角的说话?
因为人类并不是以前面多少轮对话作为输入去掌握下句说什么的规律,而是在主观对话过程中形成了对语境的理解:表达者有人格品质、有怎样的当前情绪、动机,联想到怎样的知识,再加上前面若干轮的对话来掌握下句说什么的规律。
我们可以设想,如果大模型先去识别对话的语境要素,然后以此去生成下一句表达的规律,相比用原始对话,能大大减少达到同样效果的数据需求。所以自监督做得如何,是大模型「模型效率」的一个重要影响因素。
考察一个大模型服务是否在训练时对某类语境信息进行了自标注,可以通过考察对话生成是否对此类语境信息具有敏感性(生成的对话是否体现了对此语境信息的考虑)来判断。
人工编写期望的输出是第二个发挥作用的点。
ChatGPT在若干类型的任务中使用了人工编写输出,用来微调已经习得对话生成一般规律的GPT3.5的大模型。
这是预训练模型的精神——一个封闭场景的对话规律,实际上可能99%以上还是体现了人类对话生成的一般规律,而场景特有的规律只有不到1%。从而可以用一个训练好的掌握人类对话一般规律的大模型加上额外训练一个针对封闭场景的小模型达到效果,而用来训练场景特有规律的样本可以很小。
接下来一个发挥作用的机制是ChatGPT融合了强化学习,整个过程大概是这样的:
起始准备:一个预训练模型(GPT-3.5),一群训练有素的laber,一系列prompt(指令或者是问题,收集于大量用户的使用过程和laber的设计)。
Step1:随机采样得到大量的prompt,数据人员(laber)根据prompt提供规范的回复。数据人员可以将prompt输入到GPT-3.5,参考模型的输出来辅助其提供规范的答案。
通过该方式可收集到数据<prompt,answer>,大量数据组成数据集。
基于该数据集通过监督学习的方式对GPT-3.5模型进行微调,微调后得到的模型暂称为GPT-3.X。
Step2:随机采样一些prompt(大部分在step1中被采样过),针对每一个prompt通过GPT-3.X生成K个回答(K>=2)。
Laber对K个回答进行排序,大量排序后的对比数据可组成数据集,基于该数据集可训练出打分模型。
Step3:采用强化学习策略PPO来迭代地更新GPT-3.X和打分模型,最终得到策略模型。由GPT-3.X初始化策略模型的参数,采样一些在step1、step2中未被采样过的prompt,通过策略模型产生输出,由打分模型对输出进行打分。
根据打分产生的策略梯度来更新策略模型的参数进而得到能力较强的策略模型。
让较强的策略模型参与到step2中,通过laber排序标注得到新的数据集,又可以更新得到更为合理的打分模型。
更新的打分模型参与到step3中,又会得到更新的策略模型。迭代地进行step2、step3,最终得到的策略模型即为ChatGPT。
如果你不熟悉以上的语言,这里有一个容易理解的比喻:这就好比让ChatGPT去学武功,人类的回应就是大师的套路,GPT3.5是一个武术爱好者的套路,打分的神经网络就是一个评价者,告诉ChatGPT每场比赛谁的表现更优秀。
于是ChatGPT就能在第一次观察人类大师和GPT3.5的比较中,在GPT3.5的基础上往人类大师的方向改进一点,接下来让进化一次后的ChatGPT作为武术爱好者参与到和人类大师的比较中,打分神经网络再次告诉它差距在哪,从而它能再次变得更优。
这和传统神经网络的差别是什么呢?
传统神经网络是直接让一个神经网络模仿人类大师,而这个新模式是让神经网络掌握一个已经不错武术爱好者和大师的差别,这样它能在已有的基础上向人类大师的方向做细微的调整,不断精进。
从上面的原理上可以看到,这样生成的大模型是以人类标注样本作为表现极限的。
也就是说它只是极限地掌握了人类标注样本的反应模式,但不具备创造新反应模式的能力;其次,作为一种统计类型的算法,样本质量会影响模型输出的准确性,这点是ChatGPT在介入搜索和咨询场景的致命缺陷。
类似健康咨询的需求是严谨的,这就不适合由这类模型独立完成。
而ChatGPT体现出的代码能力和代码评价能力来源于github上大量的代码、代码描述标注、修改记录,这个仍然是统计类算法可及的范畴。
ChatGPT传递的一个很好的信号是,我们的确可以利用类似「人类划重点」、「强化学习」等更多的思路提升「模型效率」。
「大」不再是和模型能力挂钩的唯一指标,比如13亿参数的InstructGPT效果优于175亿参数的GPT-3。
尽管如此,因为训练对运算资源的消耗只是大模型的门槛之一,其次就是高质量且大规模的数据,我们认为早期的商业格局仍然是:大厂提供大模型的基础设施建设,小厂基于此做超级运用。而成为巨头的小厂再去训练自己的大模型。
符号和神经的结合
我们认为符合和神经结合的潜力体现在两点:在「骨头」上训练「肉」,在「骨头」上使用「肉」。
如果表层样本下蕴含了强逻辑的脉络(骨头),比如前面对话训练的例子,语境要素就是骨头,那么单纯从表层样本训练出包含骨头的规律,代价是高昂的,体现在样本的需求和更高模型训练的成本,也就是大模型的「大」上。
如果我们以符号系统生成语境,作为神经网络的样本输入,就相当于在强逻辑识别的背景条件上寻找规律,在“骨头”上训练「肉」。
如果一个大模型是这么训练出来,那么它的输出对强逻辑的条件是敏感的。
比如在对话生成任务上,我们在输入加入对话双方的当前情绪、动机,联想到的知识、相关事件,大模型生成的对话能一定几率体现出对这些语境信息的反应。这就是在强逻辑的「骨头」上使用「肉」。
之前我们在陪伴级别AI的开发上遇到符号无法创造平滑对话的问题,如果用户不愿意和AI对话,AI背后一切逻辑、情绪能力都无从展现,也不具备不断优化迭代的条件,我们通过类似上面和预训练模型的结合解决了对话的平滑性。
而站在大模型的角度,单纯大模型创造AI是缺乏整体性和立体感的。
「整体性」主要体现在对话生成是否考虑语境相关的长期记忆。
比如AI和用户在上一天的聊天中聊到用户感冒,去过医院,有各种症状,持续了多长时间……;第二天用户突然表达说「我喉痛好痛」。
在单纯的大模型中,AI会拿语境中的内容进行回应,会表达「为什么喉咙痛啊」,「你去医院了吗」……,这些表达马上和长期记忆发生了矛盾,体现出长期记忆不一致性。
通过和符号系统的结合AI可以通过联想,从「用户第二天还是喉咙痛」联想到「用户昨天感冒」联想到「用户去过医院」,「用户其他症状」……把这些信息放到语境中,如此可以利用大模型的语境一致性能力体现出长期记忆的一致性。
「立体感」体现在AI是否有执念。
是否会像人类一样执着于自己的情绪、动机、观念。单纯大模型创造的AI会随机提醒一个人应酬少喝酒,而结合符号系统后会因为长期记忆中知道用户肝不好,结合肝不好不能喝酒的常识,生成强烈的持续的让用户不能喝酒的建议,并且在应酬后跟进用户是否喝酒,且会因为用户的不自律影响情绪,从而影响后续的对话,这是立体感的体现。
大模型是通用人工智能吗?
从预训练模型实现的机理看,它并没有突破统计算法「掌握样本规律」的能力范畴,只是借助计算机的载体优势,把这个能力发挥到一个非常高的水准线,甚至体现出了它有一定逻辑能力和求解能力的假象。
单纯预训练模型不会拥有人类的创造力、带有深度的逻辑推理能力、以及对复杂任务的求解能力。
所以预训练模型它因为低成本迁移到具体场景具有一定的通用性,但不具备人类那样的「通过有限底层智能机制泛化出上层变化万千智能表象」的通用智能。
其次我们要讲讲「涌现」,在大模型的研究中,研究者会发现当模型参数规模和数据规模突破某些临界值时,有些能力指标迅速增强,呈现出涌现效应。
事实上任何具有抽象学习能力的系统,都会显现出「涌现」。
这个与抽象类运算的本质有关——「不执着于个别样本或猜想的正确性,而是立足于整体样本或猜想的统计正确性」。
所以在样本量足够,且模型能支撑样本细致规律的发现,就会突然形成某种能力。
在偏符号的思维工程中,我们看到符号类AI在学习语言的过程也会像人类幼儿的语言习得那样出现「涌现」,在听读到了一定程度,听读的理解力和说的能力会突飞猛进。
总之,我们把涌现作为一个现象是没问题的,但把所有不清楚机理的系统功能突变都解释为涌现,并指望一个单纯算法的规模到一定程度就能涌现出人类的整体智能,这不是一个严谨的科学态度。
通用人工智能
人工智能这个概念几乎伴随计算机的产生而产生,在那时是一个朴素的想法,把人类的智能移植到计算机中,这就是人工智能的起点,最早的人工智能概念指的就是「通用人工智能」。
人类的智能模式是通用智能,这种智能模式移植到计算机就是通用人工智能。
之后出现了不少试图再现人类智能机制的流派,但这些流派都没有创造太出众的成果,以至于Deepmind的杰出科学家强化学习的奠基人Rich Sutton强烈表达了一个观点:
从过去70年的人工智能研究中可以获得的最大教训是:为了寻求在短期内的作为,研究人员更倾向于利用人类对该领域的经验和知识(模仿人类的机制),而从长远来看,利用可扩展的一般计算方法才是最终是有效的。
今天大模型的出众成就佐证了他对「算法主义」的主张正确性,但不意味着「效法造物造人」创造智能体的路径就一定是错的。
那么为什么之前效法人类的流派都相继受挫呢?这和人类智能内核的整体性有关。
简单来说人类的语言、认知、情绪决策、和学习能力形成的子系统在大多任务的实现上都是相互支持的,没有任何一个子系统可以独立跑起来。
作为一个整体性很高的系统,一个上层的表象来自诸多底层机制的配合,只要有一个有缺陷,就会影响这个表层效果的显现。
就好比人体,也是一个复杂性很高的系统,一个健康的人和一个生病的人可能相差细微,但这个细微的病理差异就让一个人各个维度的功能受到抑制。
同样对于通用人工智能可能前面99步显现的效果是很有限的,当我们完成最后一片拼图,前面99步该有的功能才显现出来。
之前的流派都从自己的视角看到了人类智能整体的一部分,也在效法人类中取得了一定成果,但这相比整体系统能释放的能量而言只是零头的零头。
过程智能和人类文明
人类每个局部智能已经或正在被计算机远远超越,但即使在所有局部智能都被计算机超越的情况下,我们仍然能断言唯有人类能创造文明,计算机只是工具。
为什么?
因为创造文明背后的是人类各类智能活动的过程,也就是说人类文明来自于「过程智能」。这是在当前被严重忽略的方向。
「认知过程」不是一个任务,它是很多任务在一个过程的组织。
比如AI要治愈患者体现出的症状,是个「目标求解」的任务。
首先要转为归因求解,这算是一个认知任务,它找到可能的原因后就变为判断可能疾病是否发生的「具体事件发生求解」的任务,这个任务又会继续分解转移到其他任务,过程中如果缺少知识又会变为对「知识的求解」的任务。
可以通过询问、搜索、阅读去获得已有知识,也可以「统计认知」;统计认知发现相关性后可以进一步去洞察背后的因果链条实现更好的干预,而到了这步往往又会因为缺少知识转为对知识的求解,为了验证猜想需要设计实验进行具体事件发生求解……
有了因果链条后,就可以再次尝试实现目标,进行因果链条干预,把原始目标转为创造、终止、阻止发生、维持因果链条中的事件,这又回到了一类「目标求解」的过程……
从这个角度来看,类似ChatGPT的技术是用来实现任务的,偏符号的通用人工智能框架是把这些局部的任务能力组织起来支持类似人类的智能活动的过程的。
通用人工智能是「人」的本体它可以利用内化的能力,外化的工具完成任务,并组织这些任务支持智能活动的过程。
人类有很强的羊群效应,一个处于高产出期的流派会吸引绝大部分的研究者。
很少独立反思一个技术路径天然的能力边界,以及独立在宏观的层面寻找有更大价值的研究方向。
我们可以想象,如果我们能在计算机上去再现人类的整体智能,让机器能支持起独立探索认知、创造工具、解决问题实现目标的过程,借助计算机的载体优势,人类的整体智能和过程智能和以往一样被放大,我们才能真正释放出人工智能的能量,支撑人类文明到新的高峰。
以上便是本次分享的全部内容,希望对你有所帮助^_^
喜欢的话别忘了 分享、点赞、收藏 三连哦~。
从零搭建全栈可视化大屏制作平台V6.Dooring
从零设计可视化大屏搭建引擎
Dooring可视化搭建平台数据源设计剖析
可视化搭建的一些思考和实践
基于Koa + React + TS从零开发全栈文档编辑器(进阶实战