目前的AI 到底是背出了答案,还是推理出了答案?

2024-11-19 阅读 14
更新于 2024年11月21日
2024/10/24 update:使文章变得易读。另外,看到讨论比较热烈且有同学想要全英版的,所以这里贴一个英文版链接(用语比本文更严谨):Is Auto-Regressive Language Model Simply Memorizing Answers or Learning to Reason?,欢迎讨论!
最近看到这个比较有趣的问题,来浅答一下:既不是背,也不是推理。
我们主要将目光集中在自回归的language model。自回归的language model,成名作是GPT-2,使用了next-token prediction的unsupervised learning target。由于预测下一个token的training phase可以直接将attention matrix mask成一个三角矩阵,简单方便,所以后面的工作基本都沿袭了这个传统。这个mask后被称为causal mask。Next-token Prediction最大的好处是,在GPT这种架构下预训练是非常scalable的,跟BERT这种依靠mask的模型架构完全不在一个世界。这个想法自从最早期的GPT开始,OpenAI就一直坚持着。到GPT-2发布的时候,用的数据量规模已经初见端倪。到GPT-3的时候,基本宣告用pre-train来进行next-token prediction这条路已经走通了。
最早的GPT其实是一个BERT的竞品,目标是在pre-train后能获得一个具有泛化性的general language model,这个时候next-token prediction本身的效果还不够好。GPT-2开始,这个pre-training task已经可以带出一些比较像样的应用了,比如fine-tune后可以续写小说,做情感机器人(Emotional Bots, Diyi Yang),做decision making(ArCHer, Yifei Zhou)等。到GPT-3,不需要finetune也可以做续写这种简单的任务了,因为pre-train的时候模型已经看过了。直到这个阶段,不会有人宣传GPT这个架构“具有reasoning能力”,因为GPT显然没有能力在推理任务上胜出。直到GPT-4开始,post-training将pre-trained model的能力抬到一个全新的高度后,模型似乎涌现出了一些zero-shot推理能力,比如进行一些数学推导和逻辑判断。后有研究开始基于大量的prompt engineering在小范围的推理任务上胜出fine-tuned model,从这一刻开始,就会有源源不断的媒体开始宣传“GPT-4具有reasoning能力”。
然而,这个阶段的“推理”本质上是“模型在推理任务上具有不错的效果”,而不是“模型本身具有推理能力”。这种不错的效果,究其原因,来源于next-token prediction这种近似流式的训练过程在data distribution中structure出来的一些paradigm在发挥作用,例如GPT-4在大量的serializable的数学、代码数据上训练过,而这些数据也是流式的,可以被next-token prediction比较恰当地建模,这会导致模型在很多情况下可以比较准确地预测pre-train的时候看过的,或没有看过但接近的next token。模型本质上是在vocabulary里面interpolate一个跟pre-train阶段见过的distribution最接近的distribution,然后在这个distribution上用一些test-time的工程技巧,例如beam search和temperature,来预测下一个token。
因为模型在test-time的interpolation总是逼近pre-training dataset里面input token sequence后那个token的distribution(合称paradigm),而dataset中越多类似的paradigm往往意味着越接近“真实的”(与客观吻合的)paradigm,所以模型在pre-training阶段见过越多类似的paradigm,则在test-time会越逼近真实值。例如,模型在infer的时候见到了自己之前infer出来的一个数学公式,而那个数学公式曾经在pretrained dataset里面,那么模型就会include自己之前推出来的那个公式找学过的最接近的下一条公式。
这就是自回归模型的“few-step逻辑”的来源:模型能输出一个个比较短的logic chunk,这些chunk内部是合理的,且相邻的chunk往往是合理的,但是相隔较远的chunk往往是不合理的。从强化学习的角度来看,这就是imitation learning的error accumulation。这也是为什么language model一般zero-shot reasoning能力不强 - language model学到了few-step这种流式的预测,却没有一个精心设计的mechanism(这往往需要动模型结构)去强化推理所需要的planning(如backup)和logic(如many-step/skip-step的逻辑)。因此GPT这个自回归模型架构既不是在背答案(因为有interpolate的能力,即有限的continuous few-step逻辑),也不是在推理(没有planning和many-step/skip-step逻辑)。
之前Anthropic的工作Decomposing Language Models With Dictionary Learning指出,1-layer language model中的大部分神经元可以被用dictionary learning的方法分解为许多单语义的token distrubution。这说明language model中的每个神经元本质上是一些简单语义的superposition,例如一个神经元可能在input token全部为大写时被激活,也可能在input tokens中出现人名时被激活,那么它就是“大写”和“人名”的superposition。我们的工作 CRATE-LM 尝试了更大的GPT-2,发现模型变深后,language model的各层职能开始分化,更深的layer的dictionary learning效果显然变差了,这说明模型深层可能在进行一些更针对前面神经元output的logits关于pre-train目标(next-token prediction)的整合和优化。由于更大的language model很难进行高效的dictionary learning,我们考虑直接将sparsity整合到language model内部,提出了基于CRATE架构的language model。CRATE架构(马毅)是一个数学第一性架构,直接在数学上promote sparsity。我们提出的CRATE-LM拥有更好的神经元解释性,且因为不需要过dictionary learning,所以支持无损编辑。这两份工作都从mechanisitic的角度侧面解答了“language model的内部是否存在reasoning机制”这样的问题:在12L以下的GPT-2 size的以next-token prediction为training target的language model中,并没有audit到任何planning/reasoning mechanism。
那用不同paradigm的post-training能够解决这个问题吗,例如强化学习?从原理上讲,只要训练仍然是完全通过next-token prediction这个target去做的,那么就很难去claim reasoning的能力。一个常用的workaround是,虽然language model本身并不具有reasoning能力,但是可以用它出色的representation去学一些小的reasoning/planning head,这就是一众使用RL来post-train language model的工作(包括我们的RL4VLM)的主要思想。而未来的研究者们仍应放眼更大的世界,尝试思考一些从模型架构本身出发的方法。我相信这现在也已经是general robotics model主要在思考的方向。
当前 AI 模型的推理能力:从“记住”到“推导”现代 AI 模型(如 GPT)并非简单地“记住”答案,而是通过复杂的推理过程逐步生成每个词,形成连贯的回答。这一过程依赖于对上下文的理解和高维向量的计算,而不是简单的记忆检索。以下通过问题“乔布斯是谁?”的例子,详细解析 Transformer 模型生成答案的完整流程。