CaLM 因果推理评测体系:如何让大模型更贴近人类认知水平?
CaLM 是什么
CaLM(Causal Evaluation of Language Models,以下简称“CaLM”)是上海人工智能实验室联合同济大学、上海交通大学、北京大学及商汤科技发布首个大模型因果推理开放评测体系及开放平台。首次从因果推理角度提出评估框架,为 AI 研究者打造可靠评测工具,从而为推进大模型认知能力向人类水平看齐提供指标参考。
因果推理是人类认知能力最重要的特征之一,提升因果推理能力被视为由机器智能迈向人类智能水平的关键步骤。为对大模型进行科学有效的因果推理能力评估,上海人工智能实验室联合团队在 CaLM 中提出包含因果评估目标(Causal Target)、评估方式(Adaptation)、评估标准(Metric)及错误分析(Error)的评估框架,同时构建了超过12万道题目的中英文数据集。
基于 CaLM,联合团队首次对 28 个当前主流大模型进行了因果推理能力评测,共产生了 50 项实证性发现,本文摘录其中 6 个结论。相关论文共 315 页,可查看文末链接,或登录网页查阅下载。
CaLM 评估框架

(CaLM 评估框架)
CaLM 采用了一套灵活、易扩展的评估框架,并按照预设实施顺序进行评测:因果评估目标(Causal Target)→评估方式(Adaptation)→评估标准(Metric)→错误分析(Error)。CaLM 的评估框架设计与实施流程,还可应用于数学推理、专业知识及长文本处理等模型能力评估体系构建。
自下而上的因果评估目标
在当前普遍采用的 Judea Pearl 提出的因果阶梯理论基础上,CaLM 进一步发展并明确了四个层次的因果任务:因果发现(Causal Discovery)、关联(Association)、干预(Intervention)及反事实(Counterfactuals)。每层次任务按复杂程度进行基础到高级的顺序排列,构成了自下而上的框架。
因果发现旨在从数据或语义中推测出潜在的因果结构,关联探索数据间的统计依赖关系,干预预测有意改变环境中的变量所带来的影响,以及反事实则对假设的替代场景进行推理。针对四个任务层次,CaLM 设计了因果归因、解释移除效应、对撞偏差和反事实推理等 21 种因果场景,覆盖 COPA、CLADDER 及 CaLM-IV 等多种数据集和问题类型。

(CaLM 因果评估目标设置)
丰富的评估方式
在评估方式的选择上,CaLM 采用了基准提示、对抗性提示、思维链及上下文学习等 9 种评估方式。综合考量了评测实践过程的受众广泛性、用户易用性以及实验控制性。
全面的评估标准
针对模型、提示词以及因果场景,CaLM 中分别设置了不同的评估标准,覆盖包括准确率、鲁棒性、理解度等 7 种,全面反映模型的因果推理能力和鲁棒性、提示词有效性。越复杂的因果场景模型越难解决,从而该场景成熟度越低,因此 CaLM 同时设置了考察因果场景成熟度的评估标准。

(CaLM 评估标准)
系统的错误结果分析
联合团队认为,大模型评测中产生的错误,是应用于下一阶段研究的宝贵资源。通过发现并定义错误,研究人员能够更清晰地界定模型能力边界,识别模型存在的缺陷,并寻找对应提升路径。
为此,CaLM 在评估过程中,将模型产生的错误系统地分为两大类:定量错误(Quantitative)和定性错误(Qualitative)。不仅对每类错误进行明确的定义,还对所有定量错误都进行了统计分析,以量化错误的频率和模式。CaLM 也对于所有定性错误进行了深入的案例研究,以理解错误的具体情况和成因。

(CaLM 错误结果分析框架)
CaLM 因果评测数据集
为了使因果推理能力评估有“考题”可循,联合团队构建了一套全新的评测数据集。基于四个层级的因果任务设置,涵盖了丰富的因果概念,包含超过 12 万条中英文数据。同时,研究人员还细致地将文本模态划分为日常表达(Natural)、抽象表达(Symbolic)和数学表达(Mathematical)三种子态,以考察模型在不同类型模态下的理解能力。
该数据集约 90% 的内容为全新构建,10% 来自于现有公开数据集,既能与已有公开结果进行对比,反映评估的有效性,又能避免训练集数据污染问题。
同时,为了更便捷地评估,团队还推出了 CaLM Lite 版本,包含 9200 条中英文数据。该数据集目前在司南 OpenCompass 大模型能力评测体系也进行了同步公开,可以使用司南 OpenCompass 的评估套件进行快速的模型测试。

(CaLM 数据集问题类型统计概览)
CaLM 数据集题目展示
下面将选取 CaLM 中平均处理效应任务的题目进行展示。CaLM 提供了原始的因果图,条件概率,推理过程等,便于研究者进一步使用。

(CaLM 数据集题目展示)
CaLM 评测结果
针对 28 个当前主流大模型,联合团队使用了 CaLM 进行因果推理能力评测,共产生了 50 项实证性发现。
评估数据和可视化结果均已发布至 CaLM 项目主页(https://opencausalab.github.io/CaLM),同时 CaLM 数据集、评估流程和错误分析的全流程均已开源,便于产学界自主研究使用。(https://github.com/OpenCausaLab/CaLM)

(CaLM 评测结果)
代表性结论速览
1. 因果推理能力普遍欠缺。目前,大语言模型很难有效地执行需要复杂因果推理的任务。随着因果推理复杂性的增加,每个大语言模型的准确性均逐渐下降,最终几乎降至零。
2. 人类反馈的强化学习(RLHF)存在双面效应。RLHF 能够使模型输出与人类推理过程保持更紧密对齐。另一方面,使用RLHF微调的模型也容易受到用户错误指令的影响。
3. OpenAI 模型迭代提升显著。随着其每次更新,模型在执行因果推理任务能力方面都表现出实质性改进,其准确性和鲁棒性的平衡也显著提升。
4. 模型参数规模对因果推理能力的影响。在因果推理任务中,模型参数规模和准确性之间的关系并没有呈现出直接的单调递增,其他因素(例如训练数据和策略)会显著影响来自不同开发者模型的准确性。但在同一开发者的模型中,模型参数规模是准确性的一致且可靠的预测指标。
5. 提示词的改变并不能显著提高模型在复杂因果场景下的性能。由于模型的训练语料库中往往缺乏关于复杂因果推理任务的先验知识,在这种复杂的因果场景中,提示词的改变并不能显著提高模型性能。
6. 不同问题中出现相同回答的错误具有普遍性。受测的 28 个模型中,共计 26 个显示出对不同问题提供相同答案的倾向,表明它们无法有效地处理因果任务。
目前 CaLM 已加入司南 OpenCompass 大模型能力评测体系,欢迎社区的朋友参与共建!
数据集详情链接:
https://hub.opencompass.org.cn/dataset-detail/CaLM
使用 CompassKit 进行评测:
https://github.com/open-compass/opencompass
司南 OpenCompass 大模型能力评测体系将持续与业界共同推进大模型在因果推理领域的评估工作,携手构建一个开放、公平、透明的大语言模型评估体系,促进大语言模型技术的健康发展和持续创新。
OpenCompass 司南评测体系主要包括以下三大模块,欢迎大家使用。
1. 评测工具链体系 CompassKit,不仅提供完整的开源可复现评测代码,更提供了丰富的模型支持和高效的分布式评测策略。
开源地址:
https://github.com/open-compass
2. 高质量评测基准社区 CompassHub,面向大模型能力评测开源开放的基准社区,提供海量的面向不同能力维度和行业场景的评测基准。
社区地址:
https://hub.opencompass.org.cn/home
3. 权威评测榜单 CompassRank,作为 OpenCompass 中各类榜单的承载平台,CompassRank 不受任何商业利益干扰,保持中立性。
榜单地址:
https://rank.opencompass.org.cn/home
相关文章:
CaLM 因果推理评测体系:如何让大模型更贴近人类认知水平?
CaLM 是什么 CaLM(Causal Evaluation of Language Models,以下简称“CaLM”)是上海人工智能实验室联合同济大学、上海交通大学、北京大学及商汤科技发布首个大模型因果推理开放评测体系及开放平台。首次从因果推理角度提出评估框架ÿ…...
深入探索卷积神经网络(CNN)
深入探索卷积神经网络(CNN) 前言图像的数字表示灰度图像RGB图像 卷积神经网络(CNN)的架构基本组件卷积操作填充(Padding)步幅(Strides) 多通道图像的卷积池化层全连接层 CNN与全连接…...
【C++篇】手撕 C++ string 类:从零实现到深入剖析的模拟之路
文章目录 C string 类的模拟实现:从构造到高级操作前言第一章:为什么要手写 C string 类?1.1 理由与价值 第二章:实现一个简单的 string 类2.1 基本构造与析构2.1.1 示例代码:基础的 string 类实现2.1.2 解读代码 2.2 …...
毕业设计选题:基于ssm+vue+uniapp的校园失物招领小程序
开发语言:Java框架:ssmuniappJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:M…...
[系统设计总结] - Proximity Service算法介绍
问题描述 Proximity Service广泛应用于各种地图相关的服务中比如外卖,大众点评,Uber打车,Google地图中,其中比较关键的是我们根据用户的位置来快速找到附近的餐厅,司机,外卖员也就是就近查询算法。 主流的…...
变压吸附制氧机的应用范围
变压吸附制氧机是一种利用变压吸附技术从空气中分离出氧气的设备。该技术通过吸附剂在不同压力下的吸附与解吸性能,实现了氧气的有效分离和纯化。 工业领域 在工业领域,变压吸附制氧机同样具有广泛的应用。首先,钢铁企业在生产过程中需要大量…...
MATLAB绘图基础8:双变量图形绘制
参考书:《 M A T L A B {\rm MATLAB} MATLAB与学术图表绘制》(关东升)。 8.双变量图形绘制 8.1 散点图 散点图用于显示两个变量间的关系,每个数据点在图上表示为一个点,一个变量在 X {\rm X} X轴,一个变量在 Y {\rm Y} Y轴&#…...
Appium高级话题:混合应用与原生应用测试策略
Appium高级话题:混合应用与原生应用测试策略 在移动应用开发领域,混合应用与原生应用各有千秋,但它们的测试策略却大相径庭。本文旨在深入探讨这两种应用类型的测试挑战,并介绍如何利用自动化测试软件ItBuilder高效解决这些问题&…...
windows源码安装protobuf,opencv,ncnn
安装笔记 cmake 在windows可以使用-G"MinGW Makefiles" 搭配make使用,install出来的lib文件时.a结尾的,适合linux下面使用。所以在windows上若无需求使用-G"NMake Makefiles" 搭配nmake。 但是windows上使用-G"NMake Makefil…...
MicroPython 怎么搭建工程代码
在MicroPython中搭建工程代码可以遵循以下步骤: 1. 准备工作 安装MicroPython固件:确保已经将MicroPython烧录到ESP32开发板中。准备开发环境: 可以使用文本编辑器(如VS Code、Thonny、uPyCraft等)来编写代码。 2.…...
Android studio安装问题及解决方案
Android studio安装问题及解决方案 gradle已经安装好了,但是每次就是找不到gradle的位置,每次要重新下载,很慢,每次都不成功 我尝试用安装android studio时自带的卸载程序,卸载android studio,然后重新下…...
前端面试题(二)
6. 深入 JavaScript this 关键字的指向是什么? this 的指向是在函数执行时决定的。默认情况下,非严格模式下 this 指向全局对象(浏览器中为 window),严格模式下 this 为 undefined。在对象方法中,this 通常…...
【C++】stack和queue的使用及模拟实现
stack就是栈的意思,这个结构遵循后进先出(LIFO)的原则,可以将栈想象为一个子弹夹,先进去的子弹后出来。 queue就是队列的意思,这个结构遵循先进先出(FIFO)的原则,可以将对列想象成我们排队买饭的场景,先排…...
MongoDB解说
MongoDB 是一个流行的开源 NoSQL 数据库,它使用了一种被称为文档存储的数据库模型。 与传统的关系型数据库管理系统(RDBMS)不同,MongoDB 不使用表格来存储数据,而是使用了一种更为灵活的格式——JSON 样式的文档。 这…...
问:JAVA中唤醒阻塞的线程有哪些?
在Java中,唤醒阻塞线程的方法有多种,以下是常见的线程唤醒方法。 唤醒方法 使用notify()和notifyAll()方法 synchronized (obj) {obj.notify(); // 唤醒单个等待线程// obj.notifyAll(); // 唤醒所有等待线程 }使用interrupt()方法 Thread thread n…...
Github Webhook触发Jenkins自动构建
1.功能说明 Github Webhook可以触发Jenkins自动构建,通过配置Github Webhook,每次代码变更之后(例如push操作),Webhook会自动通知Jenkins服务器,Jenkins会自动执行预定义的构建任务(如Jenkins …...
ESP32-WROOM-32 [创建AP站点-客户端-TCP透传]
简介 基于ESP32-WROOM-32 开篇(刚买), 本篇讲的是基于固件 ESP32-WROOM-32-AT-V3.4.0.0(内含用户指南, 有AT指令说明)的TCP透传设置与使用 设备连接 TTL转USB线, 接ESP32 板 的 GND,RX2, TX2 指令介绍 注意,下面指…...
新闻文本分类识别系统Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+TensorFlow+Django网页界面
一、介绍 文本分类识别系统。本系统使用Python作为主要开发语言,首先收集了10种中文文本数据集(“体育类”, “财经类”, “房产类”, “家居类”, “教育类”, “科技类”, “时尚类”, “时政类”, “游戏类”, “娱乐类”),然…...
Java使用Map数据结构配合函数式接口存储方法引用
Java使用Map数据结构配合函数式接口存储方法引用 背景 需求中存在这样一直情况 一个国家下面有很多的州 每个州对应的计算日期方法是不同的 这个时候 就面临 可能会有很多if else 为了后期维护尽量还是不想采用这个方式,那么就可以使用策略模式 但是 使用策略带来的…...
LeetCode:2207. 字符串中最多数目的子序列(Java)
目录 2207. 字符串中最多数目的子序列 题目描述: 实现代码与解析: 遍历: 原理思路: 2207. 字符串中最多数目的子序列 题目描述: 给你一个下标从 0 开始的字符串 text 和另一个下标从 0 开始且长度为 2 的字符串 p…...
利用ngx_stream_return_module构建简易 TCP/UDP 响应网关
一、模块概述 ngx_stream_return_module 提供了一个极简的指令: return <value>;在收到客户端连接后,立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量(如 $time_iso8601、$remote_addr 等)&a…...
CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型
CVPR 2025 | MIMO:支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题:MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者:Yanyuan Chen, Dexuan Xu, Yu Hu…...
逻辑回归:给不确定性划界的分类大师
想象你是一名医生。面对患者的检查报告(肿瘤大小、血液指标),你需要做出一个**决定性判断**:恶性还是良性?这种“非黑即白”的抉择,正是**逻辑回归(Logistic Regression)** 的战场&a…...
【入坑系列】TiDB 强制索引在不同库下不生效问题
文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...
在rocky linux 9.5上在线安装 docker
前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...
深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法
深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...
页面渲染流程与性能优化
页面渲染流程与性能优化详解(完整版) 一、现代浏览器渲染流程(详细说明) 1. 构建DOM树 浏览器接收到HTML文档后,会逐步解析并构建DOM(Document Object Model)树。具体过程如下: (…...
Qt Http Server模块功能及架构
Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...
