<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/training-orchestrator-unifying-model-training-at-yelp-2adfvgnes" -->

---
title: Training Orchestrator: Unifying Model Training at Yelp
description: Yelp's Core ML Team built Training Orchestrator to unify fragmented model training workflows across applied ML teams. Previously, each team maintained...
canonical: https://daily.dev/posts/training-orchestrator-unifying-model-training-at-yelp-2adfvgnes
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Training Orchestrator: Unifying Model Training at Yelp | daily.dev
og:description: Yelp's Core ML Team built Training Orchestrator to unify fragmented model training workflows across applied ML teams. Previously, each team maintained...
og:url: https://daily.dev/posts/training-orchestrator-unifying-model-training-at-yelp-2adfvgnes
og:image: https://api.daily.dev/og/posts/2adFVgnES.png
og:image:alt: Training Orchestrator: Unifying Model Training at Yelp
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Training Orchestrator: Unifying Model Training at Yelp

**[Yelp Engineering](https://daily.dev/sources/yelp)** · 13 min read · 0 upvotes · 0 comments

## Summary

Yelp's Core ML Team built Training Orchestrator to unify fragmented model training workflows across applied ML teams. Previously, each team maintained monolithic Spark scripts with duplicated boilerplate, scattered validation, and no local testability. The new system introduces a declarative, configuration-driven approach using Pydantic for type-safe configs, a DAG-based execution engine for step ordering, automatic MLflow integration for experiment tracking and reproducibility, and built-in Slack notifications. Steps are decoupled from infrastructure, enabling local runs, unit testing, and environment parity. Key outcomes include faster feedback loops, centralized configuration as a single source of truth, and reproducible runs via versioned MLflow artifacts. Future plans include first-class declarative steps for model evaluation and lineage tracking.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://engineeringblog.yelp.com/2026/07/training-orchestrator-unifying-model-training-at-yelp.html>

## Questions this post answers

### How can I make Spark-based ML training pipelines easier to unit test?

Decoupling orchestration logic from cluster infrastructure allows training steps to run locally with sample data instead of requiring a full Spark job submission cycle. Yelp's Training Orchestrator achieves this by making each pipeline step an independently runnable unit with defined inputs and outputs, so developers can iterate and write unit tests without waiting for Docker builds and cluster spin-up.

_daily.dev surfaces engineering write-ups like this for teams rethinking how they test Spark training pipelines._

### How does Pydantic help validate machine learning training pipeline configurations early?

Pydantic models validate configuration at instantiation time, checking that step input and output schemas match before a training job starts executing. This catches mismatched parameters and broken step dependencies within seconds rather than after hours of running an expensive training job, while also providing IDE autocomplete, auto-generated CLI flags, and centralized documentation.

_Engineers weighing configuration frameworks for ML pipelines can track approaches like this via daily.dev._

### What is a DAG-based approach to orchestrating machine learning training steps?

A DAG-based orchestrator reads declared dependencies between training steps and automatically builds a directed acyclic graph that determines execution order, so steps run in topological order only after their prerequisites finish. This replaces imperative scripts that manually chain steps together, letting developers describe dependencies declaratively while the framework handles execution, logging, and failure handling.

_daily.dev helps engineers exploring declarative workflow orchestration keep up with real-world implementations._

## Similar posts on daily.dev

- [Yelp Unifies ML Model Training with Training Orchestrator](https://daily.dev/posts/yelp-unifies-ml-model-training-with-training-orchestrator-yiioqmkee) · InfoQ · 0 upvotes · 0 comments
- [OrchestraML: From English prompt to deployed ML model with human approval](https://daily.dev/posts/orchestraml-from-english-prompt-to-deployed-ml-model-with-human-approval-1rr4pmnn6) · Product Hunt · 1 upvotes · 0 comments
- [How to Use MLflow to Manage Your Machine Learning Lifecycle](https://daily.dev/posts/how-to-use-mlflow-to-manage-your-machine-learning-lifecycle-waxkdaxly) · freeCodeCamp · 2 upvotes · 0 comments
- [LyftLearn Evolution: Rethinking ML Platform Architecture](https://daily.dev/posts/lyftlearn-evolution-rethinking-ml-platform-architecture-tpztmqapa) · Lyft Engineering · 0 upvotes · 0 comments

---

Tags: [#machine-learning](https://daily.dev/tags/machine-learning), [#apache-spark](https://daily.dev/tags/apache-spark), [#pydantic](https://daily.dev/tags/pydantic)

[View this post on daily.dev](https://daily.dev/posts/training-orchestrator-unifying-model-training-at-yelp-2adfvgnes)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Training Orchestrator: Unifying Model Training at Yelp","url":"https://daily.dev/posts/training-orchestrator-unifying-model-training-at-yelp-2adfvgnes","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/training-orchestrator-unifying-model-training-at-yelp-2adfvgnes"},"datePublished":"2026-07-14T17:37:10.571Z","dateModified":"2026-09-13T19:39:37.738Z","description":"Yelp's Core ML Team built Training Orchestrator to unify fragmented model training workflows across applied ML teams. Previously, each team maintained...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/5710b1faeee1b1bb896b4b0b0dc0d326?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/5710b1faeee1b1bb896b4b0b0dc0d326?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Yelp Engineering","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Yelp Engineering","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/92002b3f0a104326937d9dbe0a0f66ee","url":"https://daily.dev/sources/yelp"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/training-orchestrator-unifying-model-training-at-yelp-2adfvgnes","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"machine-learning,apache-spark,pydantic","timeRequired":"PT13M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Yelp Engineering","item":"https://daily.dev/sources/yelp"},{"@type":"ListItem","position":3,"name":"Training Orchestrator: Unifying Model Training at Yelp"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/training-orchestrator-unifying-model-training-at-yelp-2adfvgnes#faq","mainEntity":[{"@type":"Question","name":"How can I make Spark-based ML training pipelines easier to unit test?","acceptedAnswer":{"@type":"Answer","text":"Decoupling orchestration logic from cluster infrastructure allows training steps to run locally with sample data instead of requiring a full Spark job submission cycle. Yelp's Training Orchestrator achieves this by making each pipeline step an independently runnable unit with defined inputs and outputs, so developers can iterate and write unit tests without waiting for Docker builds and cluster spin-up. daily.dev surfaces engineering write-ups like this for teams rethinking how they test Spark training pipelines."}},{"@type":"Question","name":"How does Pydantic help validate machine learning training pipeline configurations early?","acceptedAnswer":{"@type":"Answer","text":"Pydantic models validate configuration at instantiation time, checking that step input and output schemas match before a training job starts executing. This catches mismatched parameters and broken step dependencies within seconds rather than after hours of running an expensive training job, while also providing IDE autocomplete, auto-generated CLI flags, and centralized documentation. Engineers weighing configuration frameworks for ML pipelines can track approaches like this via daily.dev."}},{"@type":"Question","name":"What is a DAG-based approach to orchestrating machine learning training steps?","acceptedAnswer":{"@type":"Answer","text":"A DAG-based orchestrator reads declared dependencies between training steps and automatically builds a directed acyclic graph that determines execution order, so steps run in topological order only after their prerequisites finish. This replaces imperative scripts that manually chain steps together, letting developers describe dependencies declaratively while the framework handles execution, logging, and failure handling. daily.dev helps engineers exploring declarative workflow orchestration keep up with real-world implementations."}}]}
```

