【论文阅读】LightThinker: Thinking Step-by-Step Compression (EMNLP 2025)

论文题目:LightThinker: Thinking Step-by-Step Compression

论文来源:EMNLP 2025,CCF B

论文作者:

论文链接:https://arxiv.org/abs/2502.15589

论文源码:https://github.com/zjunlp/LightThinker

一、摘要

大语言模型(LLMs)在复杂推理任务中展现出卓越性能,但其效率受到生成冗长token所带来的巨大内存和计算开销的严重制约。本文提出了一种新颖的方法——LightThinker,使LLMs能够在推理过程中动态压缩中间思维步骤。受人类认知过程启发,LightThinker将冗长的推理链压缩为紧凑的表示,并丢弃原始推理链,从而显著减少上下文窗口中存储的token数量。该方法通过以下方式实现:构建训练数据以指导模型学习何时以及如何压缩;将隐藏状态映射为少量“gist token”;并设计专门的注意力掩码。此外,我们引入了依赖度(Dependency, Dep)指标,用于通过衡量生成过程中对历史token的依赖程度来量化压缩效果。我们在两个模型和四个数据集上进行了大量实验,结果表明,LightThinker在保持竞争力的准确率的同时,显著降低了峰值内存使用和推理时间。本研究为在不牺牲性能的前提下提升 LMs在复杂推理任务中的效率提供了新的方向。

二、Introduction(简洁版)

问题:“慢思考”虽提升推理准确率,却生成大量中间token,导致KV缓存爆炸、推理延迟飙升。

动机:受人类“只写关键步骤、脑中压缩其余”启发,让模型边推理边压缩,兼顾性能与效率。

方法(提出LightThinker)

  • 数据层面:插入特殊token教会模型何时压缩;
  • 模型层面:用gist token隐藏状态压缩思维链;
  • 训练层面:设计注意力掩码实现压缩与继续推理的解耦;
  • 评估层面:引入Dep指标量化压缩程度。

贡献

  • 首次提出“动态压缩推理链”的端到端方法;
  • 在4个数据集、2个模型上验证:峰值token↓70%,推理时间↓26%,准确率仅↓1%;
  • 提供新的LLM推理加速思路,兼顾效率与性能。

三、相关工作

当前加速LLM推理的研究主要集中在三类方法:模型量化、减少生成token数量,以及缩减KV缓存。模型量化包括参数量化(Lin et al., 2024)和KV缓存量化(Liu et al., 2024b)。值得注意的是,生成长文本与理解长文本是两种不同场景,因此专门针对“预填充阶段”的加速技术(如 AutoCompressor、ICAE、LLMLingua、Activation Beacon、SnapKV、PyramidKV 等)本文不作讨论。受篇幅限制,以下重点介绍后两类方法。

3.1 减少生成token数量

  • 离散token缩减:通过提示工程(Han et al., 2024)、指令微调(Liu et al., 2024a)或强化学习(Arora & Zanette, 2025)引导模型在推理时使用更少的离散token。
  • 连续token替代:用连续空间的向量代替离散词表token(如 CoConut)。
  • 零token推理:把推理过程内化到模型层间,直接生成最终答案(Deng et al., 2023, 2024)。

这三种策略无需推理时额外干预,但加速效果越好,模型泛化性能下降越明显,且第一种对显存节省有限。

3.2 缩减KV缓存

  • 基于剪枝的策略:为每个token设计显式淘汰规则,保留重要token(StreamingLLM、H2O、SepLLM)。
  • 基于融合的策略:引入anchor token,训练模型把历史关键信息压缩进这些token,实现KV缓存融合(AnLLM)。

二者均需推理时干预;区别在于前者无需训练却需逐token判断,后者需训练但由模型自主决定何时压缩。

四、方法(简洁版)

LightThinker的核心思想是:在推理过程中,让模型自动判断何时压缩当前的冗长思维链,将其压缩成少量“gist tokens”(压缩标记),并丢弃原始长文本,只保留压缩后的信息继续推理。下图为LightThinker的方法框架图

LightThinker涉及到的两个关键问题是何时压缩,以及如何压缩?整个过程可以概括为以下三个关键步骤:

第一步:数据重构——在思考流程中植入压缩指令

LightThinker的第一步是改造训练数据,让LLM明白“压缩”的存在和时机。具体操作是:

  1. 步骤划分:首先,将模型原本冗长的完整回答Y,按照语义或段落(即一个完整的「想法」)切分成若干个思维步骤S1, S2, S3, ...。
  2. 插入特殊指令符:在这些思维步骤之间,插入一组特殊的指令令牌。这组指令符主要包含两个部分:
  • 缓存令牌(Cache Tokens, [c]):这是一组特殊的、用于存储压缩后信息的摘要令牌。它的作用就像是为即将产生的思想摘要预留的空白便签。
  • 输出令牌(Output Token, [o]):这是一个强制性的输出信号,它的作用是告诉模型:“好了,摘要写完了,现在请基于这份摘要继续你下一步的思考”。

经过这样的改造,原本一条完整的思考链,就变成了一个「思考步骤S1 → 进行压缩 → 继续思考步骤S2 → 再次压缩 → ...」的全新格式。这等于是在模型的学习材料中明确地标注出了何时需要进行压缩。注意,研究者在具体实现中,采用换行符作为思维步骤的划分,此处不存在任何数据精心构造的过程。

第二步:注意力改造——学会压缩与理解压缩的内容

教会了模型何时压缩,下一步就是最关键的如何压缩。第二步这主要通过一种名为Thought-based Attention Mask的技术来实现,如Figure2 (b)所示。它能够精确地控制着模型在思考时 “能看什么” 和 “不能看什么” 。这个过程分为两个阶段:

  • 压缩阶段(生成思维摘要)。当模型需要将思维步骤Si压缩进缓存令牌C时,注意力掩码会强制这些C令牌只能看到三个东西:最初的问题X、先前已经压缩好的历史摘要、当前正在处理的思维步骤Si。其他所有原始的、未压缩的思维步骤都会被遮蔽。这迫使模型必须将Si中的所有关键信息高度浓缩并存储到C中 。
  • 生成阶段(基于摘要生成思维)。当思维步骤Si被成功压缩进C之后,更关键的一步来了。在生成下一个思绪片段S(i+1)时,注意力掩码会彻底遮蔽掉原始的思维步骤Si。此时,模型只能看到最初的问题X和包括刚刚生成的摘要在内的所有历史摘要 。

通过这种方式,模型被迫学会仅依赖紧凑的思想摘要来进行连贯的、层层递进的推理,而不是依赖越来越长的原始思考全文。

第三步:动态推理——即用即弃的高效循环

经过以上两个步骤的训练,LightThinker模型在实际推理时,就会形成一种高效的动态循环,如Figure 1 (b) 和Figure 2 (c) 所示,清晰地展示了“生成→压缩→抛弃”的动态循环过程。下面以Figure 1 (b)为例进行分析:

  1. 模型接收问题,生成第一段思考(Thought 1)。
  2. 触发压缩,将Thought 1中的核心信息压缩成紧凑的摘要(C T1)。
  3. 抛弃原文,将冗长的Thought 1从上下文中丢弃。
  4. 模型基于问题和摘要(C T1),生成第二段思考(Thought 2)。
  5. 再次压缩,将Thought 2压缩为摘要(C T2),并丢弃Thought 2原文。
  6. 如此循环,直到问题解决。

图1 LightThinker与原始CoT的区别

(a) 例子展示冗余性。标准CoT会生成完整句子:“Mike starts with 12 apples … gives away half … buys 5 more …”。黄色高亮的才是“真正影响答案”的关键数字与运算;其余token仅维持语言流畅,可被压缩。
(b) 流程对比:

  • Vanilla:从头到尾保留整条推理链(Thought 1 → Thought 2 → Answer),token 数随步骤线性增长。
  • LightThinker:每产生一段Thought i后,立即将其压缩成极短的gist token C_Ti,并丢弃原长文本;后续推理只依赖这些压缩表示。结果上下文里始终只有“问题 + 若干gist token”,显著降低KV缓存。

通过这种“即用即弃”的机制,LightThinker确保了模型的上下文窗口始终保持在一个非常小的尺寸,从而解决了因上下文过长导致的内存爆炸和计算缓慢问题,实现了效率与性能的完美平衡。

下图展示了不同方法在推理过程中上下文长度的变化,其中曲线和坐标轴围城的面积为我们定义的新指标Dependency,其意义生成token时需要关注token的数量总和。

五、实验(简洁版)

5.1 主要实验

在Qwen-7B与Llama-8B上,LightThinker(thought级)以仅牺牲1-6个百分点的准确率为代价,将峰值token使用量降低约70%,推理时间缩短26%-41%,依赖度Dep(压缩比)提升3.9-4.5倍,全面优于H2O、SepLLM、AnLLM等基线,在准确率与效率之间取得最佳平衡。

5.2 效率(Efficiency)

  • 生成token数反而比Vanilla少13~15%。
  • 32k token长文本推理时间省44%。

5.3 消融(Ablation)

  • 解耦token + 专用注意力掩码合计带来9%准确率提升。
  • 增大gist token数|C| → 准确率↑、压缩频率↓、生成token↓。

5.4  Case Study

  • 压缩漏掉关键数字会导致最终答案错误,提示需更好处理数值信息。

六、结论

本文提出LightThinker,一种通过在生成过程中动态压缩中间思维链来提升大语言模型复杂推理效率的新方法。通过训练模型学习何时、如何将冗长的思维步骤压缩为紧凑表示,LightThinker在显著降低内存占用与计算成本的同时,仍保持了具有竞争力的准确率。我们引入了Dependency(Dep)指标,用于统一量化不同加速方法的压缩程度。大量实验表明,LightThinker在效率与性能之间取得了良好平衡,为未来的LLM推理加速提供了新的思路。

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

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

相关文章

ABAQUS多尺度纤维增强混凝土二维建模

本案例是通过ABAQUS对论文Study on the tensile and compressive mechanical properties of multi-scale fiber-reinforced concrete: Laboratory test and mesoscopic numerical simulation(https://doi.org/10.1016/j.jobe.2024.108852)中纤维增强混凝…

C++ ---- 模板的半特化与函数模板的偏特化

在 C 中,模板提供了一种强大的泛型编程方式,使得我们能够编写类型无关的代码。然而,在实际使用中,有时我们需要根据具体的类型或类型组合对模板进行定制,这时就需要用到模板的特化。本文将介绍半模板特化和函数模板的偏…

为何 React JSX 循环需要使用 key

key 是 React 用于识别列表中哪些子元素被改变、添加或删除的唯一标识符 它帮助 React 更高效、更准确地更新和重新渲染列表 1、核心原因:Diff算法与性能优化 React 的核心思想之一是通过虚拟 DOM (Virtual DOM) 来减少对真实 DOM 的直接操作,从而提升性…

Jetson AGX Orin平台R36.3.0版本1080P25fps MIPI相机图像采集行缺失调试记录

1.前言 主板:AGX Orin 官方开发套件 开发版本: R36.3.0版本 相机参数如下: 相机硬件接口: 2. 梳理大致开发流程 核对线序/定制相机转接板 编写camera driver驱动 编写camera dts配置文件 调camera参数/测试出图 前期基本流程就不多介绍了直接讲正题 3. 问题描述 …

力扣hot100:螺旋矩阵(边界压缩,方向模拟)(54)

在解决螺旋矩阵问题时,我们需要按照顺时针螺旋顺序遍历矩阵,并返回所有元素。本文将分享两种高效的解决方案:边界收缩法和方向模拟法。题目描述边界收缩法边界收缩法通过定义四个边界(上、下、左、右)来模拟螺旋遍历的…

[嵌入式embed][Qt]Qt5.12+Opencv4.x+Cmake4.x_用Qt编译linux-Opencv库 测试

[嵌入式embed][Qt]Qt5.12Opencv4.xCmake4.x_用Qt编译linux-Opencv库 & 测试前文:准备环境安装qt-opencv必备库git-clone opencv库编译opencv库特殊:opencv编译的include,编译出来后多嵌套了一层文件夹,手工处理下改为include/opencv2测试demo新建项目QOpencv3.promain.cpp百…

百度智能云「智能集锦」自动生成短剧解说,三步实现专业级素材生产

备受剪辑压力困扰的各位自媒体老板、MCN 同学们、投放平台大佬们,解放双手和大脑的好机会它来了! 在这个数字化飞速发展的时代,智能技术正以前所未有的速度改变着我们的生活与工作方式。百度智能云,作为智能科技的引领者&#xf…

FPGA笔试面试常考问题及答案汇总

经历了无数的笔试面试之后,不知道大家有没有发现FPGA的笔试面试还是有很多共通之处和规律可循的。所以一定要掌握笔试面试常考的问题。FPGA设计方向(部分题目)1. 什么是同步逻辑和异步逻辑?同步逻辑 是指在同一个时钟信号的控制下…

从0开始的github学生认证并使用copilot教程(超详细!)

目录 一.注册github账号 1.1、仅仅是注册 1.2、完善你的profile 二、Github 学生认证 邮箱 学校名称 How do you plan to use Github? Upload Proof 学校具体信息 一.注册github账号 1.1、仅仅是注册 1.用如QQ邮箱的第三方邮箱注册github 再添加.edu结尾的教育邮箱&…

自动驾驶叉车与 WMS 集成技术方案:数据交互、协议适配与系统对接实现

自动驾驶叉车与仓库管理系统(WMS)是现代物流自动化的核心。当这两项技术协同工作时,仓库将实现前所未有的效率、准确性和可扩展性。以下是利用其集成实现最佳效果的方法。 为何集成至关重要 仓库管理在当今运营中扮演着至关重要的角色&…

“企业版维基百科”Confluence

“企业版维基百科”Confluence Confluence 是一款由澳大利亚公司 Atlassian 开发的企业级团队协作与知识管理软件。您可以把它理解为一个功能非常强大的 “企业版维基百科” 或 “团队知识库”。 它的核心目标是帮助团队在一个统一的平台上创建、共享、组织和讨论项目文档、会议…

QT去除显示的红色和黄色下划线的办法

在使用 Qt Creator 开发项目时,有时候会遇到这样的情况: 代码明明没有错误,但编辑器里却出现了红色或黄色的下划线提示,甚至让人误以为代码有问题。其实,这通常是 Qt Creator 的代码模型没有及时更新 导致的,而不是项目本身的错误。 为什么会出现红色和黄色下划线? 红…

域内的权限提升

CVE-2020-1472域内有一个服务:MS-NRPC(建立与域控安全通道),可利用此漏洞获取域管访问权限。检测这个漏洞能不能打,能打之后,将域控的机器hash置空,密码为空,那么你就可以通过空的ha…

一键掌握服务器健康状态与安全风险

一键掌握服务器健康状态与安全风险 在服务器运维工作中,定期对系统进行全面检查是保障服务稳定运行的关键环节。手动检查不仅耗时费力,还容易遗漏关键指标。今天我将为大家介绍一款功能全面的系统综合巡检工具,只需一键运行,即可完成系统状态、性能、安全等多维度检查,并…

线性代数第一讲—向量组

文章目录考纲术语向量组的线性表示与线性相关判别线性相关性的七大定理极大线性无关组、等价向量组、向量组的秩等价矩阵和等价向量组向量空间基本概念基变换、坐标变换 考纲术语 n维向量n维行向量n维列向量分量向量相等向量的加法向量的数乘向量的内积正交向量的模单位向量标准…

涉私数据安全与可控匿名化利用机制研究(下)

文章目录前言三、可信数据空间支撑可控匿名化机制(一)基于政府可信根的可控匿名化(二)可信数据空间“中国模式”保障数据全生命周期合规可控(三)可控匿名化对大模型数据可逆风险的防御机制前言 尽管《个人…

More Effective C++ 条款25:将构造函数和非成员函数虚拟化

More Effective C 条款25:将构造函数和非成员函数虚拟化核心思想:通过虚拟构造函数和非成员函数,实现运行时的多态行为,允许在不知道对象具体类型的情况下创建新对象或执行操作,增强代码的灵活性和扩展性。 &#x1f6…

血缘元数据采集开放标准:OpenLineage Guides 在 Airflow 中使用 OpenLineage Proxy

OpenLineage 是一个用于元数据和血缘采集的开放标准,专为在作业运行时动态采集数据而设计。它通过统一的命名策略定义了由作业(Job)、运行实例(Run)和数据集(Dataset) 组成的通用模型&#xff0…

【Linux】网络(中)

目录1. 序列化和反序列化1.1 序列化1.2 反序列化2. 网络版本计算器(自定义协议)3. 再次理解OSI七层模型4. HTTP协议4.1 HTTP协议格式4.2 HTTP的方法4.3 HTTP的状态码4.4 HTTP常见Header4.5 长连接和短连接4.6 Cookie5. HTTPS协议5.1 对称加密和非对称加密…

AI 写作实战:用 GPT-4o+ Claude 3 生成小红书文案,转化率提升 30%

引言・AI 写作开启小红书营销新引擎在社交媒体营销的浪潮中,小红书以其独特的社区氛围和庞大的年轻用户群体,成为品牌推广的关键阵地。然而,撰写既吸引眼球又能高效转化的文案并非易事,传统人工编写不仅耗时费力,还难以…