系统优化应成为CI/CD的一部分

Hacker News Top 工具

摘要

这篇博客文章介绍了LEVI,一个用于AI驱动系统研究(ADRS)的框架,该框架通过对大多数变异使用较小模型,并保留大型模型用于范式转换,降低了算法发现的成本,实现了3-7倍的成本降低。文章主张将ADRS集成到CI/CD中,以实现每次部署的持续定制优化。

暂无内容
查看原文
查看缓存全文

缓存时间: 2026/06/24 16:53

# LEVI:以更低的成本获得更好的 ADRS 结果 | ADRS — 面向系统的 AI 驱动研究 来源:https://ucbskyadrs.github.io/blog/levi/ > 本文是我们**AI 驱动系统研究(ADRS)**案例系列的一部分,该系列使用 AI 自动发现实际系统问题的更优算法。类似 OpenEvolve 和 GEPA 的算法发现框架已经证明,AI 驱动的系统研究(ADRS)能够产生强大的算法。但如今的框架对于 ADRS 下一步的发展方向来说过于昂贵。未来在于持续且定制化的优化,而非一次性的基准测试结果。系统应能针对部署的确切工作负载、硬件和服务等级目标(SLO)生成量身定制的解决方案,并随着这些因素的变化而自适应。当每次优化都耗费巨额成本时,这便无法实现。**LEVI**是一个围绕降低算法发现成本而构建的框架。它并非在每一步都使用最强、最昂贵的模型,而是投资于搜索框架本身:较小、较便宜的模型(例如 QWEN 30B)负责大多数变异操作,而较大的模型则保留用于较罕见的范式转换。这之所以成为可能,是因为 LEVI 在代码结构(如循环次数)和实际行为(如子集 x 上的性能)两个方面都维持着多样性,确保搜索存档不会坍缩到单一的解决方案家族中。其结果是,该框架能够以更低的成本获得更强的 ADRS 结果:在主要基准测试对比中,成本大约是基线方法的 3 到 7 分之一。 --- LLM 算法发现框架在交付强大的 ADRS 结果方面已展现出潜力。然而,一个关键瓶颈依然存在:**成本**。这篇博文将论述成本为何在 ADRS 中扮演重要角色,随后介绍 LEVI,一个以更低成本超越其他方法的算法发现框架。 现有框架需要使用昂贵且大型的闭源 LLM。这显而易见是有问题的。例如,它提高了准入门槛,因为大多数研究人员负担不起此类实验。但更重要的普遍问题是:ADRS 不应被看作是我们只运行一次以产生单一强结果的东西。 ## 让野蛮人扩散? 将成本降低数个数量级应该是 ADRS 自然而然的下一步。这是因为 ADRS 的结果不应被当作像通常系统论文那样的一次性研究成果。在通常的研究中,研究人员针对给定问题改进算法和启发式方法以得到更好的结果,然后工业界通过移植这些算法并使其适应自身环境来跟进。 相反,我们应该转向完全**定制化**的解决方案。每个解决方案都针对每个部署的确切设置和环境进行量身定制,从而榨取最大价值。 图 1:一次昂贵的 ADRS 运行服务所有人(上方) vs. 每次部署的廉价、定制化优化(下方)。 图 1:一次昂贵的 ADRS 运行服务所有人(上方) vs. 每次部署的廉价、定制化优化(下方)。 *图 1:一次昂贵的 ADRS 运行服务所有人(上方) vs. 每次部署的廉价、定制化优化(下方)。* 推论到极致,ADRS 应被视为一种更复杂的 CI/CD 形式。用户定义其评分函数和部署设置,而不仅仅是靠检查器或格式化工具自动修正风格和格式,算法本身也会被自动优化。随着资源(如新 GPU)或优先级(不同 SLO)发生变化,相应的算法也会自动优化。今天,运行多区域云调度器的企业使用的算法与其他人相同。借助更廉价的 ADRS,他们可以每晚针对实际流量模式、实际 SLO、实际硬件组合进行重新优化。 ## 介绍 LEVI:以更低成本实现基于 LLM 的优化 基于以上所述,这篇博文介绍了 LEVI:一个基于 LLM 的进化框架,能以更低成本在 ADRS 问题上达到 SOTA 性能。其核心洞见在于,太多框架假设可以访问最大的 SOTA 模型,并围绕它们构建其搜索框架。 ### 核心洞见:投资于搜索框架而非模型 假设可以使用最大的模型不应成为默认情况。事实上,最初的 FunSearch(https://www.nature.com/articles/s41586-023-06924-6)论文报告称无法从更大的模型中受益,直到 AlphaEvolve(https://deepmind.google/blog/alphaevolve-a-gemini-powered-coding-agent-for-designing-advanced-algorithms/)才取得成功。开源社区常常忽略了这一点,在每一步都使用最强的模型。相反,LEVI 采用框架优先的方法,通过两个关键组件:**分层模型分配**和**改进的多样性维持**。 图 2:LEVI 的架构:多样化种子初始化一个 CVT-MAP-Elites 存档;较小模型处理大多数变异;每 K 次评估,前沿模型注入范式转换。 图 2:LEVI 的架构:多样化种子初始化一个 CVT-MAP-Elites 存档;较小模型处理大多数变异;每 K 次评估,前沿模型注入范式转换。 *图 2:LEVI 的架构:多样化种子初始化一个 CVT-MAP-Elites 存档;较小模型处理大多数变异;每 K 次评估,前沿模型注入范式转换。* ### 分层模型分配 前沿模型有帮助,但如果用于每次变异就是浪费。在预算紧张的情况下,较小的 LLM 实际上可能更受青睐,因为它们产生的解决方案数量巨大,足以抵消较大模型的质量优势。然而,较小模型的预训练分布较窄,限制了其想法范围以及提出根本不同方法的能力。没有哪一类模型严格优于另一类;它们只是各有优势。 一些现有框架已经支持多个模型,但将它们视为可互换的,从集成模型中均匀采样或在调用时随机分配,而不考虑变异实际需要什么。这忽略了自然的非对称性:提出全新的算法方向需要广泛的知识和创造性推理,而改进现有方法(调整常数、重排序操作、调优边界情况)则远不需要如此。搜索框架应该意识到这种区别并进行相应的分配。 LEVI 引入了分层模型分配,将模型能力与任务需求相匹配。较小、较便宜的模型处理搜索的大部分工作:在既定算法家族内进行局部优化和增量改进。较大的模型则保留给不频繁的**范式转换**:旨在提出结构上不同方法的变异,而不是打磨现有方法。其原则很简单:将每个模型分配到其优势领域。小模型用于广度和吞吐量,大模型用于创造性飞跃。 然而,这引出了两个问题。首先,我们如何从每个算法家族中选择代表性解决方案,为较大模型提供有意义的范式转换上下文?其次,既然我们现在更依赖较小模型及其输出数量,我们需要一个更健壮的机制来防止存档收敛。 > *LEVI 将模型能力与任务需求相匹配:廉价模型(例如本地的 QWEN 30B)用于优化,昂贵模型用于范式转换。* ### 改进的多样性维持 **统一结构与行为多样性。**现有框架需要前沿模型的一个不太明显的原因是,这些模型承担了双重职责。它们更大的输出空间隐式地维持了多样性:GPT-5 或 Claude Opus 自然会产生比 30B 模型更广泛的解决方案分布,而忽略了存档本身没有强机制来防止收敛。当多样性确实崩溃时,应对措施是在上层增加复杂性:从使用更多 LLM 调用的拒绝采样到使用嵌入模型。这些都是对薄弱基础的补偿,而非根本问题的解决方案。 根本问题是现有框架仅沿一个轴维持多样性,而且是一个狭窄的轴。OpenEvolve 考虑结构特征如代码长度;GEPA 通过帕累托前沿考虑每个实例的性能权衡(在实践中通常比前述机制更强大)。两者都捕捉到了某些真实的东西,但都没有捕捉到全貌。仅考虑结构会忽略行为差异:两个具有不同循环次数的程序可能以相同方式解决问题。仅考虑每个实例的得分会忽略那些在单个实例上表现相似但工作方式根本不同的解决方案。 LEVI 没有选择单一轴,而是将两者用作单一行为描述符的维度。每个解决方案都映射到一个指纹:一个结合了代码结构特征(超越简单维度如代码长度,包括循环次数、圈复杂度等度量)和每个实例行为结果的向量,所有内容都经过归一化并投影到 [0, 1]。该框架在此处也很灵活:当默认维度不适合其问题时,用户可以定义自己的维度。 该指纹存在于 CVT-MAP-Elites 存档中,其中对组合空间进行的 Voronoi 镶嵌保持了任何一个轴单独都无法提供的几何结构。存档中保存了具有不同维度值的多样化解决方案集。这也直接回答了上一部分中的第一个问题:Voronoi 区域自然地将解决方案聚类为算法家族,为我们提供了用于范式转换的代表性解决方案。 **存档初始化。**传统 CVT-MAP-Elites 在描述符空间上均匀初始化质心。在我们使用的更高维度(6 到 10 维)下,这会导致极其稀疏的镶嵌,大多数区域永远不会被访问。LEVI 采用数据驱动的方法;它通过顺序生成创建一组刻意独特的方法(无论得分如何),然后使用这些方法来创建初始质心。这确保了存档基于已知不同的解决方案。 > LEVI 通过在结构和行为上的共享指纹空间来维持多样性,因此存档本身承担了更多的多样性负担,而不是像以前那样严重依赖越来越强的模型或辅助启发式方法。 ### 开始使用 LEVI(Python API) 以下是一个 LEVI 示例程序,优化一个虚拟的装箱问题。所有框架细节都被抽象化,用户可以专注于定义问题。 `` import levi def score_fn(pack): bins = pack([4, 8, 1, 4, 2, 1], 10) wasted = sum(10 - sum(b) for b in bins) return {"score": max(0.0, 100.0 - wasted)} result = levi.evolve_code( "优化装箱问题,最小化浪费空间", function_signature="def pack(items, bin_capacity):", score_fn=score_fn, model="openai/gpt-4o-mini", budget_dollars=2.0, ) `` 亲自尝试 LEVI:github.com/ttanv/levi(https://github.com/ttanv/levi)! ## ADRS 基准测试结果 在所有可能改进的问题上,LEVI 都取得了最高分数,平均得分 76.5,而次优框架(GEPA)为 71.9,相比先前的 SOTA 提高了 +4.6 分。在 Cloudcast 上,LEVI 达到了完美的 100.0,表明在该基准测试的评分函数下问题已被完全解决。最大的改进出现在 LLM-SQL(+5.8)和 Spot Multi(+5.7)上,而 Spot Single(+0.3)和 Transaction Scheduling(+1.1)上的较小改进反映了这些问题的决策空间较小或优化曲面更困难。Prism 在所有框架上均为 87.4,证实了当前问题公式允许一种主导性解决方案。 **Framework****Avg****Cloudcast****EPLB****LLM-SQL****Prism****Spot Multi-Reg****Spot Single-Reg****Txn Sched** **GEPA**(https://gepa-ai.github.io/gepa/)71.9 96.6 70.2 67.7 **87.4** 62.2 51.4 67.7 **OpenEvolve**(https://github.com/algorithmicsuperintelligence/openevolve)70.6 92.9 62.0 72.5 **87.4** 66.7 42.5 70.0 **ShinkaEvolve**(https://github.com/SakanaAI/ShinkaEvolve)67.4 72.0 66.4 68.5 **87.4** 63.6 45.6 68.2 **LEVI**(https://github.com/ttanv/levi)**76.5** **100.0** **74.6** **78.3** **87.4** **72.4** **51.7** **71.1** *表 1:ADRS 基准测试得分(%)。粗体表示每个问题的最佳得分。在所有可能改进的问题上,LEVI 都取得了最高分数。* ### 成本 图 3:每个问题的成本:LEVI 与最便宜的已报告基线对比。节省范围从 1.5 倍到 6.7 倍。总计节省超过 100 美元。 图 3:每个问题的成本:LEVI 与最便宜的已报告基线对比。节省范围从 1.5 倍到 6.7 倍。总计节省超过 100 美元。 *图 3:每个问题的成本:LEVI 与最便宜的已报告基线对比。节省范围从 1.5 倍到 6.7 倍。总计节省超过 100 美元。* LEVI 的分层分配是降低成本的主要驱动力。通过将大多数变异路由到轻量级模型,每代的成本相比使用 GPT-5 或 Gemini-3.0-Pro 进行每次调用的基线降低了大约一个数量级。这使得 LEVI 能够运行显著更多的代数,同时总花费仍然更少:大多数任务每个问题 4.50 美元(Transaction Scheduling:13 美元),而基线为 15 到 30 美元。 成本的降低证明了框架优先方法是有效的。当存档维持多样性时,廉价模型就足以完成大部分搜索。 ### 受控架构比较 相同模型、相同预算、三个种子:隔离搜索架构的贡献。 主要结果比较的是在模型选择、预算和架构上同时不同的框架。为了隔离搜索架构的贡献,我们在相同条件下运行 LEVI、OpenEvolve 和 GEPA:单个本地服务的 Qwen3-30B-A3B 模型,750 次成功评估,以及两个代表性问题上的三个随机种子。OpenEvolve 需要将父代数量从 5 减少到 2 以适应较小的模型,但仍产生许多失败。我们报告成功评估次数而非总次数,以便给 OpenEvolve 一个公平的比较。 **Transaction Scheduling**是一个 NP 难排序问题的变体,其中多种算法家族(贪婪、模拟退火、遗传)都可行,但性能是在单个实例上测量的,这使基于帕累托的多样性没有可用的权衡空间。LEVI 在前 100 次评估内达到了 62 分,这是两个基线在任何时候都未达到的水平。最终得分:LEVI 64.9,OpenEvolve 59.9,GEPA 54.4。两个基线都急剧趋于平缓,与早期收敛到单一算法家族的情况一致;LEVI 的曲线在评估超过 500 次后继续上升。 图 4:Transaction Scheduling,受控实验(Qwen3-30B,750 次评估,3 个种子)。LEVI 在 100 次评估内达到 62 分;两个基线在任何时候都未达到该水平。 图 4:Transaction Scheduling,受控实验(Qwen3-30B,750 次评估,3 个种子)。LEVI 在 100 次评估内达到 62 分;两个基线在任何时候都未达到该水平。 *图 4:Transaction Scheduling,受控实验(Qwen3-30B,750 次评估,3 个种子)。LEVI 在 100 次评估内达到 62 分;两个基线在任何时候都未达到该水平。* **Can't Be Late**在 1,080 次模拟上进行评分,这给基于帕累托的方法提供了更丰富的信号。最终得分差距缩小(LEVI 44.9,OpenEvolve 43.2,GEPA 37.5),但效率差距急剧扩大。LEVI 在大约第 50 次评估时达到接近峰值性能,而 OpenEvolve 需要超过 600 次评估才能接近相同水平,样本效率优势约为 12 倍。 图 5:

相似文章

@leerob: https://x.com/leerob/status/2065469795529588940

X AI KOLs Following

Cursor AI 描述了其用于扩展 Composer 模型训练的递归代理系统,该系统使用一组自我管理的代理,在出现问题时向人类发出警报。该系统支持并行实验并加速研究,将研究人员的时间视为最稀缺的资源。

AI agents 正在改变人们对计算成本的看法

Reddit r/AI_Agents

本文讨论了AI代理工作流如何将优化重心从单纯的推理成本转向更广泛的挑战,如延迟、编排开销和可靠性。文章强调了向混合架构和动态模型路由发展的趋势,以应对这些多步骤工作流的复杂性。