Reasoning Core:用于符号预训练和后训练的可扩展程序化数据生成套件 Reasoning Core: A Scalable Procedural Data Generation Suite for Symbolic Pre-training and Post-Training
可扩展的符号推理数据生成套件,通过程序化生成和外部求解器验证提升LLM推理能力
前置知识
程序化内容生成(PCG)
通过算法动态生成内容而非使用固定数据集的技术。在LLM训练中,PCG可以生成无限变化的训练样例,每个样例都是新颖的但遵循相同的底层规则。例如,对于规划任务,不是固定一个Blocks World场景,而是随机生成领域、对象、初始状态和目标。这种方法提供了无限的训练数据并避免过拟合到特定实例。
论文的核心创新就是使用程序化生成来创建具有高分布泛化性的符号推理数据,理解PCG的基本原理对于理解作者为什么能解决现有方法的数据多样性问题至关重要。
RLVR (Reinforcement Learning with Verifiable Rewards)
强化学习的一种变体,其中奖励信号来自可验证的算法而非人工标注。模型生成答案后,外部求解器(如定理证明器、规划引擎)可以自动判断答案正确性并给出精确的奖励。例如,对于一个逻辑推理任务,Vampire定理证明器可以检查模型输出的结论是否确实从前提中推出,并给出二值或连续的奖励信号。
论文设计的所有任务都暴露了可验证的奖励函数,使得Reasoning Core既适用于预训练也适用于RLVR后训练。理解RLVR机制对于理解论文为什么强调外部求解器验证和可验证性非常重要。
概率上下文无关语法(PCFG)
上下文无关语法的扩展,其中每个产生式规则都关联一个概率值。生成时从起始符号开始,按照规则概率递归选择产生式进行推导。论文引入了gramforge框架,支持上下文敏感的概率语法,即产生式规则的展开可以依赖于全局状态(如变量作用域),超越标准PCFG的限制。这在生成代码或带有变量绑定的逻辑推理任务时特别有用。
gramforge是论文的关键技术组件,用于生成结构化的符号数据。理解PCFG和论文对其的扩展(拓扑控制、上下文敏感性)对于理解作者如何实现高分布泛化性非常重要。
PDDL规划
Planning Domain Definition Language的缩写,是AI规划问题的标准形式化语言。一个PDDL问题包含领域描述(定义动作、前提条件、效果)和问题实例(定义对象、初始状态、目标状态)。规划引擎如FastDownward可以自动找到从初始状态到达目标状态的动作序列。论文中PDDL任务不是固定某个特定领域(如Blocks World),而是随机生成领域和实例。
PDDL规划是Reasoning Core覆盖的核心形式领域之一,论文强调其选择随机生成领域而非固定实例的方案。理解PDDL有助于理解论文为什么宣称具有高分布泛化性,以及外部求解器验证的工作原理。
研究动机
现有的程序化生成器通常依赖固定的谜题或模板,无法提供大规模所需的分布广度。例如,训练在单个PDDL规划领域如Blocks World上的模型不能泛化到微小变化(Valmeekam et al., 2023; Khandelwal et al., 2024),而Dyck语言预训练(Hu et al., 2025; Jiang et al., 2026)只覆盖了层次结构的一个狭窄切片。现有的后训练套件如Reasoning Gym (Stojanovski et al., 2025) 提供了优秀的通过RLVR训练推理模型的信号,但它们优先考虑任务数量而非每个任务内的分布泛化性,并且不针对预训练规模的数据生产。此外,LLM生成的合成数据方法虽然在特定领域(如数学、编程)有效,但推理成本高且分布泛化性有限。
本文的目标是本文的目标是引入Reasoning Core,一个可扩展的程序化生成套件,能够以高分布泛化性生成可验证的符号推理数据,既适用于预训练也适用于后训练。具体而言,目标是针对更基础和更具表达性的领域(随机生成的PDDL规划、完整一阶逻辑、任意语法的上下文无关语法解析与生成、随机贝叶斯网络上的因果推理、符号方程求解)提供具有外部求解器验证和连续难度控制的有效无限新颖实例。
与已有工作不同的是,本文的独特切入角度是专注于基础形式领域的完整泛化性,而非广泛覆盖狭窄任务。与Reasoning Gym提供100+任务但每个任务使用模板化实例不同,Reasoning Core提供较少的任务家族但每个任务具有高分布泛化性。例如,RG提供Sokoban或汉诺塔等特定的PDDL规划领域,而RC采样随机PDDL领域覆盖完整STRIPS问题类。对于逻辑,RG硬编码三段论,而RC使用最新的一阶逻辑语法(Sileo, 2024)。此外,这是首个将符号预训练数据与外部求解器验证器配对的库,也是首个从最早训练阶段提供链式思考踪迹的库。
核心方法
Reasoning Core的整体思路是围绕四个核心属性设计:泛化性、可读性、可扩展性和严格验证。系统暴露统一的任务API,通过get_task(name)获取任务对象,然后调用generate_example(level=k)生成指定难度级别的样例,最后用score_answer(ans, ex)验证答案。所有样例都配对外部求解器(如Vampire/E定理证明器用于逻辑、FastDownward用于PDDL规划、Sympy用于符号代数)进行严格验证。同一个接口既返回预训练/监督微调就绪的示例(prompt、答案、可选踪迹),也通过算法验证支持RLVR。每个生成器由一个连续的难度旋钮控制,这是一个单独的浮点数,参数化地调整底层因素(如证明深度、变量数量、计划长度)。对于固有离散的超参数,使用随机舍入以实现细粒度控制。
核心创新点在于三个方面的结合:(1) 针对基础形式领域的完整泛化性,而非固定谜题或模板。例如,PDDL任务采样随机领域和实例,覆盖完整STRIPS问题类;逻辑任务使用完整一阶逻辑与等号,而非硬编码三段论。(2) 外部求解器验证,每个任务都配对成熟的外部工具(定理证明器、规划引擎、符号代数系统)提供客观无歧义的奖励信号,避免重新发明求解器的困难。(3) gramforge语法框架,支持上下文敏感的概率语法和拓扑控制,能够生成结构化符号数据如代码、逻辑公式及其自然语言描述。这些创新使得Reasoning Core能够在预训练规模生产具有可靠正确性保证的符号数据,同时保持高分布泛化性。
方法步骤详情
方法步骤的完整描述如下:(1) 任务选择与生成器初始化:通过get_task(name)选择任务家族(28个任务),每个任务对应一个生成器,具有连续难度控制参数。(2) 样例生成:调用generate_example(level=k)生成难度级别为k的样例。对于基于语法的生成,使用gramforge框架,通过概率上下文无关语法或元语法(如生成随机CFG)生成样例字符串。生成过程中应用拓扑控制(bushiness因子)确保结构复杂度而不仅是长度,以及上下文敏感性(状态传播)跟踪变量作用域和循环不变量。(3) 外部求解器验证:生成的问题实例通过外部求解器验证。对于逻辑任务,使用Vampire/E定理证明器;对于规划任务,使用FastDownward;对于方程求解,使用Sympy。求解器通过容器化(udocker/Apptainer)封装,处理非Python依赖。(4) 难度控制:难度旋钮参数化地调整底层生成参数(如表达式树深度、变量数量、计划长度)。离散参数使用随机舍入实现连续控制。(5) 踪迹生成:当可能时,添加推理踪迹。例如,对于数学任务,将TPTP证明重新格式化;对于算术任务,通过递归自底向上评估表达式树并记录中间步骤自动生成推导过程。(6) 并行生成:使用多线程管道,单线程工作器通过文件锁协调,跨CPU核线性扩展。超时随难度级别自动缩放,检测并杀死停滞的外部进程以避免资源泄漏。平衡键机制限制每批中任务声明特征(通常是答案标签)的频率,防止退化分布。(7) 输出:返回包含prompt(自然语言或结构化格式)、答案(可能包含多个有效答案)、可选metadata(推理踪迹、难度级别等)的样例对象。同一个score_answer接口可用于评估SFT训练的答案或为RLVR提供奖励信号。
技术新颖性
技术新颖性体现在多个方面。首先是任务设计的泛化性:与现有工作使用固定领域或模板不同,Reasoning Core的PDDL任务采样随机领域覆盖完整STRIPS问题类,逻辑任务使用完整一阶逻辑与等号,语法任务支持任意CFG而非特定语言。其次是gramforge框架的三个关键增强:拓扑控制通过bushiness因子强制横向扩展而非只有垂直增长,确保生成的样例保持结构复杂度;上下文敏感性支持状态传播,允许一致跟踪变量作用域和循环不变量,这对生成过程式代码至关重要;预加载语法套件包括TinyPy(Python代码合成)、简化英语语法、TPTP一阶逻辑语法、regex语法和CFG元语法。第三是高效数据生产机制:超时自动随难度级别缩放,平衡键机制限制特征频率,并行生成管道跨CPU核线性扩展。最后是推理踪迹的自动生成:对于有形式化证明的任务(如TPTP),重新格式化证明为自然语言推理链;对于算术任务,通过自底向上评估表达式树生成逐步推导。这些新颖性使得Reasoning Core能够在预训练规模生产具有可靠正确性保证的高泛化性符号数据。
实验结果
核心发现来自三个主要实验。零样本评估显示所有Reasoning Core任务对GPT-5家族(包括gpt-5-nano、gpt-5-mini、gpt-5)都具有挑战性,平均奖励在easy难度(旋钮级别0)和hard难度(旋钮级别5)下都有显著差异,大多数任务在hard难度下失败率更高,证明难度控制按预期工作。特别是logic_nli、planning、equation_system、proof_reconstruction等任务即使在easy难度下也表现不佳,而arithmetics、graph_pathfinding等相对简单任务在easy难度下表现较好但在hard难度下明显下降。监督微调实验在三个数据集上进行:FineWeb和SYNTH(预训练)使用随机初始化的Monad-56M架构,Dolci(指令微调)使用预训练的Ettin-68M解码器。实验设置遵循Chinchilla最优比例,每个运行在单个Nvidia A30 GPU上耗时约一天,使用Prodigy优化器和Schedule-Free算法,批大小16,上下文窗口1024 token,训练一个epoch。实验方法是将0.5B token的自然语言数据集D与r x 0.5B token的Reasoning Core数据混合,其中r在{0, 0.1, 0.3, 0.5, 1.0}中,当可用时对50%的Reasoning Core示例包含推理踪迹。评估在数据集本身的测试集和PlatinumBench(包含15个数学、逻辑、表格理解任务)上进行,使用负对数似然(NLL)作为指标。结果显示在所有三个语料库上,组合数据集持续改进PlatinumBench答案NLL。最佳甜蜜点似乎是添加原始大小一半的训练token(r=0.5)到给定语料库,导致三分之一的符号token。同时,数据集上也略微减少了验证损失,确认符号推理原语有助于自然语言建模。具体而言,对于FineWeb,添加0.5比例的RC数据将PlatinumBench NLL从约7.5降低到约7.0;对于SYNTH,从约10降低到约9.5;对于Dolci,从约0.88降低到约0.86。数据集发布方面,预训练数据集包含10M示例(5B token),80%使用难度级别0,剩余20%在级别1和2之间分割;后训练数据集包含1M示例(1B token),难度在0、3和5之间均匀采样。使用48线程在Intel(R) Xeon(R) Gold 5320上生成每个子集耗时约3天。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| PlatinumBench (数学、逻辑、表格理解) | 答案负对数似然 (NLL) | 7.0 (FineWeb + RC r=0.5) | 7.5 (FineWeb only) | 约6.7%提升 |
| PlatinumBench (数学、逻辑、表格理解) | 答案负对数似然 (NLL) | 9.5 (SYNTH + RC r=0.5) | 10.0 (SYNTH only) | 约5%提升 |
| PlatinumBench (数学、逻辑、表格理解) | 答案负对数似然 (NLL) | 0.86 (Dolci + RC r=0.5) | 0.88 (Dolci only) | 约2.3%提升 |
| Reasoning Core任务 (零样本评估) | 平均奖励 | 随任务和难度显著变化,多数任务hard难度<50% | 无直接基线,但显示所有任务对GPT-5具有挑战性 | N/A(难度控制验证) |
| FineWeb测试集 | 测试NLL | 略微降低(添加RC数据后) | 原始FineWeb | 确认符号原语不损害语言建模 |
| SYNTH测试集 | 测试NLL | 略微降低(添加RC数据后) | 原始SYNTH | 确认符号原语不损害语言建模 |
| Dolci测试集 | 测试NLL | 略微降低(添加RC数据后) | 原始Dolci | 确认符号原语不损害语言建模 |
局限与改进
作者承认的局限性包括:范围方面,Reasoning Core固有地局限于形式和符号领域(规划、逻辑、语法解析、方程求解及相关任务)。虽然这些领域锻炼的推理能力(系统搜索、组合推理、符号操作、规划)可能转移到不那么正式的设置如法律推理、科学假设评估、排序代理工具调用或结构化论证,作者没有实证验证这种跨域泛化。规模方面,实验在有限规模进行:微调运行使用<100M参数的模型在0.5B token上训练,零样本评估虽然提供信息但不构成完整的训练研究。在更大模型和数据规模下观察到的益处和权衡是否仍然成立是开放问题。RLVR实验缺失:虽然Reasoning Core适合RLVR,作者没有在本文中呈现RLVR训练曲线。在他们的设置中,生成器有意针对高分布广度(如随机PDDL领域、完整一阶逻辑)以防止过拟合。因此,学习这些任务比掌握模板化或低熵程序化数据集需要更多样本。小预算RLVR实验不太可能代表这些环境预期使用的机制,可能会低估它们的效用。验证管道不完备:尽管作者投入了大量努力验证生成问题的正确性,结合外部求解器检查、LLM辅助审查和多轮独立人工裁决和代码审计,没有验证管道是无误的。生成器逻辑中的细微bug、求解器遗漏的边缘情况,或问题的自然语言呈现与其形式规范之间的不匹配可能持续存在。
独立分析的弱点
独立分析的弱点包括:(1) 任务覆盖偏向结构化符号领域,缺乏对更开放-ended推理任务如创意写作、比喻理解或伦理推理的支持。改进方向:扩展到半结构化任务,如带模糊约束的规划或概率逻辑推理。(2) 预训练实验规模较小(<100M参数),无法揭示在大规模模型(如数十亿参数)上的效果。改进方向:在大规模模型上验证预训练益处,探索符号数据比例如何随模型规模变化。(3) 缺乏RLVR实验,虽然暴露了可验证奖励函数但没有展示强化学习的实际效果。改进方向:实施RLVR实验,探索多任务混合和课程平衡策略。(4) 难度控制虽然连续,但论文没有深入分析不同任务难度参数的最优分布。改进方向:研究自适应难度调整,根据模型性能动态调整难度曲线。(5) 虽然有推理踪迹,但踪迹的多样性和质量可能不均匀。改进方向:系统化踪迹生成策略,确保踪迹覆盖多种推理路径和表示风格。
未来方向
作者提出的未来工作包括:跨域泛化调查:研究符号推理原语(如系统搜索、组合推理、符号操作、规划)如何转移到不那么正式的设置如法律推理、科学假设评估、排序代理工具调用或结构化论证。大规模RLVR实验:由于学习这些高泛化性分布的任务样本密集,严格的RLVR评估需要大规模rollout、仔细多任务混合和复杂课程平衡策略。基于成果可延伸的未来工作包括:(1) 多模态扩展:将符号推理与视觉或语言以外的模态结合,生成多模态推理任务。(2) 神经符号架构:设计能更好利用符号预训练数据的模型架构,如专门的符号推理模块或注意力机制。(3) 数据课程学习:研究符号数据和自然语言数据的最优混合比例和呈现顺序,实现高效的课程学习。(4) 元学习生成器:使用元学习自动优化生成器参数,产生更适配特定模型的任务分布。(5) 跨语言和文化适应:扩展到非英语符号推理任务,探索跨语言泛化性。
复现评估
复现评估:Reasoning Core的代码和数据在MIT许可证下公开发布,GitHub仓库为github.com/sileod/reasoning_core,HuggingFace数据集为hf.co/collections/reasoning-core/datasets。预训练数据集包含5B token(10M示例),后训练数据集包含2B token(1M示例)。论文详细描述了生成管道和超参数设置。监督微调实验在三个数据集(FineWeb、SYNTH、Dolci)上进行,使用<100M参数的模型(Monad-56M和Ettin-68M),每个运行在单个Nvidia A30 GPU上耗时约一天。这对于大多数研究实验室来说是可以访问的算力要求。论文提供了完整的实验细节:优化器(Prodigy)、批大小(16)、上下文窗口(1024 token)、训练epoch(1)、温度(1)、top-p(1)等。零样本评估使用GPT-5家族,使用默认超参数,推理努力设置为中等,系统提示要求输出格式在和之间。数据生成使用48线程在Intel(R) Xeon(R) Gold 5320上,每个子集约3天。复现难度中等,主要挑战在于外部求解器的设置(需要容器化处理非Python依赖)。论文提供自定义wrapper和udocker/Apptainer使用说明。代码库简洁且易于检查,支持确定性重新评估以防止数据中毒。总体而言,Reasoning Core的复现性良好,开源情况完整,数据和算力要求适中,实验设置透明可重复。
论文图表
这张图展示了Reasoning Core的系统架构,包括统一的任务API接口设计。图的上半部分展示了两个具体的使用示例:arithmetics任务生成算术表达式(如Evaluate (3+4.5)*min(8,12)-2**2),答案为56,并包含推理踪迹3+4.5=7.5; min(8,12)=8; 7.5*8=60; 60-4=56;logic_nli任务生成自然语言推理问题(前提、假设),通过外部定理证明器验证。图的中间展示了任务接口的核心三个方法:get_task(name)获取任务、generate_example(level=k)生成难度级别为k的样例、score_answer(ans, ex)评估答案。图的底部展示了连续难度控制的概念,展示了从级别0到级别5的难度渐变,以及这些生成数据如何用于两个阶段:左侧是预训练与监督微调(基础模型),使用较简单的难度级别(0-2);右侧是后训练与RLVR(前沿模型),使用更难的难度级别(3-5)。
这张图对理解论文至关重要,因为它直观地展示了Reasoning Core的统一接口设计,这是论文的核心贡献之一。通过两个具体示例,读者可以快速理解如何使用系统:生成带答案和推理踪迹的样例。更重要的是,图展示了难度控制的连续性和如何为不同训练阶段(预训练vs后训练)选择不同的难度范围,这是论文强调的关键设计理念。图的布局清晰地划分了API接口、难度控制和训练应用三个层次,帮助读者构建对系统的整体认知。