⚙️ AI 工程化 · 基础设施

告别散装训练脚本:Yelp 用 DAG 编排引擎统一机器学习流水线

各团队自行编写 Spark 脚本、配置割裂、验证需等数小时——面对大型 AI 平台普遍的碎片化顽疾,点评巨头 Yelp 内部上线 Training Orchestrator,以声明式配置驱动 DAG 执行,将模型训练的「运行什么」与「如何运行」彻底解耦。

来源:公开报道 AI 工程化实践 全文约 3 分钟读完
#Yelp #Training Orchestrator #MLOps #DAG 编排
DAG 执行 拓扑排序按依赖运行步骤
秒级 模式验证拦截错误,无需等集群启动
3 端 同构 本地 / Jupyter / 生产环境一套代码跑通

⚡ 30 秒速览

  • 解决了什么:过去各团队手写 Spark 训练脚本,代码重复、配置不一致、无法本地运行,验证逻辑分散导致难以复现历史运行。
  • 怎么做到的:引入基于 Pydantic 的配置对象,声明步骤依赖后自动构建有向无环图(DAG),按拓扑顺序执行。
  • 关键突破:步骤定义与基础设施分离,同一套代码在本地、Jupyter、生产环境无修改运行;配置创建时即完成校验。
  • 生态对接:已连通 Yelp 特征存储库、共享神经网络与梯度提升树库,跟踪与部署全链路接入 MLflow。
  • 行业坐标:Netflix 用 Metaflow、Uber 建 Michelangelo,多 ML 团队企业正殊途同归走向集中式训练基础设施。

01从散装脚本到统一编排 一次基础设施的收权

过去:单体脚本紧耦合

每个应用 ML 团队自建编排方案。训练任务与 Spark 集群、作业启动器深度绑定,无法本地运行。微小改动也要提交作业、等容器启动才知道是否报错。

现在:声明式配置驱动

管道使用 Pydantic 配置对象,含协调器、MLflow、各步骤配置。创建时即校验,构建 DAG 后按拓扑顺序执行,从源头杜绝资源浪费。

核心设计在于将「运行什么」与「如何运行」分离。每个步骤将一个设置类与用户定义函数关联,通过输入/输出模式声明接收与返回内容。以 PrepareDataStep 为例:接收原始数据集,输出预处理后的数据集。逻辑变更只需替换步骤,无需改编排代码

Pydantic 配置构建 DAG拓扑排序执行MLflow 记录

每一次运行的完整配置自动作为 MLflow 工件记录,基于此可完整复现运行过程。Slack 通知与 MLflow 跟踪从手动实现降级为几个配置参数。

02它给开发者带来了什么?三个核心能力

🧪 可测试:本地秒级跑通完整管道开发提效

  • 步骤与基础设施分离,开发人员可用样本数据在本地运行完整管道,无需提交到集群。
  • 可为每个步骤单独编写单元测试;数据加载步骤的输入被缓存,缩短集成测试时间

🛡️ 可复现:配置即溯源全量记录

  • 模式验证在几秒钟内标记步骤输入/输出配对错误、参数超限——而非等 Spark 作业跑数小时后才发现。
  • 完整配置自动记入 MLflow 工件,不同环境间复现历史运行不再依赖手动记录。

🔄 可复用:跨管道共享函数消除重复

  • 相同步骤定义在本地、Jupyter、生产环境无修改运行;团队可同时跑不同模型版本。
  • 函数在不同管道间复用,预处理逻辑变更不影响编排层,彻底消除各团队重复造轮子。

03不止 Yelp:大厂殊途同归的集中化共识

Yelp 的实践并非孤例。随着模型与训练团队数量增长,临时性协调工作已成瓶颈,多家拥有分散 ML 团队的公司正走向同一终点:

Yelp Training Orchestrator声明式 DAG + Pydantic
本文主体
Netflix Metaflow新增配置对象管理流程行为
持续演进
Uber Michelangelo解决碎片化,打通原型到部署
成熟平台

注:柱形无量化分数,仅作进度状态示意;各平台架构不同,不具直接可比性。

Yelp 已将训练协调器定位为核心 ML 团队所需的关键协调层。后续计划为模型评估、比较、解释添加明确步骤,并在编排层实现血缘追踪,使框架无缝扩展至现有管道而无需迁移。该框架为内部项目,未开源

编辑视角

本篇素材源自企业技术团队公开披露的架构实践,属单方陈述,未见第三方独立复测或代码审计。报道未给出训练效率提升的具体量化指标,读者宜将其视为一种工程范式参考,而非已验证的性能基准。其核心模式——Pydantic 验证的声明式步骤配置驱动 DAG 执行——并非 Yelp 专有,各团队可按需借鉴。

当模型训练从单兵作战走向多团队协作,编排基础设施的集中化,正在成为规模化 AI 产能的决定性瓶颈。

延伸阅读

Yelp Training Orchestrator 为内部框架未开源,原始技术报道含架构细节与示例代码。

阅读原文报道 → InfoQ