大模型是否具备推理能力?解读苹果新论文:GSM-Symbolic和GSM8K
在人工智能领域,大模型的推理能力一直备受关注。OpenAI的GPT-4和其他大模型的表现令人惊叹,但究竟是否具备真正的数学推理和抽象逻辑能力?最近,苹果的研究人员发表了一篇题为“GSM-Symbolic:理解大语言模型中数学推理的局限性”的论文,深度分析了大模型的数学推理表现,揭示了其在抽象逻辑和推理任务上的局限性。本文将详细解读这篇论文,并探讨目前主流模型在逻辑推理方面的核心问题。
1. 大模型推理能力的现状
当前大模型在数学推理测试中的优异表现令许多人认为这些模型或许已经具备“类人”推理能力。然而,苹果团队通过对GPT-4、LLaMA、Phi等多个闭源和开源模型的研究发现,这些模型并未表现出真正的逻辑推理,而更像是复杂的“模式匹配器”。也就是说,它们依赖于已有的训练数据和模式识别来回答问题,而非逻辑化地推导答案。
苹果研究团队认为,随着大模型训练数据的增多,数据污染不可避免——模型可能在训练数据中接触过评估数据集的题目,因此即便模型表现出色,也可能仅仅是记住了答案,而不是通过逻辑分析解决问题。
1.1 使用GSM8K数据集进行初步测试
GSM8K数据集包含了8000个小学难度的数学问题,并一直是大模型数学推理能力的标准测试集。大模型的GSM8K表现从初期的GPT-3的35%逐步提高到现在的85%以上。但这种提升可能源于模型的记忆性,而非逻辑推理能力。
1.2 数据污染问题及其影响
由于GSM8K数据集在2021年发布,目前主流的大模型训练数据中可能包含了该数据集的一部分问题。模型可能通过“背答案”来解答GSM8K题目,而非真正理解问题的逻辑。因此,使用GSM8K数据集来评估模型的推理能力存在局限性。
2. GSM-Symbolic:苹果新数据集的设计
为更客观地测试大模型的数学推理能力,苹果团队开发了新数据集GSM-Symbolic,对GSM8K数据集进行了重新设计和变化,以避开数据污染问题。具体来说,GSM-Symbolic通过更改题目中的数字、称谓、玩具种类等元素来生成多个“新”题目,并设计了额外的数据集GSM-NoOp,在问题中加入无关信息以考察模型对冗余数据的敏感度。
2.1 GSM-Symbolic的结果分析
在GSM-Symbolic的数据集上,即便是GPT-4等性能优越的模型,准确率显著下降。大多数模型在更换题干后准确率下降幅度大于1%-2%。例如,只改变题目中的名称和数字即可造成模型性能显著下降,显示出这些模型在遇到陌生信息时会产生认知困扰,无法系统性地推导答案。
2.2 增加无关信息对模型表现的影响
苹果团队还在GSM-NoOp数据集中加入无关信息,发现所有模型的准确率都显著下降。比如,Phi-3-mini模型准确率下降超过65%,即便是GPT-4等表现优异的模型也出现了接近20%的准确率下降。这表明,当前大模型在处理多余信息时缺乏必要的区分和排除机制,会将冗余信息当作逻辑推理的一部分。
3. “模式匹配”还是“逻辑推理”?
苹果的研究团队认为,现有大模型更接近于“模式匹配器”而非“推理器”。其推测是,大模型将任务问题视作一种子图匹配的问题,将其逐步映射到训练数据中存在的类似子问题上,而并非依靠内在逻辑分析逐步解答问题。
3.1 线性化子图匹配
一种重要理论解释是“线性化子图匹配”——任务问题可以被表示成有向图,大模型通过图中子图和已有数据的相似性进行近似推理。然而,模型并未在逻辑上分解任务步骤,而是依赖模式识别。例如,在乘法问题中,模型未表现出人类推理的能力,而是仅在常见乘积(如7×4=28)上取得了成功,在更复杂乘法上则表现糟糕。
3.2 实验验证:乘法任务
研究团队在乘法任务上测试模型表现,如两位数和三位数的乘法,发现大模型在训练集上常见的小乘法表现优越,但在更大范围的乘法上表现糟糕。说明模型在更复杂的问题上缺乏系统性的分解与分析,仅在有限子图范围内完成匹配,而非通过逻辑化思维解决问题。
4. 大模型的推理局限性:现状与展望
苹果的研究表明,大模型在多步推理和逻辑归纳上存在重大缺陷,且在遇到冗余信息、问题格式变动等干扰时表现不佳。其推理更像是记忆和近似匹配而非人类逻辑分析。类似的实验也出现在谷歌DeepMind等研究中,进一步印证了大模型的推理局限性。
4.1 当前局限性和未来挑战
- 过度依赖数据匹配:当前大模型倾向于依赖数据匹配,并非真正理解问题。即便在GPT-4等优异模型上也会出现复杂问题回答失败的现象。
- 多步逻辑化推理能力不足:大模型在跨多个逻辑步骤的问题中显现出推理能力的不足,无法完全理解任务的多层次结构。
- 抗干扰能力不足:在数据中加入无关信息时,大模型无法有效识别干扰项,这也对AI系统的可靠性提出了挑战。
4.2 未来的改进方向
苹果团队的研究暗示,通过简单堆积数据和参数并不能解决大模型的推理缺陷。Gary Marcus等学者建议,将神经网络和符号逻辑相结合,通过引入变量与操作之间的抽象关系来提升模型的逻辑化能力。这可能是未来人工智能领域的重要研究方向之一。
5. 总结
苹果的GSM-Symbolic论文揭示了大模型在数学推理和逻辑分析方面的核心缺陷,指出了其模式匹配的特性和逻辑推理的不足。尽管GPT-4和其他大模型表现出惊人的模式匹配能力,但它们的推理本质仍远未达到人类智能的水准。未来,如何结合神经符号系统、提升模型的逻辑化推理能力,或将是人工智能发展的关键课题。

相关文章:
大模型是否具备推理能力?解读苹果新论文:GSM-Symbolic和GSM8K
在人工智能领域,大模型的推理能力一直备受关注。OpenAI的GPT-4和其他大模型的表现令人惊叹,但究竟是否具备真正的数学推理和抽象逻辑能力?最近,苹果的研究人员发表了一篇题为“GSM-Symbolic:理解大语言模型中数学推理的…...
自动化部署-02-jenkins部署微服务
文章目录 前言一、配置SSH-KEY1.1 操作jenkins所在服务器1.2 操作github1.3 验证 二、服务器安装git三、jenkins页面安装maven四、页面配置自动化任务4.1 新建任务4.2 选择4.3 配置参数4.4 配置脚本 五、执行任务5.1 点击执行按钮5.2 填写参数5.3 查看日志 六、查看服务器文件七…...
HTB:Analytics[WriteUP]
目录 连接至HTB服务器并启动靶机 1.How many open TCP ports are listening on Analytics? 2.What subdomain is configured to provide a different application on the target web server? 3.What application is running on data.analytical.htb? 4.What version of…...
【每日题解】3211. 生成不含相邻零的二进制字符串
给你一个正整数 n。 如果一个二进制字符串 x 的所有长度为 2 的 子字符串 中包含 至少 一个 "1",则称 x 是一个 有效 字符串。 返回所有长度为 n 的 有效 字符串,可以以任意顺序排列。 示例 1: 输入: n 3 输出&a…...
Nginx、Tomcat等项目部署问题及解决方案详解
目录 前言1. Nginx部署后未按预期显示结果1.1 查看Nginx的启动情况1.2 解决启动失败的常见原因 2. 端口开启问题2.1 Windows环境下的端口开放2.2 Linux环境下的端口开放 3. 重视日志分析3.1 Nginx日志分析3.2 Tomcat日志分析 4. 开发环境与部署后运行结果不同4.1 开发环境与生产…...
【PythonWeb开发】Flask-RESTful参数解析
flask-restful中的reqparse.RequestParser是一个用于解析和验证参数的工具。它可以帮助开发者从请求中提取参数,并确保这些参数符合预期的格式和类型。参数解析的意思就是规范化传入的参数并获取到这些参数。 一、什么是 reqparse.RequestParser? reqpa…...
gcc与mingw64版本介绍
三类编译器 GCC,全称为GNU Compiler Collection,是一个强大的编译器集合,它不仅支持C和C语言,还支持Fortran、Ada、Java等多种编程语言的编译。在GCC工具链中,gcc和g是两个核心的编译器工具。gcc是专门用于编译C语言程…...
CSS3新增长度单位
CSS3新增长度单位 rem:根元素字体的倍数,只与根元素字体大小有关;vw:占视口宽度的百分比;vh:占视口高度的百分比;vmax:占视口中宽和高最大的百分比;vmin:占视…...
【Spring】创建Spring项目前的配置工作
🥊作者:一只爱打拳的程序猿,Java领域新星创作者,CSDN、阿里云社区优质创作者。 🤼文章收录于:Spring 目录 1.下载Spring Initializr 2.配置Spring国内源 3.添加Spring框架的支持(pom.xml) 4.刷新Maven仓…...
docker 安装部署 nginx
命令 docker run \ -p 15008:80 \ --name nginx1.21.6 \ -v /iepms/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \ -v /iepms/nginx/conf/conf.d:/etc/nginx/conf.d \ -v /iepms/nginx/log:/var/log/nginx \ -v /iepms/nginx/html:/usr/share/nginx/html \ -d 192.168.1.103…...
黑马数据库学习笔记
课程地址 (基础篇)MySQL的启动 mysql 默认使用 3306 端口 在 centos下,启动 mysql 数据库:service mysqld start; 查看状态/启动/停止/重启:systemctl status/start/stop/restart mysqld; 登录到mysql数据库&…...
MYSQL-SQL-03-DQL(Data Query Language,数据查询语言)(单表查询)
DQL(数据查询语言) DQL英文全称是Data Query Language(数据查询语言),数据查询语言,用来查询数据库中表的记录。 查询关键字: SELECT 在一个正常的业务系统中,查询操作的频次是要远高于增删改的,当我们去访…...
【数据结构和算法】三、动态规划原理讲解与实战演练
目录 1、什么是动态规划? 2、动态规划实战演练 2.1 力扣题之爬楼梯问题 (1)解题思路1: (2)解题思路2: (3)动态规划(DP):解题思路 (4&#x…...
交叉编译 perl-5.40.0(riscv64)
交叉编译 perl-5.40.0(riscv64) https://arsv.github.io/perl-cross/usage.html https://github.com/arsv/perl-cross 借助 perl-cross 进行交叉编译 https://www.perl.org/get.html#unix_like 这里获取 perl-5.40.0 的源码 https://github.com/arsv/pe…...
Leetcode 搜索旋转排序数组
这段代码是用于解决LeetCode第33题“搜索旋转排序数组”的Java解法。以下是对该算法思想的中文解释: 算法思想 二分查找的基本思路: 由于数组是部分有序的(被旋转过),我们可以利用二分查找的思想,逐步缩小…...
Spring Task—定时任务
Spring Task 是 Spring 提供的一种轻量级定时任务调度功能,内置在 Spring 框架中。与 Quartz 等重量级调度框架相比,Spring Task 使用简便,无需额外依赖,适合在简单的调度任务场景中使用。通过注解配置方式,开发者可以…...
Spring Boot 应用开发概述
目录 Spring Boot 应用开发概述 Spring Boot 的核心特性 Spring Boot 的开发模式 Spring Boot 在企业应用开发中的优势 结论 Spring Boot 应用开发概述 Spring Boot 是由 Pivotal 团队开发的一个框架,基于 Spring 框架,旨在简化和加速基于 Spring …...
Chrome谷歌浏览器加载ActiveX控件之allWebDesktop控件介绍
背景 allWebDesktop控件是一款方便用户在线打开各类文档的OA办公控件。它设计比较轻巧,充分利用计算机程序资源打开文档,并将程序窗口嵌入到allWebDesktop控件区域内,从而实现浏览器内打开各类文档效果。 allWebPlugin中间件是一款为用户提供…...
GitHub Star 数量前 5 的开源应用程序生成器
欢迎来的 GitHub Star 数量排名系列文章的第 7 篇——最受欢迎的应用程序生成器。 之前我们已经详细探讨过:在 GitHub 上最受欢迎的——无代码工具、低代码项目、内部工具、CRUD项目、自部署项目和 Airtable 开源替代品。累计超过 50 个优质项目!&#…...
DBC文件当中新建CANFD等类型的报文
同学最近有添加CANFD报文的需求,需要用到CANFD类型报文的DBC文件,这下就难住我了,我之前用的DBC文件只有“CAN Standard”“CAN Extended”两种类型,压根没见过FD的。 后来他找到了项目之前的DBC,打开来看,…...
浅谈 React Hooks
React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...
反向工程与模型迁移:打造未来商品详情API的可持续创新体系
在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...
【Java学习笔记】Arrays类
Arrays 类 1. 导入包:import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序(自然排序和定制排序)Arrays.binarySearch()通过二分搜索法进行查找(前提:数组是…...
Leetcode 3577. Count the Number of Computer Unlocking Permutations
Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...
Golang dig框架与GraphQL的完美结合
将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...
Mac软件卸载指南,简单易懂!
刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"࿰…...
PL0语法,分析器实现!
简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...
JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作
一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...
【分享】推荐一些办公小工具
1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由:大部分的转换软件需要收费,要么功能不齐全,而开会员又用不了几次浪费钱,借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...
