基于双向进化搜索的自改进语言模型 Self-Improving Language Models with Bidirectional Evolutionary Search
提出双向进化搜索框架,通过进化算子和目标分解突破现有搜索方法的限制,在自改进和推理中显著提升性能。
前置知识
Best-of-N采样
Best-of-N采样是从语言模型中独立生成N个候选响应,然后选择验证分数最高的那个。它简单并行,但受限于模型的有限样本覆盖。如果最优轨迹位于概率质量极小的区域,增加N只能提供线性覆盖改进。在RLVR等后训练算法中被广泛采用。
本文将BES与Best-of-N对比,证明BES在困难问题上能找到单一rollout难以到达的高质量候选,理解Best-of-N的局限性是理解BES优势的基础。
树搜索
树搜索方法利用轨迹的顺序结构,将轨迹分解为步骤,维护一个节点为部分轨迹、边为附加步骤的树。根据启发式值选择和扩展分支,将计算集中在有希望的前缀上。经典方法包括束搜索、最优优先搜索和蒙特卡洛树搜索(MCTS)。它比best-of-N更具样本效率,但仍通过顺序扩展逐个生成终端候选。
本文证明树搜索生成的候选被限制在窄熵壳内,而BES的进化算子能逃逸这个壳,理解树搜索的局限性是理解BES创新的关键。
熵壳
熵壳是指在给定策略下,轨迹对数概率集中在某个典型值附近的区域。对于长度为T的轨迹Y,其概率P(Y)=∏_{t=1}^T P(y_t|y_{<t}),轨迹级熵为H_T = H_P(Y)。典型集定义为A_T^ε = {y: |-log P(y) - H_T| ≤ εT}。扩展-only搜索生成的轨迹几乎肯定落在该典型集内,限制了探索范围。
论文定理4.4证明扩展-only搜索被限制在窄熵壳内,而进化算子能逃逸这个壳。这是BES优于传统方法的理论核心,需要理解熵概念才能掌握其重要性。
验证器
验证器V(x, y) ∈ [0,1]是一个函数,为问题x的轨迹y分配一个分数,衡量y解决x的程度。验证器可以是基于规则的检查器、测试用例代码执行器、嵌入相似度模型或LLM判断器。在BES中,原始验证器提供稀疏信号,后向搜索通过目标分解产生密集的中间验证信号。
BES的核心创新之一就是通过后向搜索将稀疏的验证信号转化为密集的子目标反馈,理解验证器的作用是理解BES双向机制的基础。
研究动机
现有的语言模型和智能体系统自我改进方法面临两个根本限制。在Knights-and-Knaves逻辑推理数据集上,主流后训练算法如GRPO和MaxRL难以找到足够的高质量训练样本,导致无法改进甚至从基线模型退化。在MuSiQue多跳推理任务上,使用Llama-3.2-3B-Instruct时,GRPO使准确率从4.0%降至2.1%,Tree-GRPO仅提升至3.9%。根本原因是:第一,验证信号稀疏,在常见设置如RLVR后训练中,验证器通常只提供二元或粗粒度反馈;第二,候选生成受限于模型自身分布,通过自回归扩展构造响应,将候选限制在模型自身分布的支持内,难以到达困难问题中正确解常驻的低概率区域。在开放问题求解中,现有开源框架如OpenEvolve在Circle Packing (Square)上平均得分为2.531±0.018,最佳仅2.541,方差大且不稳定。
本文的目标是本文提出双向进化搜索(BES)框架,旨在解决现有搜索方法的两个根本限制。具体目标是:第一,通过引入双向搜索解决验证信号稀疏问题,前向搜索寻找更好的候选解,后向搜索发现更细粒度的子目标来验证它们;第二,通过引入进化算子生成超越模型自身分布的候选,受进化生物学有性繁殖的启发,引入组合、易位、删除和交叉四个算子,能够重组不同响应的优势部分构造新候选。在后训练设置下,目标是在主流算法失败的困难任务上持续发现有效的训练样本;在推理设置下,目标是在开放问题上发现更稳定、更高质量的解决方案。
与已有工作不同的是,本文的独特切入角度是将搜索问题类比为进化生物学中的有性繁殖革命。在生命历史上很长一段时间,生物进行无性繁殖,每个后代都是亲本的直接延伸,独立产生的有益突变永远无法结合。有性繁殖通过染色体重组彻底改变了这一点,将不同谱系的基因段拼接在一起产生任一亲本都不具备的新组合。类比到搜索场景,现有方法如best-of-N和树搜索都通过自回归扩展构造响应,这相当于无性繁殖。BES引入四个进化算子:组合合并共享前缀的两条轨迹的不同后缀,删除移除内部步骤,易位将一条轨迹的单步移植到另一条,交叉将一条轨迹的前缀拼接另一条的后缀。这种能够重新构建、压缩和重组现有轨迹的能力,使BES能逃逸扩展-only搜索的熵壳限制,这是现有搜索框架不具备的核心差异。
核心方法
BES执行双向进化搜索,在两个耦合过程间交替:寻找更好候选的前向搜索,以及将问题分解为细粒度子目标来评估每个前向节点的后向搜索。前向搜索不仅扩展轨迹还重组不同候选的部分,产生单一πθ rollout不太可能到达的解。后向搜索为部分轨迹提供密集且可解释的分数,引导前向搜索向有希望的候选前进。实践中,每执行几次前向搜索步骤后执行一次后向搜索步骤。前向搜索维护候选节点集P,每个节点n=(y_1,...,y_t)表示部分轨迹。每步选择父节点,应用扩展或进化算子产生子节点n',由后向搜索评分并加入P。后向搜索从顶级目标g_root开始,用策略πθ提示将每个目标分解为更细子目标,产生根状后向目标树。每个目标g可以递归分裂为子目标ch(g),并配备验证器V_g(x,n) ∈ [0,1]测试候选节点n在问题x上解决子目标g的程度。每K步前向搜索重新调用分解:选择一个当前候选未完全满足的叶节点子目标,提示πθ将其分裂为更细子目标,然后重新评分所有现有前向节点。
BES的核心创新是双向耦合:前向进化搜索和后向目标分解。与树搜索仅通过顺序扩展构建候选不同,BES的进化算子能重组不同候选的优势部分。这使BES能够产生模型单独rollout难以到达的候选。与现有方法依赖稀疏验证信号不同,BES的后向搜索将问题分解为可验证的子目标树,为部分轨迹提供密集反馈。理论上有两个关键区别:第一,扩展-only搜索的候选被限制在窄熵壳内,而进化算子能逃逸它。在定理4.4中,对于典型集A_T^ε = {y: |-log P(y) - H_T| ≤ εT},扩展-only搜索生成的轨迹Y满足Pr[Y∉A_T^ε] ≤ exp(-Ω(T))。但对于k次进化分布Q = ∏_{j=1}^k P_j,当ε < γ时,E_Q[-log P(e^Y)] ≥ H_T + γT > H_T + εT,且Pr[e^Y ∈ A_T^ε] ≤ 1 - (γ-ε)T/(L^T-H_T-εT) < 1。第二,后向搜索指数级减少找到解所需候选数。定理4.5证明,若终端搜索需要N_term = Ω(1/∏_{i=1}^m p_i)候选获得常数成功概率,后向引导的双向搜索只需N_bidir = O(p_min^{-1} log(m/δ)),其中p_min = min_i p_i。在p_i = p的对称情况下,比率为N_term/N_bidir = Ω(p^{-(m-1)}/log(m/δ)),在子目标数量m上指数级优势。
方法步骤详情
BES方法分为四个主要步骤:前向搜索节点选择、算子应用、后向搜索评分和目标树更新。第一步,在前向搜索中选择父节点。对于单亲算子(扩展、删除),从符合条件的非终止成员C_t中,根据后向分数s(n)的Boltzmann分布采样:Pr[n|C_t] = exp(ẋ(n)/τ_t)/∑_{n'∈C_t} exp(ẋ(n')/τ_t),其中ẋ(n)=s(n)+λ·1_{deg(n)=0},τ_t从初始值τ_0线性退火到最终值τ_end < τ_0,λ=0.1。对于双亲算子(组合、易位、交叉),计算对分数s(n_a,n_b)倾向于覆盖问题不同部分的互补父节点,从类似Boltzmann分布采样对(n_a,n_b):Pr[(n_a,n_b)|C_t] = exp(s(n_a,n_b)/τ_t)/∑_{n_a,n_b∈C_t} exp(s(n_a,n_b)/τ_t)。第二步,应用算子生成子节点。扩展采样步数K~Uniform{1,...,K_max}并从πθ抽取最多K新步骤y_{t+k}~πθ(·|x⊕y_1⊕...⊕y_{t+k-1})。组合合并共享前缀的两条轨迹的不同后缀。删除移除一个内部步骤产生更短候选。易位将一条轨迹的单步移植到另一条。交叉将一条轨迹的前缀拼接另一条的后缀。第三步,后向搜索评分。对于前向节点n和子目标g,子目标分数为s(n,g)=α·V_g(x,n)+(1-α)·(1/|ch(g)|)∑_{g'∈ch(g)} s(n,g'),α∈[0,1]平衡粗父目标和细子目标的贡献。对叶节点s(n,g)=V_g(x,n),若目标已满足V_g(x,n)=1则短路s(n,g)=1。整体分数s(n)=s(n,g_root)。对于两个候选n_a和n_b,对分数s(n_a,n_b)用两父节点子目标验证器的最大值替换,测量联合目标树覆盖:s(n_a,n_b,g)=α·max{V_g(x,n_a),V_g(x,n_b)}+(1-α)·(1/|ch(g)|)∑_{g'∈ch(g)} s(n_a,n_b,g'),s(n_a,n_b)=s(n_a,n_b,g_root)。第四步,每K步前向搜索后,更新目标树:选择一个当前候选未完全满足的叶节点子目标,提示πθ将其分裂为更细子目标,重新评分所有现有前向节点。后训练时,BES返回候选集P中的高质量轨迹用于训练。推理时,BES在固定计算预算下运行,返回最高分的终端轨迹作为最终答案。
技术新颖性
BES的技术新颖性体现在三个方面:双向搜索框架、进化算子设计和理论分析。第一,BES是首个将前向候选搜索和后向目标分解耦合的搜索框架。现有方法如Tree of Thoughts和Graph of Thoughts也探索多路径,但它们仅依赖终端验证信号,缺乏BES的密集子目标反馈机制。第二,BES引入四个受进化生物学启发的算子:组合、删除、易位、交叉。这些算子使搜索能够重组不同候选的优势部分,突破自回归扩展的限制。现有进化方法如AlphaEvolve、ShinkaEvolve和ThetaEvolve也维持候选群体,但它们主要依赖LLM驱动的变异而非结构化的重组算子。第三,BES提供了严格的理论分析:证明扩展-only搜索被限制在窄熵壳(定理4.4a),进化算子能逃逸该壳(定理4.4b),后向子目标分解指数级减少所需候选数(定理4.5)。这些理论结果为BES的实证优势提供了坚实基础,这是现有搜索框架普遍缺乏的。
实验结果
BES在后训练和推理设置下均显著优于强基线。在逻辑推理后训练上,使用Gemma-3-1B-it基座模型,先在1K SFT样本上冷启动微调3个epoch,然后在5K问题上进行4个epoch后训练。如图3所示,由于训练集难度,GRPO和MaxRL在训练期间几乎没有改进,而BES在验证集上稳步改进,log(准确率)从约2.85提升到约2.75。在多跳推理后训练上,使用Llama-3.2-3B-Instruct时,BES准确率从4.0%提升至7.0%(+3.0%),GRPO降至2.1%(-1.9%),Tree-GRPO提升至3.9%(-0.1%)。使用Llama-3.1-8B-Instruct时,BES准确率从6.6%提升至10.4%(+3.8%),GRPO降至5.6%(-1.0%),Tree-GRPO提升至7.4%(+0.8%)。除准确率外,BES还产生显著更多有效搜索动作和更高完成率:3B模型上有效搜索数2.31vs 0.84(GRPO)和1.50(Tree-GRPO),完成率0.97vs 0.64;8B模型上有效搜索数2.11vs 1.46和0.65,完成率0.94vs 0.37和0.71。在开放问题推理上,使用GPT-5作为骨干,BES在Circle Packing (Square)上平均2.623±0.014,最佳2.632,优于OpenEvolve的2.531±0.018/2.541和GEPA的2.613±0.022/2.628。在Circle Packing (Rect.)上平均2.349±0.012,最佳2.360,优于OpenEvolve的2.267±0.014/2.276和GEPA的2.326±0.023/2.354。在Heilbronn (Convex)上平均0.026±0.001,最佳0.027,与GEPA相当但方差更小。BES在所有基准上表现出比所有基线更低的方差,表明搜索更稳定可靠。消融研究确认双向搜索和进化算子都是必要组件:移除答案重加权或移除进化算子都弱于完整BES但仍优于GRPO和MaxRL基线。成本分析显示BES的多跳推理训练中,每步墙钟时间309秒,相比Tree-GRPO的240秒仅增加约29%,而准确率从3.9%提升到7.0%。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| 逻辑推理 | 验证集准确率(log值) | 从2.85降至2.75(稳步改进) | GRPO和MaxRL无明显改进 | 在GRPO和MaxRL失败的困难任务上实现持续改进 |
| 多跳推理 | 准确率(%) | 7.0%(3B) / 10.4%(8B) | GRPO 2.1%(3B) / 5.6%(8B); Tree-GRPO 3.9%(3B) / 7.4%(8B) | +3.0%(3B) / +3.8%(8B) vs 基座模型; 显著优于GRPO和Tree-GRPO |
| Circle Packing (Square) | 平均目标值 | 2.623±0.014 | OpenEvolve 2.531±0.018; GEPA 2.613±0.022 | 优于所有开源框架,方差更小 |
| Circle Packing (Rect.) | 平均目标值 | 2.349±0.012 | OpenEvolve 2.267±0.014; GEPA 2.326±0.023 | 优于所有开源框架,方差更小 |
| 多跳推理 | 有效搜索数 | 2.31(3B) / 2.11(8B) | GRPO 0.84(3B) / 1.46(8B); Tree-GRPO 1.50(3B) / 0.65(8B) | 显著更多有效搜索动作,避免reward hacking |
| 多跳推理 | 完成率 | 0.97(3B) / 0.94(8B) | GRPO 0.64(3B) / 0.37(8B); Tree-GRPO 0.64(3B) / 0.71(8B) | 接近完美的完成率,基线学习跳过搜索动作直接猜测 |
局限与改进
作者在论文中承认了一些局限性:第一,BES的计算成本高于基线方法。在多跳推理训练中,每步墙钟时间309秒,相比GRPO的64秒和Tree-GRPO的240秒更高。在开放问题推理中,API成本从ShinkaEvolve的$11.5-$13.0增加到BES的$13.7-$18.6。第二,论文的理论假设在实际中可能不完全满足。定理4.4要求三个假设:有界每步惊讶(存在L使-log P(v|y_{<t})≤L)、衰减步依赖(存在可求和序列β_ℓ)、线性块总相关(块总相关至少γT)。虽然作者声称这些假设在实践中自然满足,但没有提供在具体任务上的验证。第三,论文专注于推理和后训练,但未探讨在大规模预训练阶段的应用。第四,进化算子的具体实现依赖于任务,在代码生成等设置下需要通过提示策略模型实现,这引入了额外的不确定性。本文观察到的额外限制:BES的性能依赖于验证器的质量,若验证器本身有缺陷,后向搜索可能引导错误方向。论文主要在相对较小的模型(Gemma-3-1B-it, Llama-3.2-3B, Llama-3.1-8B)上评估,在70B+参数模型上的可扩展性未验证。进化算子的选择和超参数(如K_max、τ_0、τ_end、α)需要针对任务调优,论文未提供通用原则。
独立分析的弱点
BES存在几个具体场景下的弱点:第一,在验证信号本身不可靠的场景下性能会显著下降。例如在主观文本生成任务中,验证器可能给出不一致或随机分数,后向搜索的目标分解将基于噪声信号,导致错误引导。改进方向是开发更鲁棒的验证器,如集成多个验证器或引入不确定性估计,在验证信号不可信时退化为标准搜索。第二,BES的计算开销限制了在实时应用中的可用性。在需要低延迟的场景如对话系统中,309秒的训练时间和$18.6的API成本不可接受。改进方向是开发轻量级变体,如减少进化算子数量、降低后向搜索频率或使用更小的骨干模型。第三,BES在处理连续或高维动作空间时可能受限。论文主要在推理任务和代码生成上评估,其中步骤是离散的推理片段或代码行。在机器人控制等连续控制任务中,组合和交叉等算子的语义不明确。改进方向是针对连续空间设计专门的进化算子,如插值、扰动和基于梯度的变异。第四,BES的性能对超参数敏感。温度退火调度τ_t、子目标分数权重α、探索奖励λ等都需要针对任务调整。改进方向是开发自适应超参数策略,如基于搜索进度动态调整温度,或使用元学习跨任务迁移最优超参数。
未来方向
作者提出的未来工作方向包括:扩展BES到更大规模的模型和更长的训练过程,验证在更大参数模型上的可扩展性;探索BES在其他任务领域如代码生成、机器人控制和科学发现中的应用;研究BES与其他自我改进方法的集成,如与Reflexion的口头反思或Voyager的技能积累结合。基于论文成果可延伸的方向:第一,开发自适应目标分解策略。论文中目标分解固定每K步重新调用一次,且叶节点选择策略未详细说明。可以基于搜索状态动态决定何时分解、选择哪个叶节点,甚至学习分解策略本身。第二,引入进化算子的学习机制。论文使用固定的四个算子和固定选择概率,可以学习每个算子的最优应用时机和参数,甚至用策略梯度训练算子选择策略。第三,探索BES在多智能体协作中的应用。每个智能体运行独立BES,通过进化算子交换发现的高质量轨迹片段,实现群体进化。第四,理论方向是放宽定理假设或建立更紧的界。论文假设线性块总相关且γ>0,可以研究在更弱假设下的保证,或分析实际任务中熵壳逃逸的概率。第五,开发BES的分布式实现以加速搜索。进化算子天然适合并行,可以设计分布式框架同时评估多个候选并共享结果。第六,研究BES与人类反馈的结合。人类可以提供高层次的子目标指导,加速后向搜索的初始化或纠正错误分解。第七,探索BES在开放域持续学习中的应用,使模型能够持续发现和整合新知识而不遗忘旧知识。
复现评估
论文声称代码和训练模型已开源于https://github.com/Embodied-Minds-Lab/BES,这有助于复现。论文提供了详细的实验配置附录,包括数据集、模型、训练超参数和评估指标。逻辑推理使用Knights-and-Knaves数据集,多跳推理使用MuSiQue,开放问题使用三个几何优化基准,这些都是公开可用的。然而存在一些复现挑战:第一,论文使用GPT-5作为开放问题推理的骨干模型,这是一个闭源且昂贵的模型,研究者可能无法访问。虽然作者说明BES可应用在ShinkaEvolve之上,但GPT-5的具体能力和成本可能影响结果。第二,论文未提供预训练的基础模型检查点,需要研究者自行冷启动微调。在Knights-and-Knaves上需要先生成1K SFT样本,在MuSiQue上需要设置Wikipedia离线服务器,这些基础设施可能增加复现难度。第三,论文未报告种子变动的方差,虽然报告了运行间方差(如Circle Packing上的±0.014),但未说明运行次数和统计显著性检验。第四,计算资源需求较高。多跳推理使用Llama-3.1-8B-Instruct,后训练需要GPU内存存储多个候选轨迹和后向目标树。开放问题推理需要大量API调用,成本可能超出学术预算。总体而言,论文提供了足够的细节和开源代码,研究者可以复现核心结果,但可能需要调整模型大小或减少搜索预算以适应有限资源。建议复现者从小规模任务开始(如Knights-and-Knaves),验证BES的基本机制,然后逐步扩展到更复杂任务。
论文图表