论文阅读_CogTree_推理的认知树

英文名称: From Complex to Simple: Unraveling the Cognitive Tree for Reasoning with Small Language Models
中文名称: 从复杂到简单:揭示小型语言模型推理的认知树
链接: http://arxiv.org/abs/2311.06754v1
代码: https://github.com/alibaba/EasyNLP
作者: Junbing Yan, Chengyu Wang, Taolin Zhang, Xiaofeng He, Jun Huang, Wei Zhang
机构: 华东师范大学计算机科学与技术学院, 阿里巴巴集团, 上海人工智能教育研究院期刊: EMNLP 2023日期: 2023-11-12

1 读后感

大语言模型的功能主要包括知识能力和思维能力;现在我们越来越多发现模型训练再好也不可能容纳世界知识,幻觉问题再所难免。研究也更多转向模型的思维和解决问题的能力。小模型因其可以本地部署速度快,便于精调,方便验证,成本低而更受关注。这篇论文主要研究如何提升小模型的推理能力。

文中提出了反思树 CogTree,希望通过对小模型的微调和一些附加技巧,替代大模型的推理能力。推理树的根节点表示初始查询,而叶节点则由可以直接回答的简单问题组成。通过两个系统迭代实现:直觉系统负责产生原始问题的多个分解假设,反思系统对直觉系统产生的假设进行验证,并选择更有可能的假设进行后续生成。通过上述双系统的迭代式生成,提升模型准确度。正文 9 页左右。

文中最喜欢的一句话,来自 1957 年,利昂•费斯廷格的《认知失调理论》

In cognitive theory, human decision-making behavior arises from the comparative analysis of various options (Festinger, 1957) 在认知理论中,人类的决策行为源于对各种选项的比较分析。

2 摘要

目标:提升轻量化大语言模型的认知推理能力。

方法:使用迭代方法构建认知树(CogTree),包括直觉系统回答问题和反思系统验证评价;分别利用轻量级大模型精调了两个系统。

结论:实验结果表明,使用比 GPT-3.5 小得多的 7B 语言模型,可以达到与 GPT-3.5 175B 相当的性能水平。

2.1 引言

在认知科学中,埃文斯提出双过程理论:大脑最初采用一种隐含的、无意识的、直观的过程,称为直觉系统,它检索相关信息;接下来用一个明确的、有意识的和可控的推理过程,称为反思系统进行判断;两者迭代进行思考过程。

论文面向轻量化大模型的复杂任务推理,使用较小规模的模型(7B),构建双系统生成推理树。基于人类的认知理论,通过两个系统来模仿人类产生认知的过程。直觉系统(Generation)利用上下文将复杂的问题分解为子问题,并生成对查询的响应。反思系统(Scores)评估直觉系统产生的结果,并选择最有可能的解决方案,为下一轮提供指导。

图 1:CogTree 框架示意图论文的主要贡献包含:

  • 提出了问题分解范式,CogTree 框架
  • 提升了模型的推理能力
  • 证明了方法的有效性

图 2:直观系统和反思系统逐步产生数学推理问题的图示

3 认知树框架

数学和逻辑推理设置中,认知树 T 中的每个节点 n 代表逻辑集中的理论,或数学问题中子问题的解决方案。树的边 e 对应于对当前节点状态 s 的评估,可以是置信度分数或分类结果。

反思系统的辨别能力在提高模型的整体功效方面起着关键作用。文中利用交叉检查技术不仅验证中间结果的精确性,而且在完成推理过程后验证整个推理过程的准确性。为了增强模型评估能力,使用了比较强化方法。引入一个新的训练目标,最大化正确/错误/模棱两可的决策的表示之间的向量空间差异。

4 实现

4.1 直觉系统

直觉系统的生成能力是构建认知树的基础。选择仅包含 decoder-only 的模型(例如,GPT2-XL 或 LLaMA-7B)作为直觉系统。通过上下文方法来增强直觉系统的能力。

在逻辑推理问题的情况下,定义查询 Q,分解 D 将目标进一步分解为较小问题,分解集 Z 表示分解集合,最终采样 k 个可选项。

(下面两个图非常重要,一定要看一看)

图 -3 逻辑推理的查询和分解示例

图 -4 数学问题的查询和分解示例

4.2 反思系统

反思系统用于评估直觉系统的生成结果,确定其可接受性。反思系统采用两种方法来验证结果:中间过程的验证和整个推理链的验证。

当前状态分数:

总分数:

具体实现是:采用基于提示的方法并将其视为分类问题,模型输出三个类别之一:确定、不可能或可能,请参考图 2。

4.3 训练

4.3.1 直觉系统

直觉系统的目标是生成答案,使用监督微调 SFT 精调模型,直觉系统通过利用上下文示例将查询(即复杂问题)分解为子问题。在自回归期间,只对生成的文本计算损失。最大化似然函数:

4.3.2 反思系统

反思系统的目标是打分。由于人类的决策行为源于对各种选择的比较分析,因此采用对比学习方法来增强模型区分不同状态的能力,即最大化正样本和负样本在样本空间中的距离来学习正样本和负样本的表示。对比学习中负采样也非常重要,需要生成更具挑战的负样本。

对比学习的损失函数如下:

反思系统的全损耗函数:

5 算法精度评测

在 Entailment Bank 逻辑推理数据集以及 GSM8K 数学问题数据集上进行了测试。

将文中算法与其他基于大模型微调的方法进行对比:

表 3:测试集在准确性和相对改进方面的整体性能。

结果表明,利用上下文训练的 GPT2-XL(1.5B,仅 ChatGPT 1%)优于 GPT-3.5(175B)。通过结合 CoT 和 ToT 增强方法,GPT-3.5 的准确率大幅提升,达到 92-93%。文中方法与反射系统相结合进行结果验证时,可以实现更高的性能(LLaMA-7B 为 94%),超过了 GPT-3.5 精调效果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/637404.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenCompass大模型测评

一、笔记 为什么大模型需要开展测评? 大模型测评有以下原因: 1、让普通用户了解大模型的能力和特点,选择合适的大模型 2、让开发者了解大模型的能力边界,找到提升的地方 3、让管理机构更了解大模型,减少大模型带来的社会风险 …

为vs code配置unity开发环境

1.安装.NET.Core SDK 我们可以访问官网下载安装SDK及tool(https://www.microsoft.com/net/download/core)下载。有的系统只提供了执行文件,没有提供安装包,需要自己做一些配置。 下载好对应的版本就可以安装了,安装好以…

Video 不支持微信小程序的show-bottom-progress属性

原文地址:Video 不支持微信小程序的show-bottom-progress属性-鹭娃网络 相关平台 微信小程序 小程序基础库: 2.20.1使用框架: React 复现步骤 import { Video} from tarojs/components; 渲染一个Video播放视频,无法隐藏手机屏幕最底部的进度条&#…

【JavaEE】文件操作与IO

作者主页:paper jie_博客 本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。 本文于《JavaEE》专栏,本专栏是针对于大学生,编程小白精心打造的。笔者用重金(时间和精力)打造&…

L1-067 洛希极限(Java)

科幻电影《流浪地球》中一个重要的情节是地球距离木星太近时,大气开始被木星吸走,而随着不断接近地木“刚体洛希极限”,地球面临被彻底撕碎的危险。但实际上,这个计算是错误的。 洛希极限(Roche limit)是一…

【SpringCloud】微服务框架后端部署详细过程记录20240119

前言:前两天公司接到客户提供的一个微服务框架,导师让我在本地部署验证一下该框架的可用性,借此机会记录一下微服务项目的一个基本部署流程,仅供学习参考,如有不足还请指正! 文件结构 提供的压缩文件共包含…

IDEA在重启springboot项目时没有自动重新build

IDEA在重启springboot项目时没有自动重新build 问题描述 当项目里面某些依赖或者插件更新了,target的class文件没有找到,导致不是我们需要的效果。 只能手动的清理target文件,麻烦得很 , 单体项目还好说,一次清理就…

7、机器学习中的数据泄露(Data Leakage)

找到并修复这个以微妙的方式破坏你的模型的问题。 数据泄露这个概念在kaggle算法竞赛中经常被提到,这个不同于我们通常说的生活中隐私数据暴露,而是在竞赛中经常出现某支队伍靠着对极个别feature的充分利用,立即将对手超越,成功霸占冠军位置,而且与第二名的差距远超第二名…

一键搭建你的知识库

效果 说明 由于安装包安装需要glibc>2.7 我就不尝试了 因为glib升级是一个繁琐的过程 没有升级的意义 只是为了体验知识库 没必要浪费时间 1.1docker compose部署trilium 1.1.创建目录 mkdir -p /opt/triliumcd /opt/trilium 1.2.编写docker-comppose.yml文件 vim dock…

【51单片机】矩阵按键

0、前言 参考&#xff1a;普中 51 单片机开发攻略 1、硬件 2、软件 main.c #include <reg52.h> #include <intrins.h> #include "delayms.h"typedef unsigned int u16; //对数据类型进行声明定义 typedef unsigned char u8; #define GPIO_KEY P1 #d…

统计学-R语言-7.1

文章目录 前言假设检验的原理假设检验的原理提出假设做出决策表述结果效应量 总体均值的检验总体均值的检验(一个总体均值的检验) 练习 前言 本章主题是假设检验(hypothesis testing)。与参数估计一样&#xff0c;假设检验也是对总体参数感兴趣&#xff0c;如比例、比例间的差…

3.C语言——函数

函数 1.什么是函数2.函数的分类1.库函数2.自定义函数 3.函数的参数1.实际参数&#xff08;实参&#xff09;2.形式参数&#xff08;形参&#xff09; 4.函数的声明1.同一个文件的函数声明2.多文件的函数声明 5.函数的调用6.函数的嵌套调用和链式访问1.嵌套调用2.链式访问 7.函数…

基于springboot+vue的校园周边美食探索及分享平台系统(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目背景…

【K8S 云原生】K8S的对外服务—ingress

目录 一、K8S的Service 1、Service的作用 2、Service类型&#xff1a; 二、ingress 1、ingress的组成&#xff1a; 2、ingress资源的定义项&#xff1a; 三、nginx-ingress-controller暴露服务端的方式 1、DeploymentLoadBalancer模式&#xff1a; 1、工作流程图&…

4496 蓝桥杯 求函数零点 简单

4496 蓝桥杯 求函数零点 简单 //C风格解法1&#xff0c;通过率100% #include <bits/stdc.h> // int a, b; 一定会自动初始化为 0int main(){int a 2, b 3; // 定义a&#xff0c;b&#xff0c;不会自动初始化&#xff0c;最好自己定义时初始化// windows环境下a值固定&…

图解最详细的项目研发全流程及各阶段核心问题表

阶段 事项 核心需要关注的问题 一、需求调研 1、客户需求 - 该需求是否符合客户现有的标准和业务流程&#xff1f; - 该需求是否是客户的核心需求&#xff0c;是否具有可行性和商业价值&#xff1f; - 客户使用场景和需求的完整性如何&#xff1f; 2、内部需求 - 内部需…

手把手教你购买阿里云服务器以及Ubuntu环境下宝塔搭建网站

阿里云服务器Ubuntu通过宝塔搭建网站详细教程 前言一、阿里云服务器的购买二、进入控制面板2.1 修改密码2.2 开放端口号 三、 测试服务器是否可以连接四、 安装nginx搭建网站(选做)五、安装宝塔5.1 登录宝塔官网5.2 卸载预装的mysql和nginx5.3 安装宝塔5.4 访问宝塔控制台5.5 修…

二叉树基础oj题目

二叉树基础oj题目及思路总结 前文中&#xff0c;介绍了二叉树的基本概念及基础操作&#xff0c;进一步对于二叉树的递归遍历及子问题的处理思想有了一定的了解。本文将带来几道二叉树经典的oj题目。 目录 二叉树基础oj题目 对称二叉树平衡二叉树二叉树的层序遍历 二叉树基…

Hadoop3完全分布式搭建

一、第一台的操作搭建 修改主机名 使用hostnamectl set-hostname 修改当前主机名 关闭防火墙和SELlinux 1&#xff0c;使用 systemctl stop firewalld systemctl disable firewalld 关闭防火墙 2&#xff0c;使用 vim /etc/selinux/config 修改为 SELINUXdisabled 使用N…

Vagrant创建Oracle RAC环境示例

利用Vagrant安装Oracle RAC&#xff08;默认为non-CDB模式&#xff09;&#xff0c;生成2台虚机&#xff0c;耗时约1小时。 node1: -----------------------------------------------------------------node1: INFO: 2024-01-11 18:25:54: Make create database commandnode1: …