Meta AI 开源 Rebalancer:一个 C++ 分配求解器,每天处理约 4000 万个放置问题

Meta 把内部跑了 9 年的资源分配求解器 Rebalancer 以 Apache 2.0 协议开源,它用 C++ 编写、提供 Python 接口,每天处理约 4000 万个“把对象放进箱子”的放置问题,并附带了调试 UI 和 PyPI 安装包。

一句话看懂:Meta 把内部跑了 9 年的资源分配求解器 Rebalancer 以 Apache 2.0 协议开源,它用 C++ 编写、提供 Python 接口,每天处理约 4000 万个“把对象放进箱子”的放置问题,并附带了调试 UI 和 PyPI 安装包。

事件核心:发生了什么

Meta AI 开源了 Rebalancer,一个用于求解分配问题(assignment problem)的 C++ 库,同时提供 Python 接口,已发布 v1.0.4,支持 Python 3.12+,Linux x86-64 和 macOS 14+ ARM64 有预编译 wheel,也可通过 .deb、.rpm 和 Homebrew 安装,PyPI 目前仍标注为 Alpha。它的设计思路是把“问题怎么描述”和“问题怎么求解”拆开:用户用规格语言定义维度、分区、作用域和利用率,编译器将其转成有向无环表达式图,再交给两条求解路径——小规模问题转成混合整数规划,调用 FICO Xpress、Gurobi 或 HiGHS;大规模问题直接在图做并行局部搜索。据 Meta 工程博客,Rebalancer 已在内部运行超过 9 年,覆盖 30 多种问题形式,每天约 4000 万次求解,P99 时延 12 秒(26.5 万对象、3200 个箱子),百万级对象、5000 个箱子的难题平均耗时 171 秒。

为什么重要

分配问题在超大规模基础设施里几乎无处不在:机架进数据中心、服务器分配给服务、任务落到具体机器、用户流量调度到区域。这类问题很多是 NP-hard,商业求解器在 Meta 的规模下往往跑不动。Rebalancer 的价值在于它把一套经过生产验证的工程方案公开出来,尤其是“表达式图 + 局部搜索”的路线,和传统 MIP 求解器形成互补。开源之后,它直接对标 Google OR-Tools 和 Timefold Solver:OR-Tools 覆盖面更广(CP-SAT、路由、装箱等),Timefold 以 Java 生态和规划类问题见长,而 Rebalancer 聚焦通用分配场景,并罕见地提供了调试 UI Rebalancer Explorer,用来查看约束绑定、松弛效果和对象落位原因。目前公开信息显示,这类带生产级调试工具的开源求解器并不多见。

对用户/开发者/创作者的影响

对开发者来说,最直接的变化是 pip install rebalancer 就能在 Python 项目里试用,适合把分片、容器、任务放到集群,或在 CPU、内存约束下做区域流量调度。对做调度、排班、资源映射的团队,它提供了一个可参考的实现范式:先用 MIP 做小规模原型,再切到局部搜索处理大规模实例。对企业采购而言,Apache 2.0 协议降低了合规顾虑,但 Alpha 状态意味着生产使用前需要评估稳定性。对普通用户和创作者,这类工具不直接可见,但它支撑的是 Meta 内部 Shard Manager、RAS、Taiji 等系统的稳定性,间接影响服务可用性和成本。

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

值得关注的后续

一是 PyPI 上的 Alpha 标签何时转为稳定版,API 是否会有破坏性变更;二是社区会不会围绕表达式图和 Rebalancer Explorer 形成生态,比如补更多求解后端或语言绑定;三是 Google OR-Tools、Timefold 等竞品是否会在分配场景和调试体验上跟进。这些将决定 Rebalancer 是停留在 Meta 内部经验的公开存档,还是成为开发者真正会用的通用求解器。

来源:MarkTechPost Research

celebrityanime
celebrityanime
文章: 27738

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注