Model ma F1 0,81 na zbiorze z kwietnia. W sierpniu ten sam endpoint puszcza wnioski, których nikt by nie podpisał ręcznie. Nikt nie policzył PSI. Nikt nie odpalił retreningu. Albo odwrotnie: cron w każdą niedzielę pali GPU, bo „tak jest w runbooku”, a rozkład cech nie drgnął od sześciu tygodni.
To nie jest problem algorytmu. To jest problem pętli. Usługi MLOps to nie „DevOps, który umie Pythona”. To CI/CD plus continuous training: detekcja dryfu, bramka retreningu, rejestr modelu, serving z tym samym kodem cechy co trening. Bez tej pętli kupujecie pickle w bilecie do platformy.
Poniżej rozróżnienie, którego brakuje w briefach „szukamy MLOpsa”: kiedy wynająć jedną osobę (body leasing inżyniera MLOps), a kiedy dryf i serving wymagają squada DE + DS + MLOps. Stawki godzinowe rozpisaliśmy osobno: ile kosztuje body leasing IT w 2026. Tu liczymy, czemu retrening na timerze jest najdroższym sposobem na stabilne F1.
Jedno zdanie, którego nie ma na slajdzie „ML platform”
Kubeflow bez właściciela dryfu to CI dla obrazów. Nie usługi MLOps. PSI powyżej 0,25 to sygnał, nie dashboard. Jeśli nikt nie ma uprawnienia zatrzymać serving i odpalić retrening z commita, macie demo z GPU.
1. Anatomia: calendar retraining to nie continuous training
Typowy tydzień modelu na produkcji w banku, telco albo retailu nie wygląda jak tutorial MLflow. Wygląda jak trzy rozłączone pętle:
- Trening. Data Scientist w Studio / notebooku. Artefakt:
model.pklalbo karta w Model Registry, której nikt nie promuje. - Deploy. Bilet do DevOps. Obraz, probe, Ingress. Rollback umie zespół platformy. Rollback definicji cechy nie umie nikt.
- „Monitoring”. Grafana na latencję i 5xx. Nie na Population Stability Index, nie na KS, nie na spadek F1 na opóźnionej etykiecie.
Kreuzberger, Kühl i Hirschl w przeglądzie architektury MLOps (IEEE Access, 2023) oddzielają CI/CD od continuous training (CT): czwarta pętla, która spina dane, model i serving. Bez CT macie pipeline oprogramowania. Nie pipeline uczenia. Sculley i in. (NIPS 2015) nazwali to wcześniej: kod uczenia to zwykle mały ułamek systemu; reszta to klej, konfiguracja i ukryte zależności. Zmiana jednej cechy pociąga lawinę — CACE, changing anything changes everything.
Trzy objawy, że macie cron, nie CT:
- Retraining w kalendarzu. Niedziela 02:00, niezależnie od PSI. Albo nigdy, „bo model jest wystarczająco dobry”. Oba warianty palą albo jakość, albo chmurę.
- Cecha liczona dwa razy. Pandas na laptopie, SQL w Airflow. Fill-rate rozjeżdża się o 0,3 pp i wychodzi po kwartale, gdy dryf jest już w decyzji.
- Etykieta spóźniona, metryka ślepa. F1 na produkcji da się policzyć po tygodniach. Do tego czasu jedyny sygnał to dryf wejścia (PSI, KS, KL, MMD) — albo nic.
Dlatego brief „wynajem DevOpsa do modeli” bez kontekstu dryfu jest najdroższym sposobem na kolejny pickle. Kompetencje, które faktycznie składają usługi MLOps, siedzą na trzech landingach: inżynierowie MLOps, Data Engineering, Data Science. GPU serving i LLM dokładają AI / RAG i DevOps / SRE.
2. Co mówią badania, nie decki „ML platform”
Nie potrzebujecie kolejnej definicji dojrzałości MLOps. Potrzebujecie progu, przy którym retrening ma prawo ruszyć — i prawa, żeby nie ruszał, gdy rozkład stoi.
- PSI > 0,25 to nie opinia dashboardu. Katalay, Dimandja i Masakuna, A Multi-Criteria Automated MLOps Pipeline for Cost-Effective Cloud-Based Classifier Retraining in Response to Data Distribution Shifts (arXiv:2512.11541, grudzień 2025): łączą KS, KL, PSI, MMD oraz ΔAcc/ΔF1 w jeden score i odpalają retrening dopiero po przekroczeniu progu. W literaturze scoringowej PSI powyżej 0,25 od lat oznacza istotny dryf; poniżej 0,10 — szum. Pipeline nie zgaduje. Liczy.
- Retraining na każdy alarm jest droższy niż dryf. W tym samym eksperymencie (autoencoder, zbiory anomaly detection) cztery polityki: STATIC (zero retreningu) trzyma accuracy 0,69±0,2 przy koszcie 54,8; FIXED (stały interwał) i NAIVE (retrain na każdy dryf) dochodzą do 0,75, ale kosztują 160,6 i 130,5 przy 3,0 i 4,3 retreningach. Auto-MLOps: te same 0,75±0,03, koszt 108,1, retreningi 1,4±1,2. Ta sama jakość co kalendarz, o jedną trzecią taniej niż FIXED, trzy razy mniej odpaleń niż NAIVE.
- Architektura bez ról to slajd. Kreuzberger et al. (2023): MLOps to praktyki i role (ML Engineer, Data Engineer, DevOps), nie produkt z marketplace. CT jest pętlą, nie przyciskiem w Vertex. DORA 2024 dodaje: elite vs low to rząd wielkości w częstotliwości deployu i lead time. Pięć timesheetów (DS z vendora A, DE z B, „ktoś od Kubernetesa” z C) nie złoży lead time’u. Złoży trzy SLA zastępstwa. Anatomię tego błędu rozpisaliśmy w team leasing vs body leasing 2026. Potok danych, który karmi CT, jest w artykule o analityce predykcyjnej.
Kluczowy wniosek architektoniczny
Usługi MLOps zaczynają się od bramki, nie od klastra. Detektor dryfu (PSI/KS/KL) pisze zdarzenie. Polityka decyduje, czy mieszać zbiór i trenować. CI waliduje schemat cechy i metrykę vs baseline. CD promuje wersję w rejestrze. Serving czyta tę samą definicję cechy. Jeśli którykolwiek stopień jest człowiekiem wklejającym CSV, nie macie CT. Macie dyżur.
3. Studium z produkcji: niedzielny retrening, który nic nie naprawiał
Z praktyki inżynieryjnej: od crona do PSI
Scoring fraudu, retail / płatności. Źródła: Postgres, eventy w Kafka, cechy w dbt, serving na Kubernetes. Zespół pracował tak:
- trening: Data Scientist, SageMaker Studio, ręczny export artefaktu,
- deploy: bilet, Docker, Helm, bez testu schematu wejścia,
- retraining: cron w niedzielę, pełny zbiór, GPU na cztery godziny,
- monitoring: p99 i 5xx. PSI nikt nie liczył.
Problem: po zmianie miksu kanałów (nowy partner płatności) F1 na opóźnionej etykiecie spadło w dwa tygodnie. Cron w niedzielę trenował na mieszance, w której nowy kanał był szumem. Koszt GPU rósł. Jakość nie.
Zmiana: liczenie PSI i KS na próbie z VPC, próg 0,25 jako alert w CI, nie w Slacku „na wszelki wypadek”. Retraining tylko gdy score dryfu przekracza τ i ΔF1 na holdoucie jest ujemny. Rejestr modelu (MLflow) promuje wersję. Serving z tym samym kodem cechy (offline batch = online). DevOps zostaje przy obrazie i IAM. MLOps zostaje przy bramce.
Pomiar: liczba retreningów z 4/mies. do ~1,5. Ten sam rząd accuracy co „trenuj zawsze”, rachunek GPU bliżej Auto-MLOps z Katalaya niż FIXED. Czas od alertu PSI do nowej wersji na produkcji: godziny, nie sprint. To nie magia Vertex. To właściciel pętli CT.
Liczby z papieru nie przenoszą się 1:1 na Wasz scoring. Przenosi się mechanika: kalendarz i naiwny alarm są dwoma sposobami na spalenie budżetu. Bramka z wieloma kryteriami jest trzecim — i jedynym, który da się audytować przed komisją ryzyka.
4. Tabela decyzyjna: jaki CT, jaki skład
| Podejście | Złożoność | Jakość przy dryfie | Koszt chmury / GPU | Narzut na zespół | Kiedy stosować |
|---|---|---|---|---|---|
| STATIC — model raz, zero retreningu | Niska | Spada z dryfem (w papierze 0,69 vs 0,75) | Niski | Niski, aż wybuchnie | PoC, brak SLA, zbiór stoi w miejscu |
| FIXED — retraining w kalendarzu | Niska–średnia | Trzyma jakość, gdy dryf jest regularny | Wysoki (w papierze 160,6 vs 108,1) | Średni (dyżur niedzielny) | Regulowany batch, etykieta pewna, budżet GPU nie boli |
| NAIVE — retrain na każdy alert dryfu | Średnia | Trzyma jakość, dużo false starts | Wysoki (4,3 retreningi vs 1,4) | Wysoki (szum alertów) | Gdy detektor jest kiepski i boicie się przegapić shift |
| Bramka wielokryterialna (PSI/KS/KL + ΔF1 + CI/CD) | Wysoka | Ten sam rząd co FIXED/NAIVE | Średni (najniższy wśród pętli) | Wysoki na starcie, spada gdy pętla stoi | Enterprise, NDA, GPU, komisja ryzyka chce audytu „dlaczego teraz” |
| Usługa zarządzana (SageMaker / Vertex / Azure ML) + właściciel CT | Średnia (integracja) | Zależna od tego, czy włączycie detektor, nie sam UI | Średni–wysoki (metryki usług) | Niższy operacyjnie, jeśli IAM już jest | Jedna chmura, jeden IAM, ktoś i tak musi ustawić próg |
MLOps nie jest Python CRUD i nie jest „zwykłym DevOpsem”. Widełki DevOps/SRE: 140–200 / 200–325 PLN/h (specjalista / klient). AI/LLM na produkcji: 180–250 / 240–350 PLN/h. Inżynier MLOps z GPU servingiem i dryfem siedzi w tym paśmie, bliżej góry gdy retrening jest w SLA. Marża 10–25%. Mapa, nie cennik — szczegóły w stawkach 2026.
5. Anty-wzorce, których nie ma w tutorialu Kubeflow
- Brief „DevOps ze znajomością Pythona” na CT. Dostaniecie Helm i probe. Nie dostaniecie PSI ani testu schematu cechy. Rynek pękł: klasyczny DevOps ma podaż, inżynier pętli ML nie. Ogłoszenie ze złą etykietą zbiera CV w 48 h i zero kompetencji od dryfu.
- Dashboard zamiast bramki. Evidently w Grafana, alert w Slacku, retrening ręczny „jak będzie czas”. To monitoring. Nie usługi MLOps. Bramka ma prawo zatrzymać promocję wersji bez człowieka w kanale.
- Retraining na pełnym zbiorze, bo tak prościej. Katalay et al. pokazują, po co mieszać nowy dryf ze starym zbiorem zamiast trenować od zera co tydzień. Pełny retrain bez detektora to FIXED z papieru: jakość jest, faktura też.
- Fałszywy zespół ML. DS z vendora A, DE z B, MLOps „w 20% z platformy”. Trzy onboardingi, zero wspólnego DAG-a, zero wspólnego Definition of Done na promocję modelu. To nie staff augmentation. To podatek integracyjny opisany przy leasingu zespołów IT.
6. Playbook: kogo wynająć i w jakiej kolejności
Nie zaczynajcie od klastra. Zacznijcie od pytania, która pętla blokuje SLA: dane, model, dryf czy serving.
- Jedna luka w istniejącej pętli. Macie Airflow, rejestr i kogoś, kto recenzuje PR. Brakuje właściciela PSI i CD modelu. To klasyczny body leasing inżynierów MLOps: jedna osoba, Wasz stand-up, Wasze DoD. Pierwsze profile w dniach, nie w kwartale — sourcujemy na żądanie, nie sprzedajemy imiennej ławki na jutro rano.
- Notebook jest jedynym artefaktem. Nie ma DAG-a, nie ma testu schematu, nie ma serving. Jedna osoba tego nie zszyje. Skład 3–5: DE (źródła, dbt/Spark), DS (model, walidacja), MLOps (obraz, dryf, promocja). To bliżej team leasingu niż „dokupimy jeszcze jednego DevOpsa”.
- Dane nie wychodzą z VPC. Kontraktor w Waszym IAM, Wasza chmura, NDA i powierzenie. Colab z zrzutem produkcyjnym „żeby policzyć PSI” jest wyciekiem. Offline cechy w batchu, online serving z tym samym kodem.
- Ramp-up. Osoba do istniejącego zespołu: pierwsze CV 24–48 h, start po Waszych rozmowach i umowie. Squad od zera: tygodnie, nie sprint, bo zszywacie uprawnienia, dane i DoD na promocję modelu. Kłamstwo „trzech seniorów MLOps od poniedziałku” to CV albo ławka, której nie mamy — i nie będziemy udawać.
Commoditech od 2012 robi T&M i rekrutację stałą z Warszawy. 80+ specjalistów w sieci, nie idle bench. Brief T&M albo success fee da się złożyć z IDE przez MCP dla agentów AI, nie tylko z formularza. Kwoty na konkretny stack liczy człowiek; widełki są w artykule o stawkach, nie w JSON-ie agenta.
FAQ
Czym różnią się usługi MLOps od zwykłego DevOps przy modelach ML?
DevOps dowiezie obraz, probe i rollback. MLOps dowiezie jeszcze: rejestr modelu, test schematu cech, detekcję dryfu (PSI, KS, KL), bramkę retreningu i serving z tym samym kodem cechy co trening. CI/CD bez continuous training to deploy pickle’a. Nie platforma. Kreuzberger et al. (2023) wprost wyodrębniają CT jako osobną pętlę — nie „kolejny job w Jenkinsie”.
Kiedy wynająć jednego inżyniera MLOps, a kiedy skład?
Jedną osobę, gdy DAG, rejestr i IAM już stoją, a brakuje właściciela dryfu i CD modelu. Skład 3–5 (DE + DS + MLOps), gdy jedynym artefaktem jest notebook, a retrening to bilet w Jirze. Sam MLOps bez DE nie naprawi źródła. Sam Data Scientist bez MLOps dowiezie AUC. Nie dowiezie p99 ani audytu „dlaczego ta wersja”. Jeśli nie macie komu recenzować PR-a od kontraktora, nie kupujcie body leasingu. Kupcie lead plus jedną rolę albo squad.
Ile kosztuje body leasing inżyniera MLOps w Polsce w 2026?
MLOps siedzi między DevOps/SRE (klient 200–325 PLN/h) a produkcyjnym AI/LLM (240–350 PLN/h). GPU serving i retrening na dryf pchają stawkę w górę pasma. Marża dostawcy 10–25% — jeśli ktoś obiecuje 8% przy zastępstwie w 5 dni, doliczcie to w innej linii. To mapa rynku, nie oferta. Kwotę na brief liczy człowiek. Szczegóły w stawkach 2026.
Czy kontraktor MLOps może pracować na danych pod NDA i RODO?
Tak: Wasze środowisko, Wasz IAM, Wasza chmura albo on-prem, umowa T&M z NDA, powierzeniem i IP po stronie klienta. Zrzut produkcyjny na laptop kontraktora „żeby szybciej policzyć PSI” to wyciek. Dryf liczycie na próbce w VPC, nie w Colabie. Audyt dostępu jest Wasz. Klauzule: umowy, marże, IP.
Źródła
- Katalay, E. K., Dimandja, D. O., Masakuna, J. F. (2025). A Multi-Criteria Automated MLOps Pipeline for Cost-Effective Cloud-Based Classifier Retraining in Response to Data Distribution Shifts. arXiv:2512.11541. arxiv.org/abs/2512.11541
- Kreuzberger, D., Kühl, N., Hirschl, S. (2023). Machine Learning Operations (MLOps): Overview, Definition, and Architecture. IEEE Access 11:31866–31879. doi.org/10.1109/ACCESS.2023.3262138
- Sculley, D. et al. (2015). Hidden Technical Debt in Machine Learning Systems. NIPS 2015. papers.nips.cc
- DORA / Google Cloud (2024). Accelerate State of DevOps Report.
- Commoditech — stawki body leasingu 2026, team leasing vs body leasing, wynajem inżynierów MLOps.