Podcast

MLOps at Stripe

Emmanuel Ameisen, StripeEpisode 85 · 44:36 · Mar 2022 · 666 viewsHosted by Demetrios Brinkmann
Thumbnail for MLOps at Stripe Watch on YouTube
TL;DR
  1. 1

    Emmanuel Ameisen argues that the shortest iteration cycle wins, so teams should automate both model experimentation and model deployment.

  2. 2

    Stripe makes critical model changes safer by encoding business expectations, user slices, thresholds, and failure checks in code.

  3. 3

    Operational excellence comes from exercising release processes regularly, because infrequent model releases allow code, data, and assumptions to rot.

Summary

Emmanuel Ameisen describes the operational work required after a machine learning model becomes part of a real product. At Stripe, his team works on Stripe Radar, which decides whether transactions are allowed or blocked. The team shortened two feedback loops: experimenting with data, features, training, and evaluation, and deploying new models safely. Their process compares models across many user and transaction slices, checks customized thresholds, uses shadow deployment, and ramps traffic gradually. Emmanuel argues that automation makes critical systems safer when it replaces tribal knowledge with repeatable checks. He also recommends writing the future press release before starting a project, tying the work to a number the company cares about, and keeping data and training workflows running on a schedule. His central warning is that release pipelines decay when they are used once and forgotten. Frequent exercises expose small problems while they are still manageable.

Key ideas
03:41

Machine learning projects have recurring failure patterns

Emmanuel wrote Building Machine Learning Powered Applications after leading many applied projects at Insight Data Science, including text classification, computer vision, and reinforcement learning. He expected each application to require a special approach, then saw that their success and failure criteria had much in common. That pattern made him think the operational side of machine learning deserved a practical resource. He also found little existing material on the subject. His earlier NLP work led to a widely read blog post about solving most NLP problems with simple methods, which later prompted O'Reilly to ask him to write a book.

07:11

Simple solutions should come before elaborate models

Emmanuel says machine learning engineers often over-engineer projects because complex work is exciting, useful for resumes, and technically interesting. He gives the progression from TF-IDF classifiers to pretrained embeddings and then to API calls for deep models as an example of how simple solutions change over time. The practical question stays the same: how can the team solve the problem simply and show that it moved the right metric? He says successful candidates and teams focus on what they achieved rather than claiming credit for inventing the most complicated model.

12:17

A project should have a company metric before work begins

When machine learning work is proposed, Emmanuel tries to connect it to a number the company cares about. That number may involve revenue, cost, or security. He learned a useful method from a mentor: write the press release before starting the work. Writing the message that would go to the company forces the team to explain what changed and why it matters. If the result is only that a system took six months to build and is slightly better, the project may not deserve the investment. A clear future announcement gives stakeholders a concrete outcome and gives the team a way to judge whether the work is worth doing.

14:16

Shorter iteration cycles reduce the cost of failure

Emmanuel says the shortest iteration cycle wins. A failed experiment that takes five hours is acceptable, while discovering after six weeks that an approach was bad is much harder to defend. He separates the work into an experimentation cycle and a deployment cycle. Experimentation should automate data gathering, feature generation, model training, and evaluation. Deployment should make it possible to put a promising model into production without weeks of manual work or a late-night incident. The automation is often ordinary glue work, such as connecting jobs and encoding the checks people previously performed by hand.

17:18

Automation can make high-risk model deployment safer

Stripe Radar decides whether each Stripe transaction is allowed or blocked, so an average improvement is not enough. A model could perform well overall while blocking payments for one important group of users. Emmanuel says automation helps because it turns scattered tribal knowledge into repeatable team checks. Stripe initially uses human review for uncertain automated decisions, such as selecting a classifier threshold. The system suggests a value, and people review it over several cycles. When reviewers repeatedly leave it unchanged, the team has more evidence that the automation can take over.

28:00

Stripe encodes business expectations as deployment contracts

The Stripe team learned many deployment checks by trying to release models and discovering missing questions. They now encode business expectations in code. An example contract limits how much the actioning rate for a specific group can change. Another expectation is that the system should preserve a false-positive rate while improving recall, rather than trading away one condition without an explicit decision. These rules turn business concerns into checks that run during model evaluation and deployment. The process also compares models across many slices, including large users and particular countries, instead of relying on one overall metric.

29:59

Release pipelines need regular exercise to stay usable

Emmanuel describes teams that build a model, release it once, and return years later to find that the training code, data location, and release criteria no longer work. This is reverse archaeology. Code rots, companies enter new countries, and the assumptions behind old workflows stop matching reality. His remedy is to run data generation, training, evaluation, and related checks on a schedule, even when the team does not plan to release a model. If the pipeline runs every two weeks, failures tend to be small and fixable. If it sits untouched for a year, the system becomes what he calls a haunted mansion.

36:34

Scheduled workflows keep ownership with the team

Emmanuel recommends making training data generation rerunnable and attaching it to a scheduled data job. The job can check that the data is not empty and that labels are not missing or reduced to one class. Training workflows then define the filters, labels, parameters, and train-test periods in code or configuration. Separate scheduled jobs evaluate the model and compare it with the current production model across specific conditions. These jobs keep running whether or not a deployment is planned. The team owns the pipeline for as long as the model remains in production, so the original builder is not the only person who can understand a failure.

"Before you automate you suggest it's kind of the model and that works for machine learning too."Emmanuel Ameisen19:17
Who should watch
  • You own a production ML model whose original author may not be available when its training or deployment process breaks.
  • Your team spends weeks moving a model from a notebook into production and needs to shorten both experimentation and release cycles.
  • You work on fraud, finance, insurance, or another system where a model can harm a small user group even when its overall metrics look good.