听说最近AI大厂的开发人员和高校的NLP研究人员,都在琢磨,怎么让大模型“涌现”。那画面莫名就让我想到了程序员给服务器上香来保佑不宕机,都有种求诸于天的玄学。
所谓“涌现”,在大模型领域指的是当模型突破某个规模时,性能显著提升,表现出让人惊艳、意想不到的能力。比如语言理解能力、生成能力、逻辑推理能力等。一般来说,模型在100亿到1000亿参数区间,可能产生能力涌现。
但老话说得好“氪不救非,玄不改命”。靠砸钱和运气,只一味把模型做的大大大,也未必能让AI“显灵”。
强大的逻辑推理是大语言模型“智能涌现”出的核心能力之一,好像AI有了人的意识一样。而推理能力的关键,在于一个技术——思维链(Chain of Thought,CoT)。
大家如果看过类GPT应用的翻车问题,会发现大多都是数学算术题、逻辑思考题等,这类需要精确推理的问题,而这正是思维链能够重点解决的。现在训练大语言模型的企业和机构很多,但能够训练出思维链并应用的很少。
换句话说,只有解锁了思维链技术,大语言模型才有可能“涌现”,才能在“大炼模型”的竞争中具备能力优势。
思维链的故事,我们从一个奇男子说起。
一个神奇的男子
思维链,在人工智能领域,是一个非常非常新的概念。
2022年1月,它的相关论文才被放到arxiv上,成果也特别惊艳,谷歌在当年五月的年度开发者大会Google I/O 2022,也对思维链这一研究成果进行了宣传。当时同台宣传的还有大模型PaLM和Pixel系列手机等。
你可能发现了华点,怎么让思维链闻名世界的,却变成了OpenAI的ChatGPT呢?
这就要提到一个奇男子——思维链的提出者Jason Wei。
之所以神奇,一是本人能力卓绝。
这位华人科学家,2020年本科毕业成为谷歌大脑的高级研究员,在任职期间,提出了思维链的概念,发现思维链可以在大语言模型中增强推理能力。
(Jason Wei的个人博客www.jasonwei.net)
二是他的个人际遇,对AI影响很大,2022年2月他离开谷歌,加入了OpenAI,进入ChatGPT团队,这也是思维链在OpenAI发扬光大,让ChatGPT拔得头筹的原因之一。
那这位奇男子和同事的工作,究竟干了什么呢?
谷歌之前在大模型下了很大功夫,GPT生成式预训练模型中的“T”,也就是Transformer,就是谷歌大脑搞出来的。但是,预训练+精调的大模型搞了几年,仍然没办法很好地完成多步骤推理任务,比如数学问题和常识推理。
所以Jason Wei等人提出了思维链提示的方法,真的一下子就让大模型的逻辑推理能力不一样了。
具体来说,有三个不一样:
1.常识推理能力赶超人类。以前的语言模型,在很多挑战性任务上都达不到人类水平,而采用思维链提示的大语言模型,在Bench Hard(BBH)评测基准的23个任务中,有17个任务的表现都优于人类基线。
比如常识推理中会包括对身体和互动的理解,而在运动理解sports understanding方面,思维链的表现就超过了运动爱好者(95% vs 84%)。
(思想链被高亮显示)
2.数学逻辑推理大幅提升。
一般来说,语言模型在算术推理任务上的表现不太好,而应用了思维链之后,大语言模型的逻辑推理能力突飞猛进。
MultiArith和GSM8K这两个数据集,测试的是语言模型解决数学问题的能力,而通过思维链提示,PaLM这个大语言模型比传统提示学习的性能提高了300%!
在MultiArith和GSM8K上的表现提升巨大,甚至超过了有监督学习的最优表现。
这意味着,大语言模型也可以解决那些需要精确的、分步骤计算的复杂数学问题了。
3.大语言模型更具可解释性,更加可信。
我们知道超大规模的无监督深度学习,打造出来的大模型是一个黑盒,推理决策链不可知,这就会让模型结果变得不够可信。
而思维链将一个逻辑推理问题,分解成了多个步骤,来一步步进行,这样生成的结果就有着更加清晰的逻辑链路,提供了一定的可解释性,让人知道答案是怎么来的。
Jason Wei这位奇男子提出的思维链,可以说是大语言模型惊艳世界的必要条件。
一句神奇的咒语
花式调戏大语言模型,有一句非常神奇的咒语,能让LLM的回答结果大不一样,那就是——“Let’s think step by step”。
此前很多用户就发现,一旦在问题中加上“Let’s think step by step”,ChatGPT就好像被施了魔法,原本做错的数学题,突然就会做了;原本的胡说八道,突然就有理有据了。
这就是思维链的魔力。
思维链(Chain-of-thought,CoT),指的是一系列有逻辑关系的思考步骤,形成一个完整的思考过程。
人在日常生活中,随时随地都会用思维链来解决问题,比如工作、读书经常用到的思维导图,就是为了尽可能全面拆解步骤,不忽略重要细节,从而充分地考虑问题。
这种步骤分解的方式用在提示学习中,就被称为思维链提示,将大语言模型的推理过程,分解成一个个步骤,直观地展现出来,这样开发人员可以在LLM推理出现错误时,就及时地修复。
相当于让AI做分析题,而不是“填空题”,要把推理过程详细说清楚,按步骤得分,最后给出答案。
Jason Wei等在2022年的论文中,展示了标准提示学习和思维链提示的不同之处:
可以看到,类似的算术题,思维链提示会在给出答案之前,还会自动给出推理步骤:
“罗杰先有5个球,2罐3个网球等于6个,5 + 6 = 11”
“食堂原来有23个苹果,用20个做午餐,23-20=3;又买了6个苹果,3+6=9”。
思维链提示给出了正确答案,而直接报答案的传统提示学习,给出的答案就是错的,连小学程度的加减法都做不好。
简单来说,语言模型很难将所有的语义直接转化为一个方程,因为这是一个更加复杂的思考过程,但可以通过中间步骤,来更好地推理问题的每个部分。
思维链提示,就是把一个多步骤推理问题,分解成很多个中间步骤,分配给更多的计算量,生成更多的token,再把这些答案拼接在一起进行求解。
再举个例子,大家都特别希望有一个全能家政机器人,但目前的机器人看起来都挺傻的,只能执行一些很简单的开关灯指令。如果用户问:“我把可乐洒在桌子上了,你能把它扔掉,然后拿点东西来帮我清理吗?”
机器人该怎么办呢?
这时候有思维链的语言模型,会分析问题:用户把可乐洒在桌子上了。我会把它扔掉,然后给用户一块海绵。
拆解步骤:找(可乐),拣(可乐),找(垃圾),扔(可乐),找(海绵),拣(海绵),找(桌子),放(海绵)。
总的来说,思维链就相当于让大语言模型做“因式分解”,把一个复杂的推理问题进行拆解,逐步解决,自然也就更容易得到高质量的答案了。
一个打破僵局的灵
你可能会问,大语言模型“智能涌现”,思维链是必须的吗?目前阶段,确实。
因为,预训练的大语言模型参数规模巨大,很容易被不相关的上下文分散注意力,影响性能表现,相当于学生上课走神了,被老师叫起来回答问题只能胡言乱语。这时候就需要提示学习(Prompt Learning)来进行微调,相当于旁边有人给提了个醒,更好地完成下游任务。
但离散式的硬提示(Discrete Prompt),需要人为设计提示词prompt,而人类觉得不错的提示词,语言模型却不一定觉得好,最后还是回答的一塌糊涂,而且,离散的token作为提示词,优化难度也特别大。
所以,连续化的软提示(Continuous Prompt),限制了模型参数不被调整,直接优化低维向量,这样就可以用较小的微调来提升模型性能。这个方法省事儿,效果也不错,但一直走这条路还是没办法让语言模型搞懂逻辑推理。
思维链的提出,用的是离散式的token,又能自动构建问题、推理步骤和样例,这就解决了离散提示人工设计难的问题,而且还能让语言模型拥有可解释性。
所以说,思维链promoting,可以算是打破了大语言模型能力僵局的神来之笔。有时候技术的突破靠的就是一个灵感,而造就这个灵感的人才机制、创新环境、组织模式等,却需要漫长的时间去培育。
一些待解的问题
说了这么多,是不是有了思维链,大语言模型就所向披靡了呢?照这么发展下去,真能媲美人类的能力了?
大可不必担心,思维链本身还是有很多局限的,而它的局限也是大语言模型的局限。
首先,思维链必须在模型规模足够大时才能涌现。
在Jason Wei等的研究中,PaLM在扩展到540B参数时,与思维链提示结合,才表现出了先进的性能。一些小规模模型,思维链并没有太大的影响,能力提升也不会很大。
谷歌大脑的研究人员认为,策略问题需要大量的世界知识,而小型模型没有足够的参数来记忆这些世界知识,所以也不太可能产生正确的推理步骤。
但问题是,能落地到产业的模型,规模必然不会太大,思维链拆解了更多的步骤、用到更多的计算资源,相当于更加耗费脑力,很多研究机构和企业是负担不起175B参数以上的大模型。
所以思维链必须要探索,如何在较小的模型中进行推理,降低实际应用的成本。
(62B比540B的语言模型更容易出错)
其次,思维链的应用领域是有限的。
目前,思维链只是在一些有限的领域,比如数学问题,五个常识推理基准(CommonsenseQA,StrategyQA,Date Understanding和Sports Understanding以及SayCan)上显现出作用,其他类型的任务,像是机器翻译,性能提升效果还有待评估。
而且,相关研究用到的模型(GPT-3 API)或数据集,都是半公开或不公开的,这就使其难以被复现和验证。严谨来看,思维链的效果还需要被进一步探索,才能下定论。
此外,即使有思维链提示,大语言模型依然不能解决小学水平的数学问题。
没有思维链,数学推理是指定不行。但有了思维链,大语言模型也可能出现错误推理,尤其是非常简单的计算错误。Jason Wei等的论文中,曾展示过在GSM8K的一个子集中,大语言模型出现了8%的计算错误,比如6 * 13 = 68(正确答案是78)。
这说明,即使有了思维链,大语言模型还是没有真正理解数学逻辑,不知道加减乘除的真实意义,只是通过更精细的叠加来“照葫芦画瓢”,所以,对于有精确要求的任务,还要进一步探索新的技术。
思维链确实增强了大语言模型的能力,但逻辑推理仍然是大语言模型的弱项,等待着更多突破。
One more thing
通过思维链,我们可以看到大语言模型为什么强,也为什么弱。
它强在,模型规模的提高,让语义理解、符号映射、连贯文本生成等能力跃升,从而让多步骤推理的思维链成为可能,带来“智能涌现”。
它弱在,即使大语言模型表现出了前所未有的能力,但思维链暴露了它,依然是鹦鹉学舌,而非真的产生了意识。
认知心理学教授斯坦尼斯拉斯·迪昂(Stanislas Dehaene)在《精准学习》中提出,缓慢地、理智地、符号化地运作,是人脑的特权。它可以在任何可能的时候,提取具有普遍性、逻辑性的、明确的原则。
五六岁的儿童学会了较小数字的加法,就可以理解其含义,用到更大的数字的加法中,而目前最强大的大语言模型,还连“加法”这个简单的抽象定律都理解不了。
这么说,并不是让大家小看AI的能力,而是想说明,人脑和AI,各有所长。
大语言模型,正如科幻作家特德·姜所说,是网上所有文本的模糊图像,一张有损压缩的JPEG,但它可以用远超人脑的算力和数据,极其高产地做好文本生成、图像生成这样的模糊任务。而人脑更擅长精确的、逻辑性的任务,就像特德·姜说的:“当你还有原始图片的时候,一张模糊的JPEG到底有多大用处呢?”
智能时代的生存策略,就是不要以己之短,硬碰AI之长。而是用AI之长,让自己的长板变得更长;用人脑的精确,让AI生成的模糊答案变得更高质量;用好思维链提示,让LLM生成时事半功倍。
《哈利波特》电影中,有一个“有求必应屋”,里面全是人所需要的东西,海伦娜形容它:
If you have to ask, you'll never know. If you know, you need only ask.
如果你还需要问,就永远不会明白;如果你明白,你只需要开口问。
有问必答的AI时代,是智者的天堂,也是愚者的地狱。永远不要让AI代替你思考。