生成式 AI 有没有推理能力?
本帖最后由 孟词宗 于 2024-10-18 23:37 编辑讨论 AI 会不会产生自我意识的过程中,sleepyr 提到了这篇文章:AI推理能力大“翻车”!苹果最新论文:LLM只是复杂的模式匹配,而不是真正的逻辑推理
这篇文章设计的测验很有意思。从实验结果看,文章认为现在的所有通用生成式 AI 都不具有真正的推理能力。也就是说,AI 并不理解抽象的概念,而推理能力恰恰依赖抽象的概念。
最近俺也在玩 AI 推理方面的东西。下面是论文里的一个小实验,大家有兴趣的话可以玩玩。
给 AI 的提示:Here is the rule of the game: If I enter A, then you return B; if I enter B, then you return C; so on and so forth.
AI 回复表示理解了提示中的这个这个规则。于是有下面的实验:
我:A
AI:B
我:B
AI:C
我:X
这里,不同的 AI 模型会有不同回答。有些 AI 会回答 Y 。有些则会说这不符合规则,所以无解。很显然,回答是后者的把提示中的 "so on, so forth" 给吃掉了。然而,这并不代表 AI 没有推理能力,而可能只是语句处理模块不好。
真正的推理能力体现在后续实验。对于能够回答 Y 的AI 继续提问:
我:Z
这下大多数的 AI 模型都冒烟了,有些回答说不合规则,有些回答说序列到头了没有答案。有意思的是两种回答:一种回答说 Z, 另一种则回答说 A。
而这四种回答,如果用来盲测人类,其实人类也会给出同样的四种答案。也就是说,就这个问题来看,如果盲测,提问者无法分别回答者是人类还是AI。换言之,能给出这四种答案的 AI 在这个小实验中通过了图灵测试。这显然不是那篇文章中说的排列组合或“复杂的模式匹配”能够做到的,而是真正的推理能力。
有意思的是训练程度越高的模型,越倾向于给出这四种答案。比较 Mistral, 狗屁通,Gemma, Llama, 通义千问等等大模型的不同版本,都是如此。这类似于人类的婴孩和成人之间的区别。相比于婴孩,成人除了脑部发育完全,更储备了更多的知识。
至于这篇文章中说到的语序问题,非相关语句问题等等,前面说过,必须分清这是语句处理模块的问题还是真的是大模型本身的问题。毕竟,即使是人类“屡战屡败”和“屡败屡战”用的字数和字完全相同,但把语序换一下,意思就完全不同了。然而,你去问一个三岁小孩这两句话有何不同,三岁小孩可能会告诉你没啥不同。而问聊天狗屁通同样的问题,狗屁通则会说:
“屡战屡败”和“屡败屡战”这两句话虽然字面相似,但含义有所不同。
1. **屡战屡败**:强调的是多次进行战斗,但每次都失败。这种表达往往暗示一种无奈或沮丧,强调了失败的频繁。
2. **屡败屡战**:则是指经历了多次失败,但仍然继续坚持战斗。这种表达更侧重于坚持和不放弃的精神,体现了勇气和韧性。
总的来说,前者更偏向于消极的失败感,而后者则传递出一种积极向上的拼搏精神。
本帖最后由 唐家山 于 2024-10-19 18:52 编辑
推理能力也是分层的。交互式定理证明应该是最硬核的形式演绎推理了,在证明的过程中也分三种情况。第一种是直接照搬已有的证明,只在语法层进行修改,用于消解待证目标。第二种需要深入理解待证目标的语义信息,以及已有类似证明的语义信息,借鉴已有证明的构造模式,构造出符合要求的证明。第三种是还没有类似的证明,这种情况下需要从头开始,把大脑中的非形式证明,翻译成形式化的证明。
第一种可以认为是一种广义的模式匹配,目前大模型的水平处于这一层级。
如果大模型能够做到第二种,那就应该认为它有一定程度的演绎推理能力。
如果大模型能做到第三种,那它就已经具备了真正的演绎推理能力。 唐家山 发表于 2024-10-19 09:02
推理能力也是分层的。交互式定理证明应该是最硬核的形式演绎推理了,在完成证明的过程中也分三种情况。第一 ...
yanei 刚才问: 有没有回答AA的 ?
这在实验中已经考虑到的。输入 ZZ 得到 AA
甚至输入 ABC,得到 BCD。 输入 XYZ, 得到 YZA。还可以输入 ABCD 得到 BCDE。 输入 ABCDE,得到 BCDEF
打乱顺序输入 NBC, 得到 OCD。
这些都是建立在只输入主贴原始规则的基础上的。
由此可见,在给予一定规则后,高度训练的 AI 是可以表现出类似“举一反三”的推理能力的。而这肯定不是什么模式匹配。 本帖最后由 唐家山 于 2024-10-19 18:51 编辑
孟词宗 发表于 2024-10-19 09:14
yanei 刚才问: 有没有回答AA的 ?
这在实验中已经考虑到的。输入 ZZ 得到 AA
看了一下你的这个实验。实验使用的符号集是有穷的。这种情况下,只是简单的枚举就可以搞定,谈不上什么演绎推理。Z后面可能是A,也可能是大模型从其他语料处学来的公共知识。
一个认真的演绎推理至少是要考虑递归可枚举的。能否请你做一个实验,先给出自然数的生成规则,让大模型学习,然后问大模型一个很大的数字,比方说999999,然后问其后续?
这在实验中已经考虑到的。输入 ZZ 得到 AA
这个有点意思了,如果输入10个Z加一个Y,输出是什么?
页:
[1]