今天是2025年4月14日,星期一,北京,大风。
先看一个观点,先说图灵测试,测的是“像不像”,不是“是不是, 图灵测试本质上是行为主义的,它只看AI表现出来的对话行为像不像人,并不关心它内部是怎么想的,有没有理解,有没有意识。
新一周的第一天,来看两个问题,一个是RAG中的表格处理问题,如何进行序列化。另一个是RL用于推理模型训练的一些分析,为消融实验,有些定性得结论,结论可以参考。
一、再看表格处理中的序列化问题
关于表格的RAG问题,我们之前在《表格RAG怎么做》(https://mp.weixin.qq.com/s/cT4q7Fz6QW6fUIX927b5Gg)中有讲过,并且在《Large Language Models (LLMs) on Tabular Data: Predic-tion, Generation, and Understanding – A Survey》(https://arxiv.org/pdf/2402.17944)中也可以进一步看到具体的表格处理技术总结。

其中,表格序列化是核心之一,我们来看看。
序列化的意思是将表格数据转换为文本格式,以便输入到LLM中。常见的文本格式包括Markdown、LaTeX和X-Separated等。公式为:Text=Serialize(Table),其中,Serialize表示序列化函数,Table表示表格数据。
序列化的本质是将一个大型表格转换为一组小的、上下文独立的字符串。经过广泛的实验和结构化输出模式,找到了一个解决方案,即使是GPT-4o-mini也能几乎无损地序列化大型表格。最初,以Markdown格式将表格输入LLM,但后来改用HTML格式(这在这里证明很有用)。语言模型更容易理解它,而且它允许描述带有合并单元格、子标题和其他结构复杂性的表格。
例如,要回答“2021年公司股东权益是多少?”这样的问题,只需向LLM提供一句话就足够了,而不需要提供包含大量“噪音”的大型结构。

在序列化过程中,整个表被转换成一组这样的独立块:

具体操作在:https://github.com/IlyaRice/RAG-Challenge-2/blob/3ed9a2a7453420ed96cfc48939ea42d47a5f7b1c/src/tables_serialization.py#L313-L345

这种思路其实是思路就是行列扫描,nxm,但这块容易出现爆炸问题。对于大表召回,就很难办了,上下文窗口有限,比如对比某一列,或者某一行,这个行列有几百条。但其实也有解法,这个只是用于召回,可以作为桥梁,将整张表的html格式返回,这样能解决部分问题,做一些后处理。

各种方案的优缺点:
1)Markdown格式,将表格数据转换为Markdown格式的文本,每行用竖线分隔,列用竖杠分隔。优点是易于阅读和编辑,缺点是可能不够紧凑;
2)LaTeX格式,将表格数据转换为LaTeX格式的文本,使用双反斜杠和竖线进行分隔。优点是格式严谨,适合复杂的表格,缺点是可读性较差。
3)X-Separated格式,将表格数据转换为以逗号或其他分隔符分隔的文本。优点是简洁,适合自动化处理,缺点是可能不够直观。
4)Attribute-Value Pairs,将表格数据转换为属性-值对的文本格式。优点是简单直接,缺点是可能不够清晰。
5)HTML格式,将表格数据转换为HTML元素。优点是格式丰富,适合复杂的表格,缺点是可读性较差;
5)Sentences,将表格数据转换为自然语言句子。优点是语义丰富,缺点是可能过于冗长。
这里的经验是,大模型的性能对输入表格格式敏感。DFLoader和JSON格式更适合事实查找和表格转换任务。HTML或XML表格格式比表格问答和表格值任务更容易被GPT模型理解,但需要更多的标记消耗。同标记语言(特别是HTML)在GPT3.5和GPT4上的表现优于X分隔格式,这里的假设是,GPT模型在大量网络数据上进行训练,因此可能在解释表格时接触到更多的HTML和XML格式。
二、R1-like推理模型的实证分析
关于RL用于推理模型的一些分析,《An Empirical Study on Eliciting and Improving R1-like Reasoning Models》,https://arxiv.org/pdf/2503.04548,做了几个消融实验,还蛮有趣的。

例如基模型实验中,直接对预训练的基模型进行RL训练,探索训练超参数的影响,分析不同骨干模型的效果,研究提示设计对推理能力的影响,以及观察RL训练过程中代表性推理模式的出现。
微调模型实验中,通过长链推理数据(CoT)冷启动微调基础模型,然后进行RL训练。比较了合成数据和蒸馏数据的效果。
工具操作实验中选择DEEPSEEK-R1-DISTILL-QWEN-32B作为骨干模型,通过示范数据蒸馏和SFT实验逐步培养工具操作能力,然后进行RL训练。
有以下几个结论可以读读:
1、Base模型和SFT模型哪个好?
在使用相同RL策略和数据的情况下,对比了QWEN2.5-7B-Base和QWEN2.5-7B-INSTRUCT。
几个结论:
预训练后,基础模型已经展现出执行单独复杂推理动作的潜力。RL过程有效地激活了这一能力,使模型能够将这些动作整合成一个连贯且深思熟虑的思考过程。
Qwen2.5-7b-ins能够按照指令进行思考和推理,响应长度增加缓慢;Qwen2.5-7b在RL早期阶段(0~30步)响应长度迅速增加,随后与ins模型趋势相似。由于Qwen2.5-7b是base模型,输出长度难以确定,模型自发学会增加响应长度来提高奖励,最终趋势与指令模型相似。
这似乎暗示对于RL而言,激发的是预训练时的推理能力,做不做指令遵循SFT可能并不会决定后续效果。
2、强化学习(RL)的几个因素对基础模型的影响比较关键?
大型推理模型的表现受到RL设置的严重影响。以下超参数对RL训练的影响最为显著:

训练批量大小(Train Batch Size),较大的训练批量大小(如1024)能显著提高训练效率,使模型在早期训练阶段快速提升性能,并且表现出更高的稳定性。使用较大批量大小进行训练表现出更大的稳定性,与较小批量大小相比,训练指标波动显著减少。
学习策略(Learning Strategy),on-policy学习策略相比off-policy学习策略效果更好,因为它鼓励更大的探索,模型在训练过程中自然且迅速地增加响应长度,并在测试集上表现更优。
展开次数(Rollout Times),较多的展开次数(如64次)显著提高了训练性能,鼓励模型生成更长的响应,并带来更多的探索。
展开温度(Rollout Temperature),较高的展开温度(如1.2)有助于模型在早期训练阶段快速扩展响应长度,并且在某些情况下表现优于较低温度的设置。比较了n=8和n=64的情况,并发现增加展开次数显著提高了训练性能,鼓励模型生成更长的响应并进行更多探索。
然而,较高的温度并不总是有益的;提高的温度可以促进探索,但也可能导致生成更多无意义的内容(重复、胡言乱语等)。较低的温度在训练的早期阶段产生了更高的平均奖励,但它可能限制模型后续的探索,导致在后续阶段表现不够有效,所以,较高的温度往往能够带来更好的性能,前提是模型能够正常生成文本且没有胡言乱语。
动态KL退火策略比其他变体表现得更好。在训练的早期阶段,模型容易崩溃,可能会陷入局部最优解。固定的KL值可以限制参数更新,防止模型退化。然而,随着训练的进行,较大的KL值变得不适合强化学习,限制了模型能力的进一步提升。通过逐渐放宽这些约束,动态KL退火能够持续改进主干模型。
3、参数规模影响及敏感性?
在RL训练过程中,模型逐渐展现出类似人类的复杂推理行为(如验证、反思和修正)。
这些行为在训练初期就已存在,但随着训练的进行,这些模式变得更加明显和高效,通过统计推理关键词(如“verify”、“double check”、“reflect”等)的频率变化,可以观察到RL训练如何逐步强化这些推理能力。

即使在没有监督微调(SFT)的情况下,通过纯RL训练,基础模型(如QWEN2.5-32B)也能显著提升推理能力,包括响应长度和测试准确率。
小规模模型(1.5B)在RL训练中,模型的探索能力相对较弱。这可能是因为它们的参数较少,学习能力有限。例如,在相同的RL设置下,1.5B模型在训练初期的响应长度和准确率提升较慢。对RL设置(如学习率、采样次数、温度系数等)的变化不敏感,性能提升较为缓慢且有限。
中等规模模型(7B)展现出比1.5B模型更强的探索能力,能够更快地适应RL训练并提升性能。这表明模型规模的增加有助于提高其学习和探索能力。
大规模模型(32B) 在RL训练中表现出最强的探索能力。其响应长度和准确率在训练过程中显著提升,尤其是在训练步数增加时,性能增长更为明显。
4、长提示还是短提示好?对RL的影响如何?
第一种是简短提示,类似于DeepSeek-R1-Zero中使用的提示。
为了更好地激发基础模型的推理能力,设计了一个新的提示,其中包含了关于推理过程的详细说明,称为长提示,与简单提示相比,这个新提示保留了特定推理格式的需求,同时增加了对推理过程的全面描述,这包括可以在推理过程中应用的策略(例如分析问题、总结发现)以及推荐在整个过程中使用的表达和词汇(例如,“等待”、“或者”)。

结论为:

当在两种类型的提示上训练时,QWEN2.5-1.5B和QWEN2.5-7B表现出不同的行为。
对于QWEN2.5-1.5B,在短提示上训练的模型在测试集上的表现比在长提示上训练的模型更好。这可能是因为一个1.5B大小的基模型相对容量有限,难以遵循详细提示中的复杂指令。
相比之下,当使用不同的提示训练时,7B大小模型在下游任务上的表现相似。然而,使用长提示语训练的模型生成了较短的回应,这表明它通过遵循提示语中提供的指导原则,学会了更高效地进行推理。
因此,更详细的提示语可以引导模型更有效地思考,提高推理效率。然而,它们并不一定能在下游任务上带来性能的提升。
此外,LLMs可能会利用长度偏置的奖励函数(即奖励操纵),这些函数旨在鼓励更长的响应和更复杂的推理行为,但是,响应长度是强化学习训练成功与否的一个重要指标;然而,它是性能提升的结果,而非原因。
设计专门的奖励函数以明确鼓励模型产生更长的响应可能会导致奖励作弊等问题,这并不能从根本上提升模型的推理能力。也就是,虽然较长的响应可以提供更多推理空间,但过度延长响应长度可能导致冗余推理或性能下降。
理想的解决方案是让模型根据问题难度自适应调整响应长度。
5、训练数据是用合成的还是蒸馏的好?
构建长CoT训练数据有两种主要方法,合成长CoT数据和从大型推理模型中蒸馏。
对于第一种方法,合成包含各种推理模式(例如,反思和验证)的指令微调数据,以鼓励探索和多样化推理模式。根据现有工作,从公共数据集中选取大约5k个难题。
对于第二种方法,使用现有的大型推理模型进行蒸馏,从OpenThoughts中选择大约50k条数据,该数据从DEEPSEEK-R1中提炼出长CoT相应。
使用长链推理数据(如合成数据或从大型推理模型中蒸馏的数据)进行监督微调(SFT)可以显著提升模型的推理能力。

在初期训练中,合成数据方法表现出一定的有效性,能够鼓励模型生成更长的响应,并探索多样化的推理模式。然而,合成数据的复杂性有限,合成数据通常使用相对简单的策略生成,这些策略不足以捕捉或表示从高度能力的推理模型中更有效地提炼出的复杂推理过程,难以捕捉复杂的推理步骤,因此在后续的RL训练中效果逐渐减弱。
蒸馏数据方法在后续RL训练中表现更好,因为它从高质量的源模型中提取了复杂的推理模式。蒸馏数据不仅包含了丰富的推理步骤,还能更好地引导模型进行有效的推理,从而显著提升模型的整体性能。
即使模型已经通过长链推理数据微调达到了较高性能,RL训练仍能进一步提升其推理能力。 强化学习训练一致性地提升了微调模型的性能,包括短期和长期的CoT推理模型。即使在Qwen2.5-1.5B通过蒸馏数据训练达到较高水平的表现后,强化学习训练进一步提升其能力,在AIME 2024上实现了显著的准确率为39.33
6、工具操作的实验说明了什么结论?
通过监督微调(SFT)赋予模型工具操作能力(如代码解释器),可以显著提升模型的推理性能。例如,STILL-3-TOOL-32B在AIME 2024上的准确率达到86.67%(贪婪搜索);
即使少量高质量的工具操作ICL数据也能显著提升模型性能,表明工具操作能力可以通过少量但高质量的训练数据有效激活。
例如,在工具操作实验中,STILL-3-TOOL-32B模型在AIME 2024上取得了显著的改进,达到了86.67的准确率。其成功的原因可以再回顾下:
一个是示例数据蒸馏,通过从强大的教师模型(如DeepSeek-R1)中蒸馏示范数据,逐步培养了模型的工具操作能力。这些数据包含了代码片段和正确的答案,帮助模型学习如何在推理过程中有效地使用工具。
一个是SFT微调,通过系统的示范数据蒸馏和SFT实验,逐步精炼了模型的工具操作能力。这种方法不仅提高了模型生成代码片段的能力,还增强了模型在推理过程中调用外部工具的意愿。
一个是RL训练,在掌握了工具操作能力后,通过RL训练进一步提升了模型的性能。RL训练鼓励模型在推理过程中自主调用工具,从而显著提高了其在复杂数学问题上的推理能力。
总结
本文主要回顾了两个工作,一个是RAG中的表格处理问题,如何进行序列化。
另一个是RL用于推理模型的一些分析,其中的一些分析结果其实还蛮有趣的,虽然有些实验限制,但结果依然有指导性。
参考文献
1、https://mp.weixin.qq.com/s/cT4q7Fz6QW6fUIX927b5Gg
2、https://arxiv.org/pdf/2402.17944
3、https://arxiv.org/pdf/2503.04548
(文:老刘说NLP)