Machine Learning Infrastructure at Stripe: Bridging from Python JVM
summary
Stripe tiles models trained in Python with scikit-learn and pandas and actually ships them into a Scala scoring service via a homegrown scikit-learn to Scala serialization layer that wraps estimators (make_serializable), extracts internals, and writes compressed tree files using bonsai compressed trees. Models and encoders bundle into a zip, get a content-addressed S3 model ID (contentment hash) and are promoted with tag pointers and rollback history; candidate models run as shadow models in parallel. The demo shows this pipeline working end-to-end in production.
AI-written summary · about
chapters (11)
- 0:00ML infrastructure at Stripe
- 4:52ML serving architecture overview
- 5:57Demo: shipping model to prod
- 10:16Making scikit-learn models serializable
- 14:51Serializing scikit-learn internals
- 17:19Immutable model snapshots with hashing
- 18:24Deploying models with model tags
- 20:09Testing models with shadow deployments
- 21:12JVM-side model evaluation challenges
- 23:19Open-sourcing ML serialization
- 24:04Q&A








