Unified Pipeline je case study návrhu a implementace sjednocené pipeline pro strojové učení v bankovním prostředí. Cílem bylo zrychlit nasazení modelů, zvýšit jejich stabilitu v čase a vytvořit jednotný experimentální rámec napříč týmy i use-casy.
Přehled projektu
Návrh a implementace sjednocené pipeline pro strojové učení (ML pipeline) pro bankovní instituci, zaměřené na zrychlení nasazení (deploymentu) modelů, zvýšení jejich stability v čase (robustnost mimo trénovací období) a standardizaci experimentálního pracovního postupu napříč týmy. Pipeline umožňuje konzistentní vývoj, validaci a nasazení modelů pro více než 100 produktů a jejich variant.
Výzva
Klient čelil fragmentovanému prostředí pro vývoj ML modelů:
- Nejednotné přístupy mezi týmy (nekonzistentní pracovní postupy)
- Dlouhá doba nasazení modelů (typicky 7–10+ dní)
- Přecenění kvality modelů kvůli nevhodné validaci (únik dat – data leakage, náhodné rozdělení dat – random splits)
- Nízká stabilita modelů v čase (slabý výkon na datech mimo trénovací období)
- Omezená reprodukovatelnost experimentů a slabý auditní záznam (audit trail)
Řešení
Architektura
- Databricks jako hlavní platforma pro spouštění (distribuované zpracování, orchestrace)
- MLflow pro sledování experimentů a registr modelů
- Optuna pro optimalizaci hyperparametrů s důrazem na efektivní strategie vyhledávání
- Spark (PySpark DataFrames) pro škálovatelné zpracování příznaků (feature processing)
- Přechod z původního řešení Hadoop na modernější architekturu založenou na Databricks
Klíčové principy návrhu
- Časově senzitivní validace (klíčový rozdíl oproti běžné praxi)
- Použití postupné validace v čase (walk-forward validation) místo náhodného K-Fold křížového ověřování.
- Simulace reálného nasazení modelu v čase.
- Eliminace úniku dat (data leakage).
- Výrazné snížení rozdílu mezi výkonem při trénování a v produkci.
- Sjednocený trénovací rámec
- Jednotná pipeline pro klasifikaci i regresi.
- Sdílené kroky předzpracování dat a přípravy příznaků (feature engineering).
- Parametrizace pipeline pro různé případy užití (use-cases).
- Pokročilé ladění hyperparametrů (Optuna)
- Kombinace Bayesovské optimalizace a QMCSampler (Sobolovy sekvence) pro lepší pokrytí prostoru.
- Optimalizace s ohledem na metriky stability v čase, nikoli pouze na výkon v rámci vzorku.
- Řízení kompromisu (trade-off) mezi výkonem a časem trénování.
- Stabilita modelu nad surovým výkonem
- Optimalizace na metriky jako: Lift (v rámci nejlepšího decilu), F1 score, stabilita R² / přesnosti v čase.
- Důraz na robustnost napříč časovými obdobími.
Klíčové funkce
- Automatizovaná pipeline pro přípravu příznaků
- Škálovatelná transformace dat přes Spark.
- Kontrola kvality dat (např. min/max validace místo drahých operací jako
countDistinct).
- Centralizované sledování experimentů (MLflow)
- Kompletní auditní stopa experimentů, verzování modelů a jejich parametrů.
- Registr modelů a standardizace nasazení
- Jednotné rozhraní pro nasazení modelů a podpora rychlého zavádění (rolloutu) nových verzí.
- Rámec pro mezičasové vyhodnocení (Intertemporal evaluation)
- Systematické vyhodnocení modelů napříč časem a identifikace vzorců degradace.
- Flexibilní orchestrace pipeline
- Podpora více typů modelů v rámci jedné pipeline (modulární design).
Výsledky
| Metrika | Před | Po | Zlepšení |
|---|---|---|---|
| Doba nasazení modelu | 7–10+ dní | 1–2 dny | -6 až -8 dní |
| Stabilita modelu (OOT) | Nízká | Výrazně vyšší | Zásadní zlepšení |
| Model lift (top decile) | Baseline | +5 až +30 % | +5–30 % |
| Čas spuštění pipeline | ~4 hodiny | ~2–3 hodiny | -30 až -40 % |
Technology Stack
- Python, PySpark (Spark DataFrames)
- Databricks (distribuované výpočty, orchestrace)
- MLflow (sledování experimentů a registr modelů)
- Optuna (optimalizace hyperparametrů)
- CatBoost (klasifikátor a regresor)
Série Unified Pipeline
Na tuto case study navazuje pětidílná série, která detailněji rozebírá architekturu, validační logiku i praktická rozhodnutí za celým řešením:
- Unified Pipeline – Díl 1: Proč vůbec vznikla Unified Pipeline – proč samotné zlepšování modelu nestačilo a problém byl ve fragmentaci systému.
- Unified Pipeline – Díl 2: Od experimentů k systému – jak architektura a konfigurace nahradily improvizaci.
- Unified Pipeline – Díl 3: Čas jako nepřítel modelu – proč validace bez časové disciplíny selhává v produkci.
- Unified Pipeline – Díl 4: MLOps bez buzzwordů – co skutečně přinášelo hodnotu a co naopak jen složitost.
- Unified Pipeline – Díl 5: Co bych dnes udělal jinak – poučení, slepé uličky a přenositelné principy.