【论文乱记】LLM Reasoning 2025-02-12
【CODEI/O: Condensing Reasoning Patterns via Code Input-Output Prediction】
这篇文章说是 work done while intern at deepseek ai
想法很有意思,作者认为,代码执行过程包括了 “reasoning” 的基础能力,如逻辑流程编排、状态空间探索、递归分解和决策制定等。用 CoT 标注一下监督信号,让模型学着模拟代码的执行流程,就可以提升模型的推理能力
这里遇到了一些问题,例如这些 high level 的能力并不能在模拟代码整个流程中表现出来,大段大段的代码很可能只是噪声。于是作者把大段代码拆成可执行的函数,构造给定传入的参数,模型预测输出/给定函数返回值,模型预测输入的任务。数据构造的 pipeline 是prompt deepseek v2.5 获得输出,由于是代码任务,所以很容易判断是否正确,于是对于模型一次做不对的问题,我们甚至可以用它们构造多轮对话。我觉得构造 CoT 数据的方法还是可以想到的。
构造得到 codei/o or codeio-multiturn 之后,作者还进行了 two stage 的训练。
训练设置
与持续预训练类似,我们在大多数实验中采用两阶段训练策略。第一阶段涉及在CODEI/O或CODEI/O++数据集上训练,随后是第二阶段的通用指令微调。采用这种两阶段训练方法的原因源于我们数据集的特点。CODEI/O(++)数据集与指令微调数据相比包含显著更多的样本。简单混合这两个数据集会导致分布偏差,可能导致对指令微调数据的学习不足。这可能会阻碍模型在下游任务中充分展示其遵循各种指令的能力。为解决这个问题,两阶段训练首先将模型强化为更稳健的通用推理基础模型,然后通过指令微调将其适应为多功能的指令遵循模型。详细的训练超参数见附录E。
作者实现了 idea 之后在 14 个不同领域(code、math、NLU、common sense等等) dataset 上进行了测试,发发现模型在所有的 benchmark 上都涨点了。无论是 in domain 还是 ood 的 benchmark。除了在 diverse 的 benchmark 上测试之外,作者还做了 6 个 aspects 的消融实验,非常非常严谨给力,真的得给作者点赞。
【https://arxiv.org/pdf/2501.11110 Chain-of-Reasoning: Towards Unified Mathematical Reasoning in Large Language Models via a Multi-Paradigm Perspective】
完成一个数学题有三种可能的方法:自然语言推理,符号化推理(LEAN),算术推理(python 代码)。之前的推理框架,都使用了三种方法中的一种。这篇文章意图使用跨范式的推理。之前的方法在训练集里面放入 3 种范式分别完成任务的数据,意图提升在不同任务上的泛化性,这不如在 inference 阶段允许模型自己把不同推理方法结合起来,结合的方式就是 CoT,一步选一种,最后做一个总结。于是本文合成数据(有一个 16.7k 条的 dataset)并实现了这个 idea。效果稍逊于 gpt-4o
【https://arxiv.org/pdf/2501.02152 Table as Thought: Exploring Structured Thoughts in LLM Reasoning】
这篇文章就多少说不过去了。motivation 是好的,即根据脑科学提出使用结构化推理的方法,但是使用表格的实现方法以及实验效果等等就不尽人意了。甚至 MATH500 和 GSM8k 这种聚光灯下的 math reasoning dataset 上还掉点了……我的理解有很多种,首要的就是这个 reasoning 过程的错误累积可能性太大了,表头生成不对剩下的全白干,怎么给它解耦呢?
【https://arxiv.org/pdf/2406.09136 Chain of Preference Optimization: Improving Chain-of-Thought Reasoning in LLMs】
motivation 就是希望在使用 CoT 方法时达到和 ToT 一样的性能。intuition 很尖锐,ToT 中每个分岔都代表了一种 preference,使用 optimal path 的那一个岔和其它的岔形成 (偏好,不偏好)的正负例样本,拿来做 DPO 就行了。实验效果似乎不错。
【https://arxiv.org/pdf/2410.17635 Markov Chain of Thought for Efficient Mathematical Reasoning】
数学问题的解决可能分成若干互相独立的部分,这本质上可以被类比成一个 markov process。人类在解决第 n 部分时不会再过分参考第 1 部分的过程(可能会参考第一部分推导的结果)。于是本文就提出了一种 markov chain reasoning 的 pipeline。构造了数据集并训练了模型。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律