Memory × Reasoning
Paper · arXiv 2411.13504v3 · 2025

Disentangling Memory and Reasoning:把 LLM 的「回忆」和「推演」拆成两种可训练动作

LLM 回答多跳问题时,既在回忆事实,也在做逻辑推演。现有 CoT 把两者混在一段连续文本里,答错了很难判断是「记错」还是「想错」。 论文给每一步加一个控制 token——⟨memory⟩ 或 ⟨reason⟩——用 GPT-4o 造带标签的数据,再用 LoRA 把这两个 token 教给学生模型。

Mingyu Jin 等 8 人 · Rutgers / Ohio State / UCSB arXiv 2411.13504v3 ↗ 代码 ↗
TL;DR · 30 秒抓住核心

LLM 在多跳问答里既要回忆事实,又要做逻辑推演。现有 CoT 把两者混在一段连续文本里,答错了很难判断是「记错」还是「想错」。

论文的做法是给每步加一个控制 token:⟨memory⟩ 后面跟回忆出的事实,⟨reason⟩ 后面跟推演。教师模型 GPT-4o 生成带标签的 CoT,并把 memory 步改写成事实问题交给知识模型作答;学生模型用 LoRA 学这套序列。

LLaMA-3.1-8B 在 TruthfulQA 上达到 86.6%,比 GPT-4o CoT 的 85.4% 高 1.2 个百分点;但三数据集平均 82.3%,比 GPT-4o CoT 的 84.2% 低 1.9 个百分点。

更值得带走的是错误归因:StrategyQA 有 98.3% 的错误来自推理,CommonsenseQA 和 TruthfulQA 约 78% 来自推理——模型多数时候「知道」,但「用不对」。

86.6%
TruthfulQA 准确率(LLaMA-3.1-8B)
GPT-4o CoT 85.4%
98.3%
StrategyQA 错误中归因于推理的比例(LLaMA-3.1-8B)
记忆仅 1.7%
82.3%
三数据集平均(LLaMA-3.1-8B)
GPT-4o CoT 84.2%,差 1.9 点
01

问题:一段 CoT 里,「查知识」和「做推理」没有边界

先建立共同认知:不是模型不知道,也不是模型不会推,而是两者混在一起,错了无法归因。

多跳问答要求模型在每一步先回忆相关事实,再基于事实做推演。论文在 Appendix C.1(Dataset)用 StrategyQA 的「亚里士多德用过笔记本电脑吗」举例:模型得先回忆亚里士多德生活的年代、笔记本电脑发明的时间,再比较两者。任何一步出错,最终答案都可能错。

问题在于,现有 LLM 的输出是一条连续 token 流。模型可以在同一段 CoT 里既回忆又推演,但没有任何显式标记说明哪一段是回忆、哪一段是推演。论文在 §1 把这种状态称为「不透明的过程」:

“However, despite these advancements, existing inference frameworks often operate as an opaque process without explicit separation between knowledge retrieval and reasoning steps.”(§1)

这会带来两类失败:一类是记忆错误——模型回忆出错误或过时的事实;另一类是推理错误——事实是对的,但推演链断了。没有步骤标签,错误分析只能看最终答案,无法区分这两类。

失败 A

记错了

模型 recall 出的事实本身不对,后面推得再顺也会错。论文把这类问题归到 memory。

失败 B

想错了

事实 recall 对了,但模型在比较、归纳或多步传递时出错。论文把这类问题归到 reason。

论文要回答的两个问题因此很具体:能不能让模型在生成时显式区分 memory 和 reason?以及这种区分能不能同时带来准确率和可解释性?后面的两个 token、数据合成和消融,都是围绕这两个问题展开的。

02

已有两条路线,各修一半

一条路补知识,一条路补结构;论文认为两者都没有把「知识召回」和「逻辑推演」分开。

Memory-based

RAG:把外部知识取进来

RAG 等方法重点解决「模型参数里的知识不够或过时」:先检索,再把检索结果放进上下文。

强项:能补外部事实,尤其是长尾知识。

没解决:检索是独立模块;取回来的知识怎么进入推理、什么时候该取,仍然混在模型的连续生成里。推断(依据:§1 把 RAG 归为 memory-based 路线,重点是补外部知识;§4 指出参数记忆研究没有回答「how to better elicit the parametric knowledge」,本页把这一点推广到 RAG 属于推断。)

Reasoning-based

CoT / Planning token:把步骤结构起来

CoT、ToT 和 planning token 等方法重点解决「推理步骤怎么组织」:让模型分步想,或用可训练 token 标记任务阶段。

强项:把长链条拆成短步骤,提升可读性。

没解决:步骤结构有了,但每一步仍然同时包含事实召回和逻辑推演;planning token 规划的是任务阶段,不是「这一步在回忆还是在推理」。

“Despite the effectiveness, these methods intertwine reasoning and memory usage, which may limit the full potential of the models.”(§4;these methods 指引入可训练 token 的 tuning-based 方法)

§4 对 prompt-based 方法的判断则更直接:“the models might not know when to reason or use their memory.” 两条路都没有把「这一步在回忆还是在推理」变成训练信号;上面那句批评针对的是 tuning-based 方法,不是 RAG。

论文的切入点不是再做一个检索器,也不是再设计一种提示词,而是把「这一步在做什么」变成训练信号:每一步要么是 memory,要么是 reason。这样模型在生成时就必须先选动作,再写内容。

03

核心:把每一步标成 ⟨memory⟩ 或 ⟨reason⟩

不是改模型结构,而是改训练序列的格式:两个特殊 token 把「回忆」和「推演」变成两种可学习的动作。

论文把一条训练实例写成三段:问题、带标签的中间步骤、答案。中间步骤里,memory 段以 ⟨memory⟩ 开头,后面跟回忆出的事实 token;reason 段以 ⟨reason⟩ 开头,后面跟推演 token。

T = Q ⊕ ⟨memory⟩ K ⊕ ⟨reason⟩ S ⊕ A
§2.2 的序列结构:Q 是问题,K 是事实知识 token 序列,S 是推理 token 序列,A 是答案;为便于阅读,这里把交错的多个 memory/reason 块各合并成一项

两个 token 不是普通文本,而是可训练的 out-of-vocabulary token。论文在 §2.2 明确说,模型用标准自回归方式做 LoRA 微调;训练目标仍是 next-token prediction。论文没有为 memory/reason 另设一个分类 loss。推断(依据:§2.2 只描述标准自回归 LoRA 目标,全文未出现额外的分类损失。)token 的作用是给模型一个可学习的「动作开关」。

关键细节

memory 后面跟的是「事实」,不是「问题」

数据合成时,教师模型先把 memory 步里的知识改写成事实问题,让知识模型作答;答案再回填到原步骤。所以训练序列里的 ⟨memory⟩ 后面是陈述性事实 K,而不是问题本身(§2.1)。

这套格式把「模型知不知道」和「模型会不会用」拆成两个可观察的量:memory 段对应知识召回,reason 段对应逻辑推演。后面的错误分析之所以能把错误归因到 memory 或 reason,前提就是这两个标签在训练时已经进入了序列。

1

生成

推理 LLM 写 CoT,并给每一步打上 ⟨memory⟩ 或 ⟨reason⟩。

2

补知识

memory 步改写成事实问题,知识 LLM 作答,答案回填。

3

微调

学生模型在标准自回归目标下学整条序列,两个 token 参与训练。

04

怎么训:LoRA + int8,一张 RTX 6000 Ada

训练配置不复杂;真正的成本在造数据,以及推理时 retrieval-based processing 带来的额外计算时间(§6 / Appendix F.2)。

模型

三个学生模型

LLaMA-2-7B-chat、LLaMA-3.1-8B-Instruct、Qwen2.5-7B-Instruct(§3.1)。

教师与评估器:GPT-4o 负责推理和知识生成,并完成错误归因(§3.4.3、Appendix E.2);GPT-4o-mini 负责准确率/解耦评估(§3.1、§3.4.1)。Appendix E.2 正文有一处把 Figure 17 的 prompt 误写成 GPT-4o-mini,图题本身写的是 GPT-4o。

配置

LoRA + int8

learning rate 2e-4,warmup 1000,cosine schedule,adamw_torch,gradient accumulation 16,int8 训练(Appendix D.1,Training Configuration)。

特殊 token:N_PREFIX=3、N_SPECIAL=4;全部微调在单张 RTX 6000 Ada 上完成(Appendix D.1)。

训练轮数按数据集不同:StrategyQA 通常 10 个 epoch,CommonsenseQA 约 5 个 epoch 收敛,TruthfulQA 需要 15 个或更多(Appendix D.2 / Figure 14)。数据生成阶段需要两个 GPT-4o 角色多次调用(§2.1);§6 / Appendix F.2 还指出,retrieval-based processing 会增加推理时的计算时间。

特殊 token 数量:4–6 个效果较好

论文额外扫了每句前面的特殊 token 数量(0/2/4/6),在 CommonsenseQA 和 TruthfulQA 上各测了三个模型。Table 3 / Table 4 的原始数值如下:

Table 3 / Table 4:特殊 token 数量对准确率的影响(原文为 0–1 小数)
模型数据集0246
LLaMA-2-7BCommonsenseQA0.6820.7040.7100.711
LLaMA-2-7BTruthfulQA0.7010.7620.7680.786
LLaMA-3.1-8BCommonsenseQA0.7830.8160.8230.820
LLaMA-3.1-8BTruthfulQA0.8260.8650.8660.859
Qwen2.5-7BCommonsenseQA0.7990.8130.8320.813
Qwen2.5-7BTruthfulQA0.8070.7560.8120.799

论文的概括是「4 到 6 个特殊 token 时性能提升」(§3.3.2);表中 4 或 6 个 token 的格点普遍高于 0/2,但不同模型、不同数据集的峰值并不完全一致。比如 LLaMA-2-7B 在 TruthfulQA 上 6 个 token 最高(0.786),LLaMA-3.1-8B 在 4 个 token 最高(0.866)。

memory : reason 的步数比随数据集变化

Table 6:memory : reason 步数比(原文按模型和数据集报告)
数据集LLaMA-2-7BLLaMA-3.1-8B
StrategyQA4:51:1
CommonsenseQA1:51:5
TruthfulQA3:71:2

CommonsenseQA 的 1:5 表示 memory 步明显少于 reason 步;StrategyQA 和 TruthfulQA 的比例更接近。比例本身不解释错误率,本页不把它当作因果证据。

05

流程:教师模型造数据,学生模型学动作

Figure 1 的流程可以拆成两段:先用两个 GPT-4o 角色合成带标签数据,再用 LoRA 让学生模型学会这套序列。

① 数据生成(教师) ② 训练与推理(学生) 问题 Q StrategyQA CommonsenseQA TruthfulQA 推理 LLM GPT-4o 写 CoT,逐步打标 ⟨memory⟩ / ⟨reason⟩ memory 步 改写成事实问题 知识 LLM 作答 GPT-4o 答案回填 拼成训练序列 训练 训练序列 T Q ⊕ K ⊕ S ⊕ A LoRA 学生 LLaMA-3.1-8B Qwen2.5-7B 学 ⟨memory⟩ / ⟨reason⟩ 推理 先 memory 再 reason 最后 answer 输出 答案 + 可读步骤
Figure 1(按 §2.1 重绘):上排是数据生成,下排是训练与推理。教师模型负责写 CoT、补事实;学生模型只学序列,不调用教师。

下面用论文 Appendix A.2 / Figure 7 的 MMA 例子走一遍。每一步都对应 §2.1 的一个动作;这是流程级示意,不是论文 prompts 的逐字复现。

原始问题

StrategyQA:Is MMA totally original from the Roman Colosseum games?

正确答案:False。要回答它,模型得先回忆 MMA 和罗马角斗,再比较两者的关系。

流程里哪些是原文,哪些是页面简化覆盖 / 未覆盖分支

覆盖:推理 LLM 生成 CoT 并逐步打标;memory 步改写成事实问题;知识 LLM 作答;答案回填;训练序列由 Q + memory/reason 块 + A 组成;学生模型用 LoRA 学标准自回归目标(§2.1、§2.2)。

未覆盖:原文附录(A.1、C.2、E.1/E.2)的具体 prompt 文本;每个句子前特殊 token 的精确插入规则(N_PREFIX=3、N_SPECIAL=4 只在训练配置里出现);数据生成的数量、过滤与人工检查;Figure 1 的图示细节。页面用 MMA 例子做单条流程示意,不声称复现论文的完整数据管线。

简化:交互里把 memory/reason 块画成连续卡片,省略了同一句里多个特殊 token 的重复;这不影响「先标记、再回填、再训练」的流程理解。

06

效果:TruthfulQA 反超 GPT-4o CoT,平均分仍差 1.9 点

主表看整体,消融看 token 是否真的有用,解耦图和错误表看「分开」是否成立。

先看 Table 1 的节选。原文是 0–1 小数;正文百分比是同一数值。

Table 1 节选:主实验结果(原文为 0–1 小数)
模型方法StrategyQACommonsenseQATruthfulQAAverage
GPT-4oZero-shot0.6990.8340.8480.794
GPT-4oCoT0.8080.8650.8540.842
LLaMA-3.1-8BZero-shot0.6590.6350.6160.637
LLaMA-3.1-8BCoT0.6940.7060.5060.635
LLaMA-3.1-8BLoRA0.7010.7540.7980.737
LLaMA-3.1-8BPlanning-token0.7670.7690.8250.787
LLaMA-3.1-8BOurs0.7800.8230.8660.823
Qwen2.5-7BZero-shot0.6400.7890.7260.718
Qwen2.5-7BCoT0.6960.7840.5670.682
Qwen2.5-7BPlanning-token0.7740.8010.7620.779
Qwen2.5-7BOurs0.7860.8320.8120.810

未转录的行:LLaMA-2-7B、LLaMA-2-13B、LLaMA-3.1-70B,以及 Qwen2.5-7B 的 LoRA 行;完整表见原文 Table 1。

关键差值:单点反超和整体差距要分开说

关键差值:本页按 Table 1 的 LLaMA-3.1-8B 行相减,单位百分点
对比数据集Ours对照点差
vs GPT-4o CoTTruthfulQA86.685.4+1.2
vs GPT-4o Zero-shotTruthfulQA86.684.8+1.8
vs Planning-tokenStrategyQA78.076.7+1.3
vs Planning-tokenCommonsenseQA82.376.9+5.4
vs CoTStrategyQA78.069.4+8.6
vs CoTCommonsenseQA82.370.6+11.7
vs Planning-tokenAverage82.378.7+3.6
vs GPT-4o CoTAverage82.384.2−1.9

TruthfulQA 的 86.6% 对 85.4% 是 LLaMA-3.1-8B 的结果;同一个 TruthfulQA 上,Qwen2.5-7B 的 Ours 是 81.2%,低于 GPT-4o 的 84.8%(zero-shot)和 85.4%(CoT)(Table 1)。所以「反超 GPT-4o」有模型和数据集条件,不能外推成所有设置。

另一个反直觉点是 CoT 在 Qwen2.5-7B 的 TruthfulQA 上掉了 15.9 个百分点:zero-shot 72.6%,CoT 56.7%(Table 1)。论文在 §3.2 把 Qwen2.5 在这个数据集上的整体弱势归因于 instruction tuning(“likely due to instruction tuning in Qwen2.5, resulting in average performance and unstable training”),这是对模型整体水平的解释,不是对 CoT 掉点的解释。CoT 掉点另有一句观察:“adding a CoT can decrease performance for some models in some datasets”,论文转引 Sprague et al. (2024),没有把它归因于 instruction tuning。

消融:把 token 换成随机会掉点

Table 2:把 ⟨memory⟩/⟨reason⟩ 换成随机 token 的消融(原文为 0–1 小数)
模型真 token随机 token
LLaMA-2-7B0.7340.668
LLaMA-3.1-8B0.8230.798

换成随机 token 后,LLaMA-2-7B 从 73.4% 掉到 66.8%(−6.6 点),LLaMA-3.1-8B 从 82.3% 掉到 79.8%(−2.5 点)(Table 2)。这组消融(§3.3.1)只说明 token 的身份/分配有作用:训练时打乱 ⟨memory⟩ 与 ⟨reason⟩ 的分配,整体性能的 decline rate 为 2.1%–6.6%(原文未说明是相对还是绝对口径)。论文另用 §3.3.2 的 0-token 标准训练对照来论证提升不只是知识蒸馏——在相同推理步骤下,加 token 比 0 token 明显更好。

解耦:Ours 的记忆/推理识别率更高,但记忆项的差距很小

Figure 2 / §3.4.1 用 GPT-4o-mini 评估每一步是否真的是记忆或推理。切换数据集看四组数值:

Memory 步Reason 步
Ours One-shot CoT
当前数据集
手算块:两组数值怎么对上无标准差;只做百分点差

StrategyQA:Ours 记忆 94 − CoT 93 = 1;Ours 推理 71 − CoT 67 = 4。

TruthfulQA:Ours 记忆 89 − CoT 88 = 1;Ours 推理 74 − CoT 62 = 12。

口径:两个准确率都是百分数,差值单位是百分点;原图没有给标准差,页面也未计算方差或标准误。

解耦评估的分项数值见 Figure 2(§3.4.1):StrategyQA 上 Ours 的记忆/推理识别率是 94%/71%,One-shot CoT 是 93%/67%;CommonsenseQA 是 91%/78% 对 83%/74%;TruthfulQA 是 89%/74% 对 88%/62%。StrategyQA 的记忆项 94% 对 93%、TruthfulQA 的记忆项 89% 对 88%,都只差 1 个百分点;推理项的差距更大(StrategyQA 4 点、TruthfulQA 12 点)。

错误归因:推理错误占多数

Table 7:错误归因(%),LLaMA-3.1-8B;两列互补
数据集MemoryReason
StrategyQA1.798.3
CommonsenseQA21.678.4
TruthfulQA21.178.9

StrategyQA 有 98.3% 的错误归因于推理,只有 1.7% 归因于记忆;CommonsenseQA 和 TruthfulQA 的推理错误分别是 78.4% 和 78.9%。三组中最低的是 78.4%。论文的结论是:模型多数时候能 recall 出知识,问题更多出在如何使用知识(§3.4.3)。

口径核对:原文的 「20%」「26.3%」「32.6%」是百分点Table 5 与 Table 1 的 CoT 行不是同一设置

Table 5 的 One-shot CoT 是带结构化 one-shot 示例的提示设置;它的准确率是 58.0 / 56.0 / 54.0,Ours 是 78.0 / 82.3 / 86.6。

Table 5(原文为 %);点差为本页按表相减
数据集One-shot CoTOurs点差
StrategyQA58.078.020.0
CommonsenseQA56.082.326.3
TruthfulQA54.086.632.6

按表算:78.0 − 58.0 = 20.0;82.3 − 56.0 = 26.3;86.6 − 54.0 = 32.6,单位都是百分点。原文正文把这几个数写成「20%」「26.3%」「32.6%」;这里按原文引用,同时标明口径。

Table 5 的 One-shot CoT 不能和 Table 1 的 CoT 行(69.4 / 70.6 / 50.6)混用:前者是 one-shot 结构化提示,后者是普通 CoT 提示(§3.1 vs §3.4.1)。

怎么读这些数:TruthfulQA 的单点反超是 LLaMA-3.1-8B 的结果,不是所有模型都成立;三数据集平均仍低于 GPT-4o CoT 1.9 个点;Table 5 的 one-shot CoT 又是另一套提示设置。表号和条件必须跟着数字走,否则很容易把「单点最高」读成「整体最好」。

07

边界:标签分开了能力,但没有替你补上能力

论文自己列了限制;结合实验范围还能看出几条适用边界。

边界一

教师和标注质量是上限

训练数据由 GPT-4o 生成:它写 CoT、打标签、回答 memory 问题。教师模型的知识盲点或错误标签会被学生继承。推断(依据:Appendix F.2 指出训练数据中缺失或代表性不足的知识会导致回答不准确或不完整;论文未直接量化教师标签错误向学生的传播。)论文在 §6 说,方法依赖训练数据的质量与覆盖面,知识在训练数据中缺失或代表性不足时,检索可能不完整(Appendix F.2 同样指出这一点)。Appendix B.1 用 Jaccard 相似度低于 10% 论证提升不只是知识蒸馏,但这仍是间接证据,不消除对教师的依赖。

边界二

二元标签对复杂推理可能不够

论文在 §6 承认,多跳或深层嵌套逻辑不一定能干净地拆成离散的 memory/reason 步;这种情况下,两个标签的边界会变模糊。论文未报告这类任务的定量结果。

边界三

步骤越多,计算开销越大

§6 / Appendix F.2 指出,把 memory recall 与 reasoning 拆开、引入 retrieval-based processing 会增加计算时间,这对实时应用是限制;原文没有报告序列长度或显存占用的具体测量。数据生成阶段还需要两个 GPT-4o 角色多次调用(§2.1)。

边界四

评测范围只有三类 QA

实验覆盖 StrategyQA、CommonsenseQA、TruthfulQA 三个数据集,指标是准确率,评估由 GPT-4o-mini 完成(§3.1、Appendix C.2,Evaluation Metric)。没有数学、代码、长文本生成或开放式对话任务;论文也未报告显著性检验。推断(由 §3.1 的实验设置与 Table 1–7 的覆盖范围归纳)

一句话:这套方法买的是可检查的中间步骤,不是无条件的准确率提升。当任务能自然拆成「事实召回 + 逻辑推演」,并且你愿意承担教师模型造数据的成本时,它最合适;如果任务本身不可分解,或者你需要的是一次调用、低延迟的答案,两个标签可能帮不上忙。推断(依据:§2.1 的流程要求每步可标为 memory 或 reason;§6 / Appendix F.2 指出 decomposition 会增加计算时间。)