【LLM论文日更】| 训练大型语言模型在连续潜在空间中进行推理

  •  论文:https://arxiv.org/pdf/2412.06769
  • 代码:暂未开源
  • 机构 :Meta
  • 领域:思维链
  • 发表:arxiv

研究背景

  1. 研究问题:这篇文章要解决的问题是如何在大语言模型(LLMs)中实现一种新的推理范式,即通过连续的潜在空间进行推理,而不是依赖于自然语言。
  2. 研究难点:该问题的研究难点包括:现有的链式思维(CoT)推理方法在生成每一步推理时需要大量的计算资源,且大多数token主要用于文本连贯性而非推理;如何在不受语言约束的情况下进行推理,并在必要时将其结果转化为自然语言。
  3. 相关工作:该问题的研究相关工作包括:CoT推理方法,即将中间推理过程以自然语言形式生成;潜在推理方法,如在变换器中进行隐藏计算。

研究方法

这篇论文提出了Coconut(链式连续思维)作为一种新的推理范式,用于解决LLMs在潜在空间中进行推理的问题。具体来说,

  1. Coconut方法概述:Coconut方法通过在传统CoT过程中引入一个简单的修改来实现潜在空间的推理。具体来说,Coconut将最后隐藏状态(即“连续思维”)直接作为下一个输入嵌入,而不是将其解码为token。

     

  2. 训练过程:在训练过程中,Coconut采用多阶段训练策略,首先在常规CoT实例上进行训练,然后在后续阶段中逐步替换语言推理步骤为连续思维。每个阶段的训练都使用语言推理链来指导训练过程。

  3. 数学推理:在数学推理任务中,使用GSM8k数据集,默认每个推理步骤使用2个连续思维。模型经过3个初始阶段和1个额外阶段进行训练,最后一个阶段完全使用连续思维进行推理。

  4. 逻辑推理:在逻辑推理任务中,使用ProntoQA和ProsQA数据集,分别使用1个和多个连续思维进行推理。模型经过6个训练阶段进行训练,最后一个阶段完全使用连续思维进行推理。

实验设计

  1. 数据集:实验使用了三个数据集:
  • 数学推理:GSM8k数据集,包含 grade school-level math problems。
  • 逻辑推理:ProntoQA数据集,包含5-hop的逻辑问题;ProsQA数据集,通过随机生成的DAG结构构建,要求模型进行大量规划和搜索。
  1. 模型:使用预训练的GPT-2作为基础模型,学习率设置为1×10−4,有效批量大小为128。
  2. 训练过程:模型经过多阶段训练,每个阶段逐步替换语言推理步骤为连续思维。训练过程中优化正常负对数似然损失,并掩蔽问题和潜在思维的损失。
  3. 推理过程:在推理过程中,直接将最后隐藏状态作为下一个输入嵌入。对于ProsQA数据集,插入<bot>和<eot>标记以封装连续思维。

结果与分析

  1. 数学推理:在GSM8k数据集上,Coconut方法的推理准确性显著高于不使用连续思维的方法(No-CoT),并且优于CoT方法。随着连续思维数量的增加,模型性能稳步提升。

  1. 逻辑推理:在ProntoQA和ProsQA数据集上,Coconut方法及其变体(如去掉课程、去掉连续思维、使用<pause>标记替代连续思维)均表现出优于CoT方法的推理能力。特别是在ProsQA数据集上,Coconut方法显著减少了推理过程中的token数量。

     

  2. 潜在推理的优势:在需要大量规划的逻辑推理任务中,Coconut方法表现出明显的优势,能够更有效地进行推理,减少错误路径的产生。

总体结论

这篇论文提出了Coconut,一种在连续潜在空间中进行推理的新范式。通过实验验证,Coconut显著提高了LLMs的推理能力,特别是在需要大量规划的逻辑推理任务中表现出色。未来的研究方向包括进一步优化潜在推理方法,并将其应用于更广泛的推理场景。

论文评价

优点与创新

  1. 提出了新的推理范式:论文引入了Coconut(连续思维链)这一新范式,通过将大型语言模型(LLMs)的最后隐藏状态作为推理状态的表示(即“连续思维”),直接将其作为下一个输入嵌入,从而在不受语言空间限制的情况下进行推理。
  2. 多阶段训练策略:借鉴了Deng等人的方法,提出了一种多阶段训练策略,有效地利用语言推理链来指导训练过程。
  3. 高效的推理模式:连续思维可以同时编码多个潜在的下一步,允许模型执行广度优先搜索(BFS),从而在推理过程中逐步消除错误路径。
  4. 实验结果显著:Coconut在某些需要大量回溯的逻辑推理任务中优于CoT,并且在推理过程中生成的标记更少。
  5. 自洽的推理机制:即使模型没有显式训练或指示以这种方式操作,也能自然发展出类似BFS的推理机制。

不足与反思

  1. 训练效率问题:尽管连续思维是完全可微分的,允许多次反向传播,但多次前向传递的顺序性质对并行性提出了挑战,未来研究需要进一步优化Coconut的训练效率。
  2. 规划密集型任务的优化:尽管Coconut在规划密集型任务中表现出色,但论文指出模型仍然需要指导才能学习到最有效的连续思维。未来工作可以通过预训练LLMs来使用连续思维,从而提高模型在不同推理场景中的泛化能力。
  3. 细粒度的移除计划:尽管iCoT的方法在训练过程中表现良好,但其更细粒度的移除计划和一些技巧可能有助于简化训练过程,未来可以将iCoT与Coconut结合作为研究方向。

关键问题及回答

问题1:Coconut方法在训练过程中如何利用多阶段训练策略来优化潜在推理?

Coconut方法采用了多阶段训练策略来优化潜在推理。具体来说,训练过程分为多个阶段,每个阶段逐步替换语言推理步骤为连续思维。在初始阶段,模型在常规的CoT实例上进行训练。随后,在后续阶段中,逐步增加连续思维的数量,同时减少语言推理步骤。每个阶段的训练都使用语言推理链来指导训练过程,确保模型能够有效地从语言推理迁移到潜在推理。这种分阶段的训练方法有助于模型逐步适应潜在空间的推理,避免了在初期阶段就面临过多的复杂推理任务。

问题2:在逻辑推理任务中,Coconut方法如何通过连续思维表现出优于传统CoT方法的能力?

在逻辑推理任务中,特别是ProsQA数据集上,Coconut方法通过连续思维表现出优于传统CoT方法的能力。具体来说,ProsQA数据集要求模型进行大量规划和搜索,而Coconut方法能够在推理过程中生成较少的token,同时保持较高的准确性。这是因为在潜在空间中,Coconut方法可以编码多个潜在的下一步,类似于广度优先搜索(BFS),从而逐步消除错误的路径,找到正确的推理路径。相比之下,传统的CoT方法在生成每一步推理时需要大量的计算资源,并且在生成token时可能会引入更多的错误。

问题3:Coconut方法在数学推理任务中的表现如何,与其他方法相比有何优势?

在数学推理任务中,Coconut方法的表现显著优于不使用连续思维的方法(No-CoT),并且优于CoT方法。具体来说,在GSM8k数据集上,Coconut方法的推理准确性更高,生成的token数量也显著减少。随着连续思维数量的增加,模型性能稳步提升,表明通过链式连续思维可以增强LLMs的推理能力。此外,Coconut方法在处理复杂的数学问题时表现出更好的泛化能力和稳定性,特别是在处理长推理链时,能够有效地减少计算资源的消耗。

参考:https://mp.weixin.qq.com/s/HAQ3CFokRzTkvWQ8MXnH0A?poc_token=HOp1aWejasZYHtbWbxHtHHGLHCTgn_AZhlSUXo8-

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

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

相关文章

opc da 服务器数据 转 opc ua项目案例

目录 1 案例说明 2 VFBOX网关工作原理 3 应用条件 4 查看OPC DA服务器的相关参数 5 配置网关采集opc da数据 6 用opc ua协议转发采集的数据 7 在服务器上运行仰科OPC DA采集软件 8 案例总结 1 案例说明 在OPC DA服务器上运行OPC DA client软件查看OPC DA服务器的相关参…

学习threejs,PerspectiveCamera透视相机和OrthographicCamera正交相机对比

&#x1f468;‍⚕️ 主页&#xff1a; gis分享者 &#x1f468;‍⚕️ 感谢各位大佬 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍⚕️ 收录于专栏&#xff1a;threejs gis工程师 文章目录 一、&#x1f340;前言1.1 ☘️THREE.PerspectiveCamera透…

PHP后执行php.exe -v命令报错并给出解决方案

文章目录 一、执行php.exe -v命令报错解决方案 一、执行php.exe -v命令报错 -PHP Warning: ‘C:\windows\SYSTEM32\VCRUNTIME140.dll’ 14.38 is not compatible with this PHP build linked with 14.41 in Unknown on line 0 解决方案 当使用PHP8.4.1时遇到VCRUNTIME140.dll…

分布式调度框架学习笔记

一、分布式调度框架的基本设计 二、线程池线程数量设置的基本逻辑 cpu是分时复用的方法&#xff0c;线程是cpu调度的最小单元 如果当前cpu核数是n&#xff0c;计算密集型线程数一般设为n&#xff0c;io密集型(包括磁盘io和网络io)线程数一般设置为2n. 计算密集型线程数一般设…

vue 基础学习

一、ref 和reactive 区别 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title> </head> <body><div id"app"><h1>{{Web.title}}</h1><h1&…

CI/CD是什么?

CI/CD 定义 CI/CD 代表持续集成和持续部署&#xff08;或持续交付&#xff09;。它是一套实践和工具&#xff0c;旨在通过自动化构建、测试和部署来改进软件开发流程&#xff0c;使您能够更快、更可靠地交付代码更改。 持续集成 (CI)&#xff1a;在共享存储库中自动构建、测试…

论文阅读:Deep Fusion Clustering Network With Reliable Structure Preservation

论文地址&#xff1a;Deep Fusion Clustering Network With Reliable Structure Preservation | IEEE Journals & Magazine | IEEE Xplore 代码地址&#xff1a;https://github.com/gongleii/DFCN-RSP 摘要 深度聚类通过优雅地利用数据表示来寻找样本的划分&#xff0c;已…

InnoDB存储引擎【MySQL从放弃到入门】

文章目录 InnoDB存储引擎【MySQL从放弃到入门】1.逻辑架构1.1 一条SQL语句是怎么执行的呢&#xff1f;1.2 MySQL存储引擎有哪些&#xff1f; 2.MySQL一行记录是怎么存储的&#xff1f;2.1 NULL值是如何存储的&#xff1f; 3.char和varchar的区别&#xff1f;4.数据页4.1 聚簇索…

Jenkins集成部署(图文教程、超级详细)

一、CI/CD 的概念 ​ CI/CD一般包含三个概念&#xff1a; 持续集成&#xff08;Continuous Integration &#xff0c;CI&#xff09; 持续交付&#xff08;Continuous Delivery&#xff09; 持续部署&#xff08;Continuous Deploy&#xff09; ​ CI/CD 是现代软件开发的重要…

UE5喷涂功能

许多FPS/TPS 游戏都有喷涂、涂鸦功能 其实原理很简单&#xff0c;就是利用了延迟贴花实现的 我们从网上随便找一张图 创建一个材质&#xff0c;材质域选择延迟贴花 混合模式选择半透明&#xff0c;自发光强度可以看感觉调整 材质做好之后编译保存&#xff0c;新建一个Actor…

ECCV-2024 | 指令不够用、大模型来生成!BEVInstructor:基于BEV感知和大模型的视觉语言导航指令生成

作者&#xff1a;Sheng Fan, Rui Liu, Wenguan Wang, and Yi Yang 单位&#xff1a;浙江大学 原文链接&#xff1a;Navigation Instruction Generation with BEV Perception and Large Language Models &#xff08;https://link.springer.com/chapter/10.1007/978-3-031-726…

电脑出现 0x0000007f 蓝屏问题怎么办,参考以下方法尝试解决

电脑蓝屏是让许多用户头疼的问题&#xff0c;其中出现 “0x0000007f” 错误代码更是较为常见且棘手。了解其背后成因并掌握修复方法&#xff0c;能帮我们快速恢复电脑正常运行。 一、可能的硬件原因 内存问题 内存条长时间使用可能出现物理损坏&#xff0c;如金手指氧化、芯片…

Ubuntu下ESP32-IDF开发环境搭建

Ubuntu下ESP32-IDF开发环境搭建 文章目录 Ubuntu下ESP32-IDF开发环境搭建一、前言二、软件安装三、开发环境搭建3.1 ESP-IDF安装&#xff1a;3.2 安装编译工具&#xff1a; 四、编译并烧录代码五、ESP32代码编辑工具 一、前言 ​ 开发ESP32&#xff0c;我们首先就要安装开发环…

Linux复习4——shell与文本处理

认识vim编辑器 #基本语法格式&#xff1a; vim 文件名 •如果文件存在&#xff0c;进入编辑状态对其进行编辑 •如果文件不存在&#xff0c;创建文件并进入编辑状态 例&#xff1a; [rootlocalhosttest]# vim practice.txt #Vim 编辑器三种模式&#xff1a; 命令模式&a…

5个实用的设计相关的AI网站

在这个日新月异的数字时代&#xff0c;我们不断面临着新的挑战和机遇。随着人工智能&#xff08;AI&#xff09;技术的飞速发展&#xff0c;越来越多的AI工具开始融入到设计相关的工作流程中&#xff0c;极大地提升了工作效率和创作能力。今天&#xff0c;我非常兴奋地向大家介…

云手机群控能用来做什么?

随着云手机的发展&#xff0c;云手机群控技术逐渐从小众的游戏多开工具&#xff0c;发展为涵盖多个领域的智能操作平台。不论是手游搬砖、短视频运营&#xff0c;还是账号养成等场景&#xff0c;云手机群控都展现出了强大的应用潜力。本文将为大家详细解析云手机群控的应用场景…

数据结构(哈希表(中)纯概念版)

前言 哈希表&#xff08;Hash Table&#xff09;是计算机科学中的一个基础而重要的数据结构&#xff0c;它广泛评估各种算法和系统中&#xff0c;尤其是在需要快速查找、插入和删除操作的场景中。由于其O( 1)的平均时间复杂度&#xff0c;存储表在性能要求较高的应用中表现得非…

Python使用requests_html库爬取掌阅书籍(附完整源码及使用说明)

教程概述 本教程先是幽络源初步教学分析掌阅书籍的网络结构&#xff0c;最后提供完整的爬取源码与使用说明&#xff0c;并展示结果&#xff0c;切记勿将本教程内容肆意非法使用。 原文链接&#xff1a;Python使用requests_html库爬取掌阅书籍&#xff08;附完整源码及使用说明…

水库大坝三维模型开发bim篇

效果图 开发过程 使用了bimface 插件上传做好rvt模型到bimface工程引入bimface相关的插件代码加载模型自定义目录树定位构件闪烁构件展示构件信息 代码 技术交流加V:bloxed appKey 和appSecret 换成自己的就行 <template><div class"box-bim w100" ref&…

CSharp: Oracle Stored Procedure query table

存储过程查询postgreSQL,Oracle 和sql server,Mysql 有区别。程序调用也是有区别。 oracle sql script: CREATE OR REPLACE PROCEDURE procSelectSchool(paramSchoolId IN char,p_cursor OUT SYS_REFCURSOR ) AS BEGINOPEN p_cursor FORSELECT *FROM SchoolWHERE SchoolId p…