告别散装训练脚本:Yelp 用 DAG 编排引擎统一机器学习流水线
各团队自行编写 Spark 脚本、配置割裂、验证需等数小时——面对大型 AI 平台普遍的碎片化顽疾,点评巨头 Yelp 内部上线 Training Orchestrator,以声明式配置驱动 DAG 执行,将模型训练的「运行什么」与「如何运行」彻底解耦。
各团队自行编写 Spark 脚本、配置割裂、验证需等数小时——面对大型 AI 平台普遍的碎片化顽疾,点评巨头 Yelp 内部上线 Training Orchestrator,以声明式配置驱动 DAG 执行,将模型训练的「运行什么」与「如何运行」彻底解耦。
每个应用 ML 团队自建编排方案。训练任务与 Spark 集群、作业启动器深度绑定,无法本地运行。微小改动也要提交作业、等容器启动才知道是否报错。
管道使用 Pydantic 配置对象,含协调器、MLflow、各步骤配置。创建时即校验,构建 DAG 后按拓扑顺序执行,从源头杜绝资源浪费。
核心设计在于将「运行什么」与「如何运行」分离。每个步骤将一个设置类与用户定义函数关联,通过输入/输出模式声明接收与返回内容。以 PrepareDataStep 为例:接收原始数据集,输出预处理后的数据集。逻辑变更只需替换步骤,无需改编排代码。
每一次运行的完整配置自动作为 MLflow 工件记录,基于此可完整复现运行过程。Slack 通知与 MLflow 跟踪从手动实现降级为几个配置参数。
Yelp 的实践并非孤例。随着模型与训练团队数量增长,临时性协调工作已成瓶颈,多家拥有分散 ML 团队的公司正走向同一终点:
注:柱形无量化分数,仅作进度状态示意;各平台架构不同,不具直接可比性。
Yelp 已将训练协调器定位为核心 ML 团队所需的关键协调层。后续计划为模型评估、比较、解释添加明确步骤,并在编排层实现血缘追踪,使框架无缝扩展至现有管道而无需迁移。该框架为内部项目,未开源。
本篇素材源自企业技术团队公开披露的架构实践,属单方陈述,未见第三方独立复测或代码审计。报道未给出训练效率提升的具体量化指标,读者宜将其视为一种工程范式参考,而非已验证的性能基准。其核心模式——Pydantic 验证的声明式步骤配置驱动 DAG 执行——并非 Yelp 专有,各团队可按需借鉴。
Yelp Training Orchestrator 为内部框架未开源,原始技术报道含架构细节与示例代码。
阅读原文报道 → InfoQ