MLEvolve:用于自动机器学习算法发现的自进化框架 MLEvolve: A Self-Evolving Framework for Automated Machine Learning Algorithm Discovery
基于LLM的自进化多代理框架,通过渐进图搜索、回顾记忆和分层规划实现端到端ML算法自动发现
前置知识
蒙特卡洛树搜索(MCTS)
一种通过随机采样和树结构探索来优化决策的算法。它通过四个步骤迭代:选择、扩展、模拟和回传。选择阶段从根节点向下选择最有潜力的节点,扩展阶段为选定的节点添加新的子节点,模拟阶段从新节点开始随机进行模拟直到结束,回传阶段将模拟结果向上传播更新路径上所有节点的统计信息。MCTS在游戏AI和规划问题中广泛应用,能够在有限的计算预算内找到接近最优的策略。其核心优势在于平衡了探索和利用,通过访问次数和平均奖励的组合来指导选择策略。
本文的Progressive MCGS是MCTS的扩展版本,理解MCTS的基本原理对于掌握文中提出的图搜索机制至关重要,因为图搜索在MCTS基础上引入了跨分支的信息流动和渐进探索调度。
机器学习工程(MLE)
指从数据预处理、特征工程、模型选择、训练调优到推理部署的端到端机器学习流程。与传统的机器学习研究侧重于算法创新不同,MLE更关注如何将算法落地到实际应用中,涉及数据管道构建、超参数优化、模型评估、性能监控等工程化环节。MLE-Bench是OpenAI提出的评估MLE自动化程度的基准测试集,包含75个Kaggle竞赛任务,涵盖了图像分类、自然语言处理、音频处理等多个领域和不同复杂度级别。
本文的核心应用场景就是自动化MLE流程,理解MLE的完整流程有助于理解文中框架设计的各个模块的作用,包括数据预处理、模型训练、评估和迭代优化等环节的自动化处理。
倒排排名融合(RRF)
一种结合多个检索系统结果的排序融合算法。对于每个文档,RRF计算其在不同检索系统中的排名倒数之和。具体公式中包含一个平滑常数k和文档在各系统中的排名。RRF能够有效融合不同检索方法的优势,如基于关键词的精确匹配和基于向量空间的语义相似度,提高检索的准确性和鲁棒性。相比简单的平均或最大融合,RRF对单个系统的极端表现不敏感,更加稳定和可靠。
本文的Retrospective Memory组件使用RRF来融合BM25关键词检索和FAISS语义检索的结果,理解RRF有助于理解记忆检索机制的设计和为什么采用这种混合检索策略。
Shannon熵
衡量信息不确定性的基本概念,定义为概率分布的对数加权和。在搜索问题中,熵可以用来量化搜索策略的探索程度。高熵表示搜索资源均匀分布在多个候选上,对应强探索状态;低熵表示资源集中在少数优秀候选上,对应强利用状态。熵的值域通常在0到log(n)之间,其中n是可能的状态数。本文使用分支选择分布的熵来指导搜索从探索到利用的渐进转换,通过监测和控制熵的变化来实现自适应的搜索策略。
本文的Progressive MCGS使用熵作为驱动渐进探索调度的核心指标,理解熵的概念对于理解搜索策略的自适应机制至关重要,因为它提供了量化的探索-利用平衡度量。
研究动机
现有的机器学习工程自动化代理在长周期任务中面临三个关键挑战。首先是分支间的信息隔离问题,大多数方法采用线性或树形搜索结构,如AIDE的贪婪搜索、ML-Master和AIRA-Dojo使用的MCTS,这些结构将信息限制在单个分支内,难以跨搜索轨迹转移成功策略。在MLE-Bench的75个Kaggle竞赛任务中,这种局限导致搜索资源浪费在重复探索相似的失败路径上。其次是记忆缺失的搜索问题,当前搜索框架只传播标量奖励,导致每次规划决策都是孤立进行的,无法复用早期搜索中的类似尝试经验。虽然像AutoMind和ML-Master 2.0等方法探索了记忆机制,但需要额外的LLM调用或仅提供静态知识,无法实现真正的经验积累。第三是缺乏层次控制的单次生成问题,许多方法在每次迭代时重写整个解决方案,如MARS和AIRA-Dojo,导致迭代效率低且修改不可控,无法区分战略层面的改什么和战术层面的怎么实现。这些局限使得现有代理在24小时预算下的平均奖牌率通常在43.6%到63.1%之间,难以突破性能瓶颈。
本文的目标是本文的目标是构建一个能够持续自我进化的多代理框架,用于端到端的机器学习算法发现。具体来说,框架需要解决三个核心问题:实现跨分支的信息流动和经验复用,打破传统搜索结构的分支隔离;建立能够自动积累和检索任务特定经验的记忆机制,实现真正的经验驱动决策;分离战略规划和代码实现以实现层次化的自适应代码生成,提高迭代效率和稳定性。最终目标是在有限时间预算内实现更高的自动化MLE性能,包括更高的平均奖牌率、有效提交率和超过人类中位数的比率。实验显示,在12小时预算下(仅为标准运行时间的一半)实现65.3%的平均奖牌率,超越所有基线方法。
与已有工作不同的是,本文的独特切入角度是从自我进化的视角重新审视长周期MLE任务,将传统的静态搜索框架转变为能够持续适应、积累经验、细化解决方案的动态系统。与现有方法相比,本文不是简单地为MCTS添加记忆或采用多代理协作,而是从根本上重新设计搜索结构、搜索策略、记忆机制和代码生成方式。这种整体性的方法创新使得代理能够在长周期优化中持续进化,而不是在局部最优附近徘徊。现有方法大多将MLE自动化视为一次性优化问题,而本文将其视为持续自我进化的过程,这个视角的转变带来了框架设计的根本性差异。
核心方法
MLEvolve的核心思路是将长周期的MLE任务建模为一个自进化的优化过程,通过三个协同工作的组件实现。首先,Progressive Monte Carlo Graph Search将传统的树搜索扩展为图结构,通过参考边实现跨分支的信息流动,并采用熵启发的渐进调度策略使搜索从广泛探索逐渐转向集中利用。其次,Retrospective Memory结合静态领域知识库和动态全局记忆,在冷启动阶段提供领域先验,在搜索过程中自动积累和检索任务特定的经验。最后,Hierarchical Planning with Adaptive Code Generation将战略规划与代码实现解耦,根据当前搜索状态自适应选择完整重写、逐步生成或差异编辑等不同粒度的代码生成模式。这三个组件协同工作,使得代理能够在长周期任务中持续进化:通过图搜索探索多种候选路径,通过记忆机制积累和复用经验,通过层次化规划实现稳定的迭代改进。整个框架通过多代理协作实现,每个代理专注于特定的搜索阶段或操作类型,形成高效的分工协作机制。
本文的核心创新在于将MLE自动化问题从一次性优化重新定义为持续自我进化的过程。与现有方法的本质区别在于:第一,将搜索空间从树结构扩展为图结构,引入参考边实现跨分支的知识流动,而传统方法的搜索空间是严格分层的,分支间无法直接交互。第二,引入熵驱动的渐进探索调度,通过时间依赖的权重在UCT探索和精英引导利用之间进行软切换,而传统方法使用固定的探索参数。第三,建立无需额外LLM调用的自动记忆积累机制,每次有效执行后自动记录计划、结果、分析和反馈,而传统方法需要显式的反思步骤或仅依赖静态知识。第四,实现planner-coder解耦和自适应代码生成,根据搜索状态选择不同粒度的生成模式,而传统方法通常采用单次完整重写。这种设计使得MLEvolve能够在长周期优化中持续适应和进化,而不是陷入局部最优或重复尝试无效策略。
方法步骤详情
MLEvolve的完整工作流程包含多个关键步骤。第一步是初始化,从领域知识库中检索与任务类型相关的模型候选和使用指南,生成初始计划。领域知识库按任务类型组织,提供适合的模型和简洁的使用指南,从开源仓库和竞赛平台合成。第二步是图搜索迭代,每轮迭代包括选择、扩展、模拟和回传四个子步骤。选择阶段在主边形成的树骨干上使用UCT准则选择扩展节点,探索参数随时间逐渐减小。同时根据概率在UCT探索和精英引导利用之间切换,精英模式下从全局Top-K节点中按逆排名加权选择。扩展阶段根据停滞检测条件选择四种扩展类型之一:主扩展、分支内进化、跨分支引用或多分支聚合,生成新节点并建立主边和参考边。模拟阶段在解释器中执行新节点的代码,解析输出提取任务特定指标和执行日志,计算即时奖励:执行失败为负一,成功但不改进分支最佳为一,成功并刷新分支最佳为二。回传阶段仅沿主边将奖励传播到根节点,更新每个祖先节点的访问次数和累积奖励,计算平均价值估计。第三步是记忆检索和更新,在规划阶段使用生成的自由文本计划作为查询,通过混合检索检索相关的成功和失败经验,指导计划细化为模块级规范;在调试阶段使用错误消息作为查询,检索记忆中类似的已解决错误。每次有效执行后,将计划、结果、分析和反馈信号以结构化记录形式存储到全局记忆中。第四步是层次化规划与自适应代码生成,planner在模块级别使用执行反馈、分支轨迹和检索记忆决定修改什么和为什么,coder在代码级别实现计划的修改,根据当前搜索状态选择三种编码模式之一:Base模式从零完整生成用于初始草稿,Stepwise模式按模块逐步生成用于复杂多阶段管道,Diff模式对现有代码进行目标差异编辑用于已有可行解决方案时的局部细化。
技术新颖性
本文的技术新颖性体现在多个层面。在搜索结构层面,首次将MCGS应用于开放式的LLM代码生成场景,节点代表不同的候选解决方案而非状态空间压缩,图结构的目的不是压缩状态空间而是实现跨分支信息流动、轨迹复用和解决方案组合。在搜索策略层面,首次引入熵启发的渐进探索调度,将分支选择分布的Shannon熵作为搜索分散程度的度量,通过软切换机制实现从高熵探索到低熵利用的自适应过渡,而传统方法使用固定的探索参数或在探索-利用间硬切换。在记忆机制层面,首次提出无需额外LLM调用的自动经验积累机制,每次有效执行后自动记录完整经验,通过混合检索实现阶段感知的检索,而传统方法需要显式的反思步骤或仅依赖静态知识库。在代码生成层面,首次实现planner-coder解耦和自适应粒度选择,根据搜索状态动态选择完整重写、逐步生成或差异编辑,而传统方法通常采用单次完整重写。这些技术创新的协同作用使得MLEvolve能够在长周期优化中实现真正的自我进化,持续适应搜索状态、积累经验和细化解决方案。
实验结果
在MLE-Bench的75个任务全集上,MLEvolve在12小时预算(标准24小时的一半)下实现了65.3%的平均奖牌率和34.7%的金牌率,达到所有比较的MLE代理中的最佳性能。结果在不同难度级别上保持一致:低复杂度任务的奖牌率为80.3%,中等复杂度为64.0%,高复杂度为46.7%。此外,MLEvolve实现了100%的有效提交率和76.0%的超过中位数率,意味着在超过四分之三的任务中其提交超过了人类Kaggle得分的中位数。在开源基线中,AIDE使用o1-preview在24小时预算下的平均奖牌率为17.1%,R&D-Agent使用GPT-5在12小时预算下为35.1%,ML-Master使用DeepSeek-R1在12小时预算下为29.3%,AIRA-Dojo使用o3在24小时预算下为31.6%,Leeroo使用Gemini-3-Pro-preview在24小时预算下为50.7%,ML-Master 2.0使用DeepSeek-V3.2-Special在24小时预算下为56.4%。在专有方法中,FM-Agent使用Gemini-2.5-Pro在24小时预算下为43.6%,MLE-STAR-Pro-1.5使用Gemini-2.5-Pro在24小时预算下为44.0%,MARS使用Gemini-3-Pro-preview在24小时预算下为56.0%,MARS+使用Gemini-3-Pro-preview在24小时预算下为62.7%,AIBuildAI使用Claude-Opus-4.6在24小时预算下为63.1%。MLEvolve在半预算下超越了所有基线,证明了其自进化机制的有效性。在AlphaEvolve的15个数学优化任务上,MLEvolve在11个任务上达到最佳结果,超越了包括AlphaEvolve、AlphaEvolve-v2、SimpleTES、TTT-Discover和OpenEvolve在内的专门算法发现方法,证明了跨域泛化能力。消融实验表明,移除Progressive MCGS导致奖牌率从81.82%降至68.18%,移除Retrospective Memory降至68.18%,移除Adaptive Code Generation降至72.73%,验证了三个组件的有效性。渐进搜索熵动力学分析显示,MLEvolve的有效分支数量从早期探索阶段的4.8逐渐减少到后期利用阶段的2.8,而Vanilla MCTS在整个搜索过程中保持在约4.3,验证了软切换调度的有效性。性能随时间分析显示,MLEvolve在早期阶段快速改进,并在中期和后期阶段持续改进,最终达到98.2%的击败率,而Vanilla MCTS在早期平台后就难以进一步改进。使用不同LLM骨干的实验表明,MLEvolve在Gemini-3.1-Pro-preview、GPT-5.5、DeepSeek-v4-Pro和Kimi-K2.6四个骨干上均保持有效,不同骨干在不同领域表现出优势:GPT-5.5在NLP任务上达到96.2%的击败率,Kimi-K2.6在评估的音频任务上达到99.2%,表明框架不与特定LLM骨干紧密耦合。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| MLE-Bench全集合(75个Kaggle任务) | 平均奖牌率(12小时预算) | 65.3% | AIBuildAI(24小时)63.1% | +2.2个百分点(在半预算下) |
| MLE-Bench全集合(75个Kaggle任务) | 金牌率(12小时预算) | 34.7% | MARS+(24小时)33.8% | +0.9个百分点(在半预算下) |
| MLE-Bench全集合(75个Kaggle任务) | 有效提交率(12小时预算) | 100% | MARS+(24小时)100% | 持平(在半预算下) |
| MLE-Bench全集合(75个Kaggle任务) | 超过中位数率(12小时预算) | 76.0% | AIBuildAI(24小时)71.1% | +4.9个百分点(在半预算下) |
| AlphaEvolve数学优化任务(15个任务) | 最佳任务数 | 11/15 | AlphaEvolve | 在11个任务上超越专门方法 |
| MLE-Bench精简版(22个任务) | 奖牌率 | 81.82% | 无Progressive MCGS | +13.64个百分点 |
| MLE-Bench精简版(22个任务) | 奖牌率 | 81.82% | 无Retrospective Memory | +13.64个百分点 |
| MLE-Bench精简版(22个任务) | 奖牌率 | 81.82% | 无Adaptive Code Generation | +9.09个百分点 |
局限与改进
作者在论文中承认了一些局限性。首先,虽然MLEvolve在MLE-Bench和数学优化任务上表现出色,但尚未在更广泛的AI for Science场景(如自动科学实验、跨学科算法发现和自主研究工作流)上进行评估,这些场景可能面临不同的挑战,如实验噪声、不确定性更高、搜索空间更开放等。其次,虽然框架支持不同的LLM骨干,但不同骨干在不同领域的性能差异可能在实际应用中需要针对特定任务选择最优骨干,这增加了部署的复杂性。第三,虽然Retrospective Memory实现了自动经验积累,但记忆的容量、检索效率和跨任务迁移能力尚未进行系统性研究,在更大规模和更长时间尺度的任务中可能会遇到记忆爆炸或检索延迟问题。第四,虽然渐进探索调度在实验中表现出色,但其超参数需要针对不同任务进行调整,可能限制即插即用的适用性。第五,虽然框架实现了多代理协作,但代理间的协调机制和通信效率尚未进行深入优化,在大规模并行搜索时可能会遇到协调瓶颈。此外,从观察来看,MLEvolve的计算资源需求仍然较高,这可能限制其在资源受限环境中的应用。另外,虽然框架在12小时预算下超越了24小时预算的基线,但与人类顶尖Kaggle选手相比仍有差距,特别是在高复杂度任务上46.7%的奖牌率表明框架在处理最复杂任务时仍有改进空间。
独立分析的弱点
独立分析来看,MLEvolve存在几个具体的弱点。首先,记忆检索的混合权重是固定的,但在搜索的不同阶段,关键词检索和语义检索的相对重要性可能不同,早期阶段可能更需要语义检索来探索新颖方向,后期阶段可能更需要关键词检索来精确匹配相关经验。改进方向是实现阶段感知的自适应权重调整,根据搜索进度和任务特征动态调整混合权重。其次,停滞检测的阈值是固定的,但在不同任务中停滞的定义和持续时间可能不同,对于某些任务可能过早触发跨分支引用,浪费计算资源,对于其他任务可能过晚触发,错失改进机会。改进方向是实现任务自适应的停滞检测机制,基于历史性能改进率动态调整阈值。第三,精英引导利用中的Top-K节点数量是固定的,但在搜索的不同阶段,精英集合的大小可能需要动态调整,早期阶段可能需要更大的精英集合来保留多样性,后期阶段可能需要更小的精英集合来集中利用。改进方向是实现时间依赖的精英集合大小调整,根据搜索进度和分支多样性动态调整K值。第四,虽然框架支持不同的编码模式,但模式选择是基于简单规则的,可能无法充分利用每种模式的优势,例如在某些情况下混合使用多种模式可能更有效。改进方向是实现基于学习的模式选择策略,考虑任务特征、搜索历史和当前性能等多个因素。第五,虽然框架实现了跨分支信息流动,但参考边的权重和传播机制尚未深入研究,不同类型的引用可能有不同的信息价值和传播路径,当前统一的扩展策略可能不是最优的。改进方向是实现类型感知的参考边权重和传播机制,根据引用类型和上下文动态调整信息流动。第六,框架在处理超大规模搜索空间时可能会遇到节点爆炸问题,当前的记忆机制虽然实现了经验积累,但节点数量仍然可能快速增长,导致内存和计算压力。改进方向是实现节点压缩和剪枝机制,基于性能和相似度合并冗余节点或剪枝低价值节点。
未来方向
作者提出的未来工作方向包括将MLEvolve扩展到更广泛的AI for Science场景,如自动科学实验、跨学科算法发现和自主研究工作流。这些场景将面临新的挑战,如实验噪声和不确定性更高、搜索空间更开放、验证成本更高、需要领域专家知识等,需要相应的框架扩展。基于MLEvolve的成果,可以延伸出多个研究方向。第一,多模态和跨领域迁移学习,当前的记忆机制主要针对单个任务内的经验积累,未来可以实现跨任务和跨领域的知识迁移,建立层次化的记忆结构,支持从简单任务到复杂任务的知识蒸馏和迁移。第二,人机协作增强,虽然MLEvolve实现了高度自动化,但在某些场景中人类专家的干预和指导可能仍然有价值,未来可以实现交互式的人机协作机制,允许人类专家在关键时刻提供指导或验证框架的决策。第三,可解释性和可视化增强,当前框架的决策过程缺乏透明的解释,未来可以实现详细的决策追踪和可视化,帮助用户理解框架的推理过程和验证其决策的合理性。第四,分布式和并行计算优化,当前框架虽然支持多代理协作,但在大规模分布式环境下的协调和效率优化尚未深入研究,未来可以实现更高效的分布式搜索机制,支持跨节点的任务分配、结果聚合和负载均衡。第五,在线学习和持续改进,当前框架在单个任务运行结束后停止,未来可以实现在线学习机制,在任务执行过程中持续更新记忆和策略,并支持跨任务的持续改进和知识积累。第六,安全性和鲁棒性增强,当前框架假设代码执行环境是安全的,但在实际应用中可能面临恶意代码、无限循环、资源耗尽等安全风险,未来可以实现沙箱执行、资源限制和异常检测等安全机制,提高框架的鲁棒性和可靠性。
复现评估
MLEvolve的代码已在GitHub上开源(https://github.com/InternScience/MLEvolve),包括完整的实现、实验脚本和配置文件。数据方面,MLE-Bench是公开的基准测试集,包含75个Kaggle竞赛任务的数据和评估指标,AlphaEvolve的15个数学优化任务也是公开可用的。算力需求较高,每个任务分配21 vCPUs、234 GB RAM和单个NVIDIA H200 GPU,最大扩展步数500步,运行时间12小时。完整的超参数设置在附录D中提供,包括探索参数调度、停滞检测阈值、记忆检索参数等。复现难度中等偏高,主要挑战在于需要较高的计算资源和较长的运行时间,但由于代码开源且文档详细,具备相应资源的团队应该能够复现主要结果。需要注意的是,实验中使用的LLM骨干可能需要相应的API访问或本地部署,这可能会增加复现的成本和复杂性。此外,由于LLM的不确定性,即使使用相同的种子,复现的结果也可能与论文报告的结果有一定偏差,但总体趋势和相对性能应该是一致的。
论文图表
该图展示了MLEvolve的整体架构,包括现有方法的三个局限性(分支隔离、无记忆搜索、缺乏层次控制的单次生成)以及MLEvolve的三个核心组件(Progressive MCGS、Retrospective Memory、分层规划与自适应代码生成)。图的左侧列出了MLEvolve支持的任务类型,包括MLE-Bench(75个Kaggle竞赛)和AlphaEvolve数学算法问题。图的中心展示了框架的流程,从根节点开始,通过渐进MCGS进行探索,结合回顾记忆(包括领域知识库和全局经验)和自适应代码生成(planner和coder),最终产生最佳解决方案。图的不同部分用不同颜色区分,清晰展示了框架的模块化设计和组件间的交互关系。
这张图对理解论文至关重要,因为它在一张图中总结了论文的核心动机、主要创新和应用场景。它直观地展示了MLEvolve如何解决现有方法的三个关键局限性,以及三个核心组件如何协同工作实现自我进化的长周期优化。对于读者快速把握论文的整体贡献和框架设计非常有帮助。