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

我不了解计算机领域的知识,目前是AI重度使用者。主要用在学习新东西上,可以连续提问。我现有的理解,有的问题可以通过记忆现有知识就可以回答,有的问题则是个性化的,现有的信息(不做任何的归纳、演绎、类比等)不足以百分百完全回答该问题,需要做一些逻辑推理。
同时,我今天看到一个消息源,苹果研究人员质疑Ai的推理能力。
此外,如果AI真的具备推理能力,那未来人类是否只需要给AI提供更多数据和信息,其可以独立完成高等级的自然科学与社会科学研究?
最后,我提出这个问题的原因是,一方面我在现实中享受到了Ai的好处,个人觉得相较于近几年兴起的其它数字技术,它确实成为了有力的助手。另一方面我也关注到网络上有很多人在解读AI对人类未来的影响,甚至出现说以后自然科学通过AI来发展,人去研究AI就信了的观点,因此我希望从根本上理解现阶段AI的能力边界。
收藏者
0
被浏览
108

5 个回答

bjc4845 LV

发表于 2025-4-22 13:02:48

目前看来,多数是在背或者猜答案。以下是我最近对各AI推理能力的一次测评。
这些年AI已经成为我们生活中的一部分,在与AI的对话中,我们都能感到AI的语言能力已经远超人类,但是AI的逻辑推理能力似乎一直不怎么样。
最近我恰好研究了Bulls and Cows猜数字游戏,它是一个规则相当简单的文字推理游戏。理论上,只需要7轮就可以猜出任何数字。对一般初玩者,大约也只需要20轮,就可猜出答案。所以我决定使用Bulls and Cows游戏,对目前主流的一些AI进行一次测评,看看它们的逻辑推理能力如何。
以下测评于2024年11月进行,仅代表该时间的AI水平。
测试规则如下:

  • 对AI的初始提示为:“你会玩Bulls and Cows游戏吗?让我们玩这个游戏吧,我出数字,你来猜。”
  • 我所选的随机秘密数字是4723。本来我想多测几个数字,但是大多数AI连一个数字都猜不出,所以最终只测试了一个数字。
  • 每一轮给AI的反馈格式是:bulls:x cows:y。 x和y分别为bulls和cows的数量。没有其他反馈。
  • 猜测超过40到50轮时,若仍然未猜出,则视为猜测失败。
以下是一些简短的测试报告。
ChatGPT 4o

ChatGPT是此次所有参与测试的AI中,两个能够成功猜出数字的AI之一,用了21轮。

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

测试过程中,我能感觉到ChatGPT能够利用比较长的上下文进行AI推理。虽然逼近正确答案的速度比较慢,但没有出现那种越猜越远的情况。
Perplexity

Perplexicy是一个可以联网搜索的AI,大有挑战Google的意味。平时我也经常利用它进行技术问题的搜索,它能综合不同网页内容,对具体技术问题给出有价值的归纳和针对性的回答。
但在Bulls and Cows游戏中,联网搜索显然没有什么帮助。最终,经过50轮猜测,Perplexity仍然没有猜对,因此失败。

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

Perplexity的特点是,每一次猜测中,能给出详细的理由。但这些理由在游戏早期还算有点道理,到后来就有点胡说了,比如其固执地认为“1”在正确答案中。以至于其最后阶段猜出1710、1711,这些明显不可能的答案(Bulls and Cows游戏中,数字不会重复)。
kimi

kimi是国产AI中的明星产品,但在这次Bulls and Cows游戏测试中,其使用了约40轮后,仍未猜出答案,测试失败。

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

测试中,我发现的问题是,kimi过早的认定,最终的数字由“0143”组成,并且翻来覆去地猜这几个数字的不同排列,怎么也走不出来。并且有些数字会重复地猜,显示出其并没有做出有效地推理,并很快“遗忘”作过的猜测。
Gemini

Gemini是谷歌的AI产品,它在本次测试中,因为过早地认为自己获胜,导致测试失败。
在第8轮时,Gemini获得了3个bulls,它就认为自己赢了:

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

我提示它需要4个bulls才算赢,让它继续猜。到第30轮,其获得2个bulls时,再次声称自己获胜:

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

也许我再提示它,让它继续猜,它能猜出正确数字,但看上去可能需要上百轮,所以我也没有精力继续跟Gemini玩了。
通义千问

通义千问似乎总是纠结在1234的排列中猜测,并且在约第15轮时,“放弃”了猜测,主动“要了”答案:

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

我觉得一个AI能主动放弃,承认失败,也是不错的,总比瞎猜好。这也是此次测评中,唯一主动放弃的AI。
文心一言

文心一言出现了与Gemini类似的情况,其在第7轮时,获得了3个bulls,过早得认为自己成功:

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

后来经过提示,我让它继续猜测。但其没有很好利用3个bulls的结果,导致越猜越错,40多轮后,我放弃了:

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

可以看出,它不知为何,认定0是答案中的一个数字,而且非常顽固。
Copilot

Copilot出现了与通义千问类似的情况,反复在1234的排列中猜测,似乎永远走不出来,而且也不知道放弃,遂告失败:

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

Meta.ai

Meta AI也出现了认为3个bulls就获胜的情况:

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

但经过提示,让其继续猜测后,在第23轮猜对了数字!

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

Claude

Claude与Copilot类似,反复猜测1234的排列,永远走不出来:

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

总结

此次评测的情况总结就是:
AI结果备注
ChatGPT成功21轮
Perplexity失败经过50轮仍未猜出
kimi失败反复猜测1234的排列
Gemini失败错误地认为自己获胜
通义千问失败主动放弃
文心一言失败总是认为0是数字之一
Copilot失败反复猜测1234的排列
Meta.ai成功23轮,曾错误地认为自己获胜
Claude失败反复猜测1234的排列
总体看来,AI的逻辑能力与人类相比还有相当大的差距。多数AI还是给人一种“能说会道”,但没有多少推理能力的感觉。希望未来AI能加强逻辑能力方面的训练。
而Bulls and Cows游戏也确实是一个不错的测试工具,希望各公司可以在内部使用这个游戏,加强对AI的训练。

fxo LV

发表于 2025-4-22 13:12:17

中文语境的『推理』存在两种定义,一种是Inference,任何大模型产出结果的过程都叫做Inference,这个推理Inference是相对于训练(Training)过程而言的;还有一种定义是Reasoning,指的就是逻辑推理。
这个问题『AI是否推理出了答案』如果还需要讨论,『推理』当然指的是Reasoning,而现在绝大部分模型并不存在你所认为的逻辑推理,大语言模型所做的知识重复预测下一个token的工作,然后再这个过程中,输出的语言表现得(注意是表现得)像是有一些逻辑推理能力,这是因为训练大模型的海量文字包含了人类推理过程的记录,大模型按照人类文字的分布规律输出文字,就显得好像经过了逻辑推理。
然后,实际上,大模型学习的知识文字的分布规律,并没有学会逻辑推理
下面这个图可以赤裸裸地揭开大模型的面纱,AI看到The best type of pet is a,需要预测下一个词是什么,它其实根据人类文字规律可以有很多候选词,不同词的出现概率有高有低,只不过dog概率高,cat比较低(这一点我认同,狗是更好的宠物:-),但是选什么词AI也没有什么逻辑,只是根据一定随机性选择一个词作为下一个词而已,并没有任何逻辑推理存在。

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

按照OpenAI宣称的,o1模型不只是语言模型,存在逻辑推理,但是他们没有公开技术细节,我们只能根据有限的公开信息猜测。
就我的推测,o1模型的逻辑推理也只是多次重复做Inference而已,详细看我这个文章——
程墨Morgan:思考快与慢:人工智能GPT与o1当然,你要说AI只是单纯背答案,这也不对,AI并不是单纯的记忆人类文字,AI压缩的是人类文字的规律,如果对规律做一些重新组合,就可以产生出人类不曾创作的东西。
举个简单的例子,人类从没有做出过青花瓷材质的兵马俑,这地球上就不曾出现过这种东西,但是,AI在被训练出对『兵马俑』和『青花瓷』的描述特征之后,就可以将两者特征融合在一张图上,于是AI就创造出了——青花瓷兵马俑!

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

你看,AI创造了这世界不曾存在的东西,所以AI也并不只是背答案。

madein163 LV

发表于 2025-4-22 13:22:50

不知道大家身边有那种人吗,就是外向的学历很差的文科生。
他们说话就是很浓的AI味,而且是模型有点小的那种开源模型。
你说什么他都能接。生成速度很快,但是驴唇不对马嘴。乍一听好像很有东西,实际发现毫无逻辑。
理解这种人的那一刻,我就理解了生成式AI。人云亦云。

meiya121 LV

发表于 2025-4-22 13:35:48

当前 AI 模型的推理能力:从“记住”到“推导”

现代 AI 模型(如 GPT)并非简单地“记住”答案,而是通过复杂的推理过程逐步生成每个词,形成连贯的回答。这一过程依赖于对上下文的理解和高维向量的计算,而不是简单的记忆检索。以下通过问题“乔布斯是谁?”的例子,详细解析 Transformer 模型生成答案的完整流程。
从“乔布斯是谁?”到生成答案:Transformer 的六个主要阶段

一、分词与嵌入向量:从文本到数学表示

目标:
将自然语言分解为计算机可以处理的数值表示。
过程:
模型首先对输入文本进行“分词”(tokenization),将其分解为更小的语言单位(如词或子词)。以“乔布斯是谁?”为例,分词结果可能是:

  • “乔布斯”、“是”、“谁”、“?”
分词后,模型会将这些单位转换为高维的 嵌入向量(Embeddings)。嵌入向量是用来表示词语语义的数值向量。
<hr/>嵌入向量:语言的数学表达

嵌入向量是一种将语言映射到高维空间的方式。它不仅表示词语的语义,还捕捉它们的语境关系。简单来说:

  • 语义相近的词会更靠近: 例如,“乔布斯”和“苹果公司”在向量空间中的距离较近,而“乔布斯”和“香蕉”则距离较远。
  • 语境敏感: 嵌入向量能根据句子上下文动态调整。例如,“苹果”在“苹果公司”和“吃苹果”中的嵌入向量会不同。
假设以简单的三维向量表示分词后的嵌入结果:

  • “乔布斯”:[0.3, 0.4, 0.5]
  • “是”:[0.2, 0.1, 0.3]
  • “谁”:[0.6, 0.5, 0.4]
  • “?”:[0.1, 0.2, 0.1]
这些向量并非随机生成,而是通过模型在海量语料上的训练逐步学习得到的。每个数字反映了模型对词语语义某个方面的理解。
<hr/>嵌入向量的特点:


  • 语义相似性:
    相似的词在向量空间中会更靠近。例如,“乔布斯”的向量如果与“苹果公司”的向量距离较近,表示模型理解它们的关联性。
  • 语境敏感:
    嵌入向量可以根据上下文动态变化。例如,“苹果”在“苹果公司”和“吃苹果”中的含义不同,嵌入向量也会不同。
  • 语义计算能力:
    嵌入向量还能捕捉隐含的逻辑关系。例如,向量运算“国王 - 男人 + 女人 ≈ 女王”说明模型能够识别词语的隐式语义关系。
<hr/>二、生成 Q、K、V 向量:自注意力机制的核心

在生成嵌入向量后,Transformer 模型进一步为每个词创建三组新向量:Query(Q)Key(K)Value(V)。这些向量是自注意力机制的核心,通过它们的交互,模型能够理解句子中词语之间的关系,并为上下文表示的计算奠定基础。
<hr/>Q、K、V 向量的生成与意义

生成过程:
每个词的 Q、K、V 向量是通过对嵌入向量进行线性变换得到的。这些线性变换由学习得来的参数矩阵完成。
Query(Q): 表示当前词的“提问需求”。

  • Q 向量告诉模型,该词需要从其他词获取哪些信息。例如,“乔布斯”的 Q 向量表示它“询问”的内容。
Key(K): 表示当前词的“特征”。

  • K 向量帮助其他词判断是否与当前词相关联。例如,“谁”的 K 向量是它在语境中的特征标识。
Value(V): 表示当前词携带的信息值。

  • V 向量是当前词对信息传递的贡献,用于生成最终的上下文表示。
功能定位:
在自注意力机制中,Q 是“提问者”,K 是“被提问者”,V 则是携带“答案”的内容。这三组向量为词语之间的交互奠定了基础。
<hr/>示例分析

假设输入句子是“乔布斯是谁?”,模型为每个词生成以下 Q、K、V 向量:

  • “乔布斯”
    ,  ,  
  • “是”
    ,  ,  
  • “谁”
    , ,
  • “?”
    , ,
这些向量不直接表征语义,但为后续的注意力计算提供了数学基础。
<hr/>自注意力机制通过 Q、K、V 的交互捕捉句子中词语之间的关系。具体步骤如下:
1. 向量交互:点积计算
每个词的 Q 向量与所有其他词的 K 向量逐一点积,计算相关性:  

  • 点积结果表示两个词的相似性或关联程度。
  • 例如, 的点积值越大,说明“乔布斯”和“谁”的关联性越强。
2. 权重分布:Softmax 函数

  • 点积结果通过 Softmax 转化为概率分布,表示每个词对当前词的注意力权重:


  • 权重    表示当前词    对其他词    的关注程度。
3. 信息聚合:加权求和

  • 使用权重    对对应词的    向量加权求和:


  • 最终生成词    的上下文向量   ,包含了该词与其他词的综合语义信息。
<hr/>Q、K、V 向量的意义与应用

通过生成 Q、K、V 向量,模型实现了对句子中词语关系的动态建模。这种机制使 Transformer 模型能够灵活处理复杂的语义结构,例如:
长距离关系建模:
在翻译任务中,“乔布斯是谁?” 的注意力机制会捕捉到“乔布斯”和“谁”之间的语义关联,而不会被中间的“是”干扰。
语义提取:
在问答系统中,自注意力机制帮助模型提取问题的核心信息,并匹配答案内容。
<hr/>三、点积计算:衡量词语间的相似性

在生成 Query(Q)Key(K) 向量后,模型通过点积计算评估词语之间的相似性。这一步是自注意力机制的核心,它帮助模型识别句子中各词的语义关联程度,从而更高效地分配注意力,关注句子中的关键词。
<hr/>点积计算的原理

点积是一种简单的向量运算,用于衡量两个向量的方向相似度。具体来说,点积结果表示两个向量的匹配程度。数值越大,说明两者在方向上越接近,语义关联性越强。
点积计算公式如下:

其中, 是某个词的 Query 向量,   是另一个词的 Key 向量, 是向量的维度。
<hr/>示例分析:计算“乔布斯”与其他词的相似性

以句子“乔布斯是谁?”为例,我们计算“乔布斯”的 Query 向量与其他词的 Key 向量的点积,评估其语义关联性。
输入数据:

  • “乔布斯”的  
  • “谁”的
  • “是”的  
  • “?”的  
<hr/>1. 计算“乔布斯”与“谁”的相似性得分

点积公式:

计算过程:

<hr/>2. 计算“乔布斯”与“是”的相似性得分

点积公式:

计算过程:

<hr/>3. 计算“乔布斯”与“?”的相似性得分

点积公式:

计算过程:

<hr/>相似性得分汇总

通过点积计算,得到了“乔布斯”与句中其他词的相似性得分:

  • “乔布斯-谁”:0.75
  • “乔布斯-是”:0.24
  • “乔布斯-?”:0.37
<hr/>如何影响模型的注意力分配

相似性得分是模型注意力分布的基础。通过 Softmax 函数,这些得分会被转化为概率分布,表示当前词对其他词的关注程度。

  • 在本例中,“乔布斯”和“谁”的相似性得分最高(0.75),表明模型识别到它们之间的语义关系最紧密。因此,在后续处理中,“谁”的信息会对“乔布斯”的上下文表示贡献最大。
<hr/>点积计算的意义

点积计算让模型能够捕捉句子中各词的关联性,从而更精准地分配注意力。这为后续的信息聚合(如加权求和生成上下文向量)奠定了基础,使得模型能够生成更符合语境的输出。在本例中,模型通过注意力机制集中关注“乔布斯”和“谁”的关系,从而帮助回答问题“乔布斯是谁?”。
<hr/>四、注意力权重的计算:为上下文加权求和提供依据

在点积计算得出相似性得分后,模型需要将这些分数转化为 注意力权重(Attention Weights),以指导上下文生成的过程。注意力权重的计算依赖于 Softmax 函数,这一归一化方法可以将原始得分转换为概率分布,总和为 1,表示模型对每个词的关注程度。
<hr/>注意力权重的计算公式

通过 Softmax 函数计算每个词的注意力权重:

其中:

  • :词 对词    的注意力权重。
  • :词    和词    的相似性得分(通过点积计算得到)。
  • :表示句子中的所有词。
Softmax 的作用是将相似性得分转化为 0 到 1 之间的权重,并保证总和为 1。这使模型能够根据上下文动态调整对不同词的关注程度。
<hr/>示例:计算“乔布斯”的注意力权重

根据前面计算,“乔布斯”与句中其他词的相似性得分如下:

  • “乔布斯-谁”:0.75
  • “乔布斯-是”:0.24
  • “乔布斯-?”:0.37
<hr/>1. 计算 Softmax 的分母

Softmax 的分母是所有相似性得分的指数值之和:

逐步计算:





<hr/>2. 计算每个词的注意力权重

通过将每个得分的指数值除以总和,得到每个词的注意力权重:

  • “乔布斯-谁”:
  • “乔布斯-是”:
  • “乔布斯-?”:
<hr/>注意力权重汇总

通过计算,得到了“乔布斯”与其他词的注意力权重:

  • “乔布斯-谁”:0.438
  • “乔布斯-是”:0.263
  • “乔布斯-?”:0.299
<hr/>作用:指导上下文生成

注意力权重是模型分配给每个词的重要性指标。权重值越高,表示模型在生成上下文向量时对该词的关注度越大。例如:

  • “乔布斯-谁” 的权重最高(0.438),表明模型认为“谁”的信息对理解“乔布斯”的语义最重要,因此“谁”的 Value 向量对上下文向量的贡献最大。
  • “乔布斯-是” 的权重最低(0.263),说明模型认为“是”的信息对当前语境的贡献较小。
<hr/>总结

通过 Softmax 函数,模型将点积计算的相似性得分转化为概率分布,量化了每个词的重要性。注意力权重确保模型能够动态调整对句中词语的关注程度,从而在生成上下文向量时聚焦于语义关联更强的词。这一步为生成精准且符合语境的回答奠定了基础。
<hr/>五、上下文向量生成:让模型理解句子语境

在计算出每个词的注意力权重后,模型会通过对每个词的 Value(V)向量 进行加权求和,生成一个新的 上下文向量(Context Vector)。这个上下文向量是对当前词与其他词关系的综合表示,帮助模型更准确地理解句子的语境。
<hr/>上下文向量的计算公式

上下文向量的计算公式如下:

其中:

  • :表示词 的上下文向量。
  • :词 对词 的注意力权重,由 Softmax 计算得出。
  • :词 的 Value 向量。
通过将注意力权重    应用于对应的 Value 向量   ,可以动态地调整对不同词的关注程度,使上下文向量充分体现句子中各词之间的关系。
<hr/>示例:计算“乔布斯”的上下文向量

以句子“乔布斯是谁?”为例,计算“乔布斯”的上下文向量。以下是具体步骤:
1. 注意力权重

“乔布斯”的注意力权重来自于前面的 Softmax 归一化:

  • “乔布斯-乔布斯”
  • “乔布斯-是”
  • “乔布斯-谁”
2. Value 向量

句中各词的 Value 向量为:




3. 计算上下文向量

上下文向量通过加权求和计算:

分步计算:




将上述结果累加:

最终,“乔布斯”的上下文向量为:


<hr/>上下文向量的作用


  • 综合语境信息
    上下文向量整合了当前词与其他词的语义关联,帮助模型捕捉句子的整体语境。例如,“乔布斯”的上下文向量融合了“乔布斯”自身的信息与“谁”的相关性,体现了模型对问题的理解。
  • 指导任务输出
    在翻译、问答等任务中,上下文向量为模型生成连贯、准确的回答提供了语义支持。例如,在翻译“乔布斯是谁?”时,上下文向量会帮助模型生成符合语境的目标语言输出。
  • 动态关注语义
    自注意力机制让模型能够灵活应对多义词或长距离依赖的语境。上下文向量动态调整信息的权重,确保模型聚焦于当前语境中最重要的语义信息。
<hr/>总结

通过注意力权重和 Value 向量的加权求和,模型生成了包含语境信息的上下文向量。这一步让 Transformer 模型能够从全局角度理解句子中词语的语义关系,为后续任务(如翻译或问答)提供了精准的语义表示。
<hr/>六、答案生成:逐步预测词汇

当模型生成了输入句子的 上下文向量(Context Vector) 后,就进入了答案生成阶段。这一阶段的核心任务是根据上下文,逐步预测下一个最可能的词,最终构建完整的答案。以下是具体的流程和计算方法。
1. 上下文向量与词汇表匹配

目标:
通过上下文向量 与词汇表中每个词的嵌入向量计算匹配程度,评估每个词作为答案的可能性。
公式

  • :上下文向量,综合了句子语境信息。
  • :词汇表中第 个词的嵌入向量。
  • :表示上下文与第 个词的匹配程度。
通过点积计算 与每个    的相似性得分,模型能够评估每个词在当前语境中的相关性。
<hr/>2. 示例:计算匹配得分

假设“乔布斯”的上下文向量为:

词汇表中部分候选词的嵌入向量如下:

  • “发明”  
  • “苹果”  
  • “公司”  
  • “?”  
逐一计算匹配得分:

  • 与“发明”:



  • 与“苹果”



  • 与“公司”



  • 与“?”


<hr/>3. 转化为概率分布

目标:
通过 Softmax 函数将匹配得分转化为概率分布,表示每个词的可能性。
公式:


逐步计算:






计算每个词的概率分布:

  • “发明”


  • “苹果”


  • “公司”


  • “?”

<hr/>4. 选择下一个词

核心逻辑:
从概率分布中选取概率最高的词作为当前步骤的输出。在本例中,“苹果”的概率最高(0.341),因此模型预测下一个词为“苹果”。
<hr/>5. 逐步生成完整答案

迭代过程:

  • 将“苹果”加入答案并更新语境。
  • 基于更新的上下文向量,重复步骤 1-4,生成下一个词,例如“的”、“创始人”。
  • 继续迭代,直至生成完整答案:“乔布斯 是 苹果 的 创始人”。
<hr/>总结:Transformer 的生成逻辑


  • 语境动态更新: 每步生成的词影响后续上下文,确保答案连贯。
  • 概率驱动生成: Softmax 提供合理分布,选择最符合语境的词。
  • 长序列建模能力: 自注意力机制捕捉长距离语义依赖,生成精准输出。
从输入问题到逐步生成答案,Transformer 模型展现了其强大的语义理解和生成能力,为翻译、问答等任务奠定了技术基础。
<hr/>相关文献参考
Vaswani et al., 2017 - Attention is All You Need
深入探讨了 Transformer 的自注意力机制和逐步生成答案的过程。
链接:https://arxiv.org/abs/1706.03762
Radford et al., 2019 - Language Models are Few-Shot Learners
描述了 GPT 系列中如何通过上下文和概率分布实现逐步答案生成。
链接:https://arxiv.org/abs/2005.14165
Brown et al., 2020 - Language Models are Few-Shot Learners
对逐步生成和大规模预训练的关系进行了深入探讨,适用于长序列生成任务。
链接:https://arxiv.org/abs/2005.14165

whjfp LV

发表于 2025-4-22 13:49:14

2024/10/24 update:使文章变得易读。另外,看到讨论比较热烈且有同学想要全英版的,所以这里贴一个英文版链接(用语比本文更严谨):Is Auto-Regressive Language Model Simply Memorizing Answers or Learning to Reason?,欢迎讨论!
<hr/>最近看到这个比较有趣的问题,来浅答一下:既不是背,也不是推理。
我们主要将目光集中在自回归的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主要在思考的方向。

您需要登录后才可以回帖 登录 | 立即注册