Archivy: Projekty

  • Unified ML Pipeline

    Unified ML Pipeline

    Project Overview

    Design and implementation of a unified ML pipeline for a banking institution, which accelerated model deployment and improved the stability of predictions.


    The Challenge

    The client had fragmented ML processes with different approaches across individual teams:

    • Long deployment times for new models (averaging 10+ days)
    • Inconsistent model quality
    • Difficulty in tracking versions and experiments

    The Solution

    Architecture

    • Databricks as the central platform for ML
    • MLflow for tracking experiments and model registry
    • Optuna for automated hyperparameter tuning
    • Docker containers for a consistent environment

    Key Features

    1. Automated feature engineering pipeline
    2. Centralized model registry with versioning
    3. A/B testing for gradual deployment
    4. Monitoring and alerting for model drift

    The Results

    Metric Before After Improvement
    Model deployment time 10 days 2 days -8 days
    Model accuracy baseline +15% +15%
    Pipeline execution time 4 hours 2.4 hours -40%

    Technology Stack

    • Python, PySpark
    • Databricks, MLflow
    • Optuna, Docker
    • GitHub Actions (CI/CD)
  • Unified Pipeline

    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:

    1. 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.
    2. Unified Pipeline – Díl 2: Od experimentů k systému – jak architektura a konfigurace nahradily improvizaci.
    3. Unified Pipeline – Díl 3: Čas jako nepřítel modelu – proč validace bez časové disciplíny selhává v produkci.
    4. Unified Pipeline – Díl 4: MLOps bez buzzwordů – co skutečně přinášelo hodnotu a co naopak jen složitost.
    5. Unified Pipeline – Díl 5: Co bych dnes udělal jinak – poučení, slepé uličky a přenositelné principy.

© 2026 Michael Princ. Všechna práva vyhrazena.

Vytvořeno s WordPress