Unified ML Pipelines: A Reproducible Study of Training-Serving Skew, Lineage, and Release Gating
Machine learning systems often compute features twice, once in a batch job for training and again in a per-request service for serving. Any divergence between the two programs causes training-serving skew. Version 1 of this paper argued for unified pipelines built on a single feature definition, but no releasable data stood behind its outcome figures. This version withdraws those figures and measures the central technical claim. We formalise the two feature paths, the skew and disagreement measures, a content-hash lineage record, and a fail-closed release gate. The experiment uses three public OpenML tables with five seeds. Offline, a dual implementation with five documented divergence sources matched the AUC of a single definition; online, its ROC AUC was lower by 0.086, 0.222, and 0.139. Every 95% confidence interval excluded zero, and the preregistered hypothesis was supported. Categorical encoding order caused most of the loss. The request-level skew rate was above 0.96 for every source, the harmless ones included, which makes it a weak proxy for harm. Prediction disagreement tracked harm more closely. The single definition stayed skew-free only while online-store lookups succeeded. Pinned reruns were bit-identical in 15 of 15 cases. When a rerun differed, only a lineage record with resolved seeds and parameters explained it. In a simulated release gate, adding an offline-online replay check raised the share of harmful candidates blocked from 0.522 to 0.970. It also blocked 53 of 98 harmless candidates. Code, data, and results are released so the study can be rerun. Changes in version 2.0 Removed every organisational outcome figure of version 1 (deployment time, incident counts, case-study tables). No releasable data supported them. Added a preregistered experiment on three public OpenML tables (adult, bank-marketing, credit-g) with five seeds. It compares a single feature definition with a dual implementation that has five documented divergence sources, and includes a per-source ablation and breakpoint scenarios (store timeouts, heavier missingness, covariate shift). Added a rerun study of content-hash lineage records, and a simulated CI release gate. Wrote out formal definitions of the system model, the skew and disagreement measures, the lineage record, and the fail-closed gate, and stated how each decision point behaves under missing data, unknown results, and timeouts. Replaced blog posts and references that could not be verified with sources checked against a DOI or arXiv record. Added a Threats to Validity section. The deposit contains the paper, the experiment code, cached public data with sources and checksums, all result files, tests, and the preregistration. Reproduce with python code/run_all.py.
Authors
- Bhavin Kotak (ORCID: https://orcid.org/0009-0006-4793-7046)
Institutions
- IBM (United States) (US)
Publication Details
- Journal
- Zenodo (CERN European Organization for Nuclear Research)
- Published
- 2026-11-06
- DOI
- https://doi.org/10.5281/zenodo.18445585
- Primary Topic
- Scientific Computing and Data Management
- Type
- preprint