SlideShare a Scribd company logo
Pitfalls of Machine Learning in
production
Antoine Sauray - Nantes Machine Learning Meetup - 7/10/19
Who am I ?
Antoine Sauray 👋 @asauray
Software engineer, Scala dev
Founder of Hyperplan ML platform
We are hosted at the Halle 6 in Ile de Nantes
Previously worked at iAdvize as ML Engineer
4 years exp in mobile dev (Android and iOS native)
2
3
Software
engineering
Machine
LearningAND
4
Machine Learning is a small part of your system
Machine Learning
“Hidden Technical Debt in Machine Learning Systems” - 2015
5
Machine Learning is a small part of your system
Not Machine Learning
“Hidden Technical Debt in Machine Learning Systems” - 2015
Machine Learning is hard to put in production
O’Reilly survey - August 2018
6
“ML systems have a special capacity for incurring
technical debt, because they have all of the
maintenance problems of traditional code plus an
additional set of ML-specific issues.”
Machine Learning creates more tech debt
7
Hidden Technical Debt in Machine Learning Systems - 2015
8
ML practices
VSSoftware practices
9
Strong abstractions
OOP, FP
Hexagonal architecture
Tooling
Version Control
Testing frameworks
Monitoring
Logging
CI
Deployments
CD
A/B tests
VS ML practices
Strong abstractions
OOP, FP
Hexagonal architecture
Tooling
Version Control
Testing frameworks
Monitoring
Logging
CI
Deployments
CD
A/B tests
10
+ specific ML issues
Python
drift concept
etc.
VS ?
“ML as software engineering”
11
12
13
“Working
code is a
side effect”
Alberto Brandolini
Diving into issues
Collaboration
Data dependencies
Training and Serving Skews
Bad and good patterns
Diving into issues
15
Collaboration difficulties
16
Collaboration difficulties
How to track experiments ?
What algorithm has been trained ?
When ?
On what data ?
With which set of parameters ?
How can we compare them ?
● Avoid repeating same experiments
● Reuse code
17
Working with others
Collaboration difficulties
18
Model
Websites
Front-end
developer
Backend
Back-end
developer
Mobile apps
iOS/Android
developer
ML
scientist
Working with others
Teams of engineers and researchers have different goals
Data scientists and researchers seek quality, at the cost of simplicity
Dev and ops like seek simplicity, at the cost of performance
Collaboration difficulties
19
Data Dependencies
20
Unstable Data dependencies
A model can consume signals from:
● An algorithm (possibly ML) that
updates over time
● An application that may receive
updates
Data Dependencies
21
Model
Business appAlgorithm
CACE: Change Anything Changes Everything
Underutilized Data dependencies
Keep the features to a strict minimum reduces the multicollinearity risk.
● Legacy Features can be forgotten
● Features can be added as bundles
● ǫ-Features are complex and bring little value
Underutilized dependencies can be detected via exhaustive
leave-one-feature-out evaluations.
Data Dependencies
22
According to the TensorFlow doc, 4 skews:
● Schema
● Feature
● Distribution
● Scoring and Serving
23
Training and Serving Skews
Training and Serving Skews
Schema skew
Example: after a migration/the
deprecation of a field.
This may be undetected and cause
you model to silently fail.
24
{
"surfaceAppartement": 70,
}
{
"surfaceAppartement": null,
"appartmentSurface": 70
}
Training and Serving Skews
25
features = {
# is this milliseconds or
# seconds ?
'video_duration': 10
}
prediction =
clf.predict(features)
Feature skew
When different teams implement the
machine learning models and the
documentation is nonexistent or
insufficient.
This is even more important when
serving on multiple platforms with
different teams.
Distribution skew
When the distribution of feature values
is different between training and
serving.
When data scientists train their
algorithms with a faulty sampling
mechanism.
When a different corpus is used for
training to overcome lack of initial data.
Training and Serving Skews
26
Training and Serving Skews
27
Model
User
Data
Outcome
Scoring and Serving skew
A Direct Feedback loop can help you
measure the results of your algorithm
and generate training data for later.
But! Models may influence the data
they will be trained on later.
Exploration / Exploitation trade off
Training and Serving Skews
28
Scoring and Serving skew
Hardcoded thresholds can lead to
errors because they are model
specific.
If model is automatically trained with
new batches of data, the previous
threshold is invalidated
But thresholds can be learnt.
def keep_above_threshold(prediction, t):
for p in predictions:
if p.prob > t:
yield p
clf = load('model1.joblib')
predictions = clf.predict(features)
return keep_above_threshold(predictions, 0.6)
clf = load('model2.joblib')
predictions = clf.predict(features)
return keep_above_threshold(predictions, 0.6)
Bad and good patterns
29
Bad and good patterns
Bad: Glue code
Wikipedia: “... executable code that
serves solely to «adapt» different parts
of code that would otherwise be
incompatible”.
Problems
Maintenance is hard
Complexity is high
30
Bad: Pipeline jungle
When thinking about data collection
after creating the algorithms.
It is often hard to gather data in real
time for the execution of the algorithm.
● Many collection steps
● SQL Join everywhere
● Intermediate results
This is fragile
→ Rethink the pipeline as a whole
Bad and good patterns
31
Bad: Dead experimental codepath
Shortcuts taken by developers to
implement features faster.
Avoid conditional branching in
production because of
● Cyclomatic complexity
● Things break unexpectedly
Bad and good patterns
32
if customer_id == "1":
# but customer 1 does not exist anymore
return clf1.predict(data)
else:
return clf2.predict(data)
Bad and good patterns
33
Client
API 1 API 2
Heuristic Model 2 Model 3
API 3
Schema 1 Schema 2 Schema 3
Bad: No Abstraction
Client handle different APIs
for the same problem.
● More code client side
● Duplication of code in APIs
● Failover and AB tests are
managed on the client
Good: Abstraction
An interface between the client and the
models
Advantages:
● Start with simple heuristics to get
data early
● Add data on the API schema
progressively
● Ship a new model safely with
rollbacks
● Write less code on the client side
Bad and good patterns
34
Heuristic
Client
API
Model 2 Model 3
Schema
Transformations
Platforms
The basics
We have some basics tools like classic software
Versioning
● Git LFS
● DVC
Tracking platforms
● Weights and biases wandb.com
● Datmo github.com/datmo/datmo
● MLFlow Tracking
36
TensorFlow Extended
End-to-end platform for deploying production ML pipelines
Since 2018
37
TensorFlow Extended
End-to-end platform for deploying production ML pipelines
Since 2018
38
TensorFlow Extended
39
Tracking and Reproducibility
Skew Detection
Consistent Pipeline (Training & Serving)
Multiple Deployment Targets
Multi Framework
❌
✅
(schema, feature, distribution)
✅
(only tf.Serving and Apache Beam)
✅
(API, browser, on device)
❌
(possible via TensorFlow 2.0)
MLFlow
Machine Learning Platform for ML Lifecycle management
v1: summer 2019
40
✅
MLFlow
41
Tracking and Reproducibility
Skew Detection
Consistent Pipeline (Training & Serving)
Multiple Deployment Targets
Multi Framework
✅
❌
✅
(via save_model)
❌
(only REST API)
Since 2016
“Seamlessly build, deploy, and operate
machine learning solutions at Uber’s
scale”
eng.uber.com/michelangelo
Michelangelo (closed source)
42
Michelangelo (closed source)
43
✅
Tracking and Reproducibility
Skew Detection
Consistent Pipeline (Training & Serving)
Multiple Deployment Targets
Multi Framework
❌
✅
with a compiled DSL ✅
NA
FB Learner Flow (closed source)
A platform capable of easily reusing algorithms in
different products, scaling to run thousands of
simultaneous custom experiments, and managing
experiments with ease.
engineering.fb.com/core-data/introducing-fblearner-flow-f
acebook-s-ai-backbone
44
FB Learner Flow (closed source)
45
✅
Tracking and Reproducibility
Skew Detection
Consistent Pipeline (Training & Serving)
Multiple Deployment Targets
Multi Framework
✅
NA
NA
NA
A Proxy for Machine Learning
Serve your algorithms in production
● Skew detection
● Feedback loop
● AB Testing
Still under active development
Hyperplan
46
Hyperplan
47
Tracking and Reproducibility
Skew Detection
Consistent Pipeline (Training & Serving)
Multiple Deployment Targets
Multi Framework
❌
✅
(schema, feature, distribution)
❌
✅
✅
48
To sum up
Tracking and Reproducibility
Skew Detection
Consistent Pipeline (Training & Serving)
Multiple Deployment Targets
Multi Framework
❌
✅
❌
✅
✅
✅
NA
NA
NA
✅
✅
❌
✅
NA
✅
✅
❌
✅
❌
✅
❌
✅
❌
✅
❌
49
To sum up
TensorFlow Extended and MLFlow are great for big orgs
TFX has a proven record for solving production issues, but only with TensorFlow
MLFlow is still young and targets many problems, pick what you need
Uber and Facebook ?
Designed specifically for their org, huge platforms
Hyperplan is made for small and medium orgs
Benefits of monitoring at a small cost
References
Machine Learning: The High Interest Credit Card Of Technical Debt, 2014
Hidden Technical Debt in Machine Learning Systems, (Google) 2015
Machine Learning in Production: Developing and Optimizing Data Science Workflows and Applications,
First Edition (O’Reilly)
The State of Machine Learning Adoption in the Enterprise (O’Reilly)
TensorFlow Docs https://www.tensorflow.org/tfx
MLFlow Docs https://www.mlflow.org/docs/latest/index.html
50
Merci !
@asauray - hyperplan.io

More Related Content

PDF
Hydrosphere.io Platform for AI/ML Operations Automation
PDF
AI and ML 101
PDF
Productionizing Real-time Serving With MLflow
PDF
XebiCon'17 : Faites chauffer les neurones de votre Smartphone avec du Deep Le...
PDF
SiriusCon2016 - Modelling Spacecraft On-board Software with Sirius
PDF
MLflow at Company Scale
PDF
Reproducible AI Using PyTorch and MLflow
PDF
Parallel Ablation Studies for Machine Learning with Maggy on Apache Spark
Hydrosphere.io Platform for AI/ML Operations Automation
AI and ML 101
Productionizing Real-time Serving With MLflow
XebiCon'17 : Faites chauffer les neurones de votre Smartphone avec du Deep Le...
SiriusCon2016 - Modelling Spacecraft On-board Software with Sirius
MLflow at Company Scale
Reproducible AI Using PyTorch and MLflow
Parallel Ablation Studies for Machine Learning with Maggy on Apache Spark

What's hot (7)

PPTX
GDG Cloud meetup november 2019 - kubeflow pipelines
PPT
MDT Papyrus - Eclipse Con 2010
PDF
Tech leaders guide to effective building of machine learning products
PPT
04 The Papyrus tool as an Eclipse UML2-modeling environment for requirements
PPTX
An introduction to papyrus
PPTX
Massif - the love child of Matlab Simulink and Eclipse
PDF
Automating machine learning lifecycle with kubeflow
GDG Cloud meetup november 2019 - kubeflow pipelines
MDT Papyrus - Eclipse Con 2010
Tech leaders guide to effective building of machine learning products
04 The Papyrus tool as an Eclipse UML2-modeling environment for requirements
An introduction to papyrus
Massif - the love child of Matlab Simulink and Eclipse
Automating machine learning lifecycle with kubeflow
Ad

Similar to Pitfalls of machine learning in production (20)

PDF
"Deployment for free": removing the need to write model deployment code at St...
PDF
Webinar: Começando seus trabalhos com Machine Learning utilizando ferramentas...
PDF
Kostiantyn Bokhan, N-iX. CD4ML based on Azure and Kubeflow
PPTX
Building APIs with Mule and Spring Boot
PPTX
Legion - AI Runtime Platform
PPTX
Why is dev ops for machine learning so different
PPTX
Deploying ML models in the enterprise
PPTX
Serverless machine learning architectures at Helixa
PPTX
Notes on Deploying Machine-learning Models at Scale
PDF
GDG Cloud Southlake #16: Priyanka Vergadia: Scalable Data Analytics in Google...
PDF
Ml infra at an early stage
PPTX
OS for AI: Elastic Microservices & the Next Gen of ML
PDF
The A-Z of Data: Introduction to MLOps
PDF
AI Infra Day | Model Lifecycle Management Quality Assurance at Uber Scale
PDF
Practical machine learning
PPTX
[DSC Europe 23] Petar Zecevic - ML in Production on Databricks
PDF
Incquery Suite Models 2020 Conference by István Ráth, CEO of IncQuery Labs
PPTX
Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...
PDF
Advanced Model Inferencing leveraging Kubeflow Serving, KNative and Istio
PDF
MuleSoft Surat Virtual Meetup#6 - MuleSoft Project Template Using Maven Arche...
"Deployment for free": removing the need to write model deployment code at St...
Webinar: Começando seus trabalhos com Machine Learning utilizando ferramentas...
Kostiantyn Bokhan, N-iX. CD4ML based on Azure and Kubeflow
Building APIs with Mule and Spring Boot
Legion - AI Runtime Platform
Why is dev ops for machine learning so different
Deploying ML models in the enterprise
Serverless machine learning architectures at Helixa
Notes on Deploying Machine-learning Models at Scale
GDG Cloud Southlake #16: Priyanka Vergadia: Scalable Data Analytics in Google...
Ml infra at an early stage
OS for AI: Elastic Microservices & the Next Gen of ML
The A-Z of Data: Introduction to MLOps
AI Infra Day | Model Lifecycle Management Quality Assurance at Uber Scale
Practical machine learning
[DSC Europe 23] Petar Zecevic - ML in Production on Databricks
Incquery Suite Models 2020 Conference by István Ráth, CEO of IncQuery Labs
Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...
Advanced Model Inferencing leveraging Kubeflow Serving, KNative and Istio
MuleSoft Surat Virtual Meetup#6 - MuleSoft Project Template Using Maven Arche...
Ad

Recently uploaded (20)

PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Mushroom cultivation and it's methods.pdf
PPTX
TLE Review Electricity (Electricity).pptx
PPTX
cloud_computing_Infrastucture_as_cloud_p
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PPTX
A Presentation on Touch Screen Technology
PDF
Hybrid model detection and classification of lung cancer
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
WOOl fibre morphology and structure.pdf for textiles
PDF
Hindi spoken digit analysis for native and non-native speakers
PPTX
1. Introduction to Computer Programming.pptx
PDF
Web App vs Mobile App What Should You Build First.pdf
PDF
Assigned Numbers - 2025 - Bluetooth® Document
A comparative study of natural language inference in Swahili using monolingua...
Unlocking AI with Model Context Protocol (MCP)
Digital-Transformation-Roadmap-for-Companies.pptx
Mushroom cultivation and it's methods.pdf
TLE Review Electricity (Electricity).pptx
cloud_computing_Infrastucture_as_cloud_p
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
A Presentation on Touch Screen Technology
Hybrid model detection and classification of lung cancer
NewMind AI Weekly Chronicles - August'25-Week II
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Encapsulation_ Review paper, used for researhc scholars
WOOl fibre morphology and structure.pdf for textiles
Hindi spoken digit analysis for native and non-native speakers
1. Introduction to Computer Programming.pptx
Web App vs Mobile App What Should You Build First.pdf
Assigned Numbers - 2025 - Bluetooth® Document

Pitfalls of machine learning in production

  • 1. Pitfalls of Machine Learning in production Antoine Sauray - Nantes Machine Learning Meetup - 7/10/19
  • 2. Who am I ? Antoine Sauray 👋 @asauray Software engineer, Scala dev Founder of Hyperplan ML platform We are hosted at the Halle 6 in Ile de Nantes Previously worked at iAdvize as ML Engineer 4 years exp in mobile dev (Android and iOS native) 2
  • 4. 4 Machine Learning is a small part of your system Machine Learning “Hidden Technical Debt in Machine Learning Systems” - 2015
  • 5. 5 Machine Learning is a small part of your system Not Machine Learning “Hidden Technical Debt in Machine Learning Systems” - 2015
  • 6. Machine Learning is hard to put in production O’Reilly survey - August 2018 6
  • 7. “ML systems have a special capacity for incurring technical debt, because they have all of the maintenance problems of traditional code plus an additional set of ML-specific issues.” Machine Learning creates more tech debt 7 Hidden Technical Debt in Machine Learning Systems - 2015
  • 9. 9 Strong abstractions OOP, FP Hexagonal architecture Tooling Version Control Testing frameworks Monitoring Logging CI Deployments CD A/B tests VS ML practices
  • 10. Strong abstractions OOP, FP Hexagonal architecture Tooling Version Control Testing frameworks Monitoring Logging CI Deployments CD A/B tests 10 + specific ML issues Python drift concept etc. VS ?
  • 11. “ML as software engineering” 11
  • 12. 12
  • 13. 13 “Working code is a side effect” Alberto Brandolini
  • 15. Collaboration Data dependencies Training and Serving Skews Bad and good patterns Diving into issues 15
  • 17. Collaboration difficulties How to track experiments ? What algorithm has been trained ? When ? On what data ? With which set of parameters ? How can we compare them ? ● Avoid repeating same experiments ● Reuse code 17
  • 18. Working with others Collaboration difficulties 18 Model Websites Front-end developer Backend Back-end developer Mobile apps iOS/Android developer ML scientist
  • 19. Working with others Teams of engineers and researchers have different goals Data scientists and researchers seek quality, at the cost of simplicity Dev and ops like seek simplicity, at the cost of performance Collaboration difficulties 19
  • 21. Unstable Data dependencies A model can consume signals from: ● An algorithm (possibly ML) that updates over time ● An application that may receive updates Data Dependencies 21 Model Business appAlgorithm CACE: Change Anything Changes Everything
  • 22. Underutilized Data dependencies Keep the features to a strict minimum reduces the multicollinearity risk. ● Legacy Features can be forgotten ● Features can be added as bundles ● ǫ-Features are complex and bring little value Underutilized dependencies can be detected via exhaustive leave-one-feature-out evaluations. Data Dependencies 22
  • 23. According to the TensorFlow doc, 4 skews: ● Schema ● Feature ● Distribution ● Scoring and Serving 23 Training and Serving Skews
  • 24. Training and Serving Skews Schema skew Example: after a migration/the deprecation of a field. This may be undetected and cause you model to silently fail. 24 { "surfaceAppartement": 70, } { "surfaceAppartement": null, "appartmentSurface": 70 }
  • 25. Training and Serving Skews 25 features = { # is this milliseconds or # seconds ? 'video_duration': 10 } prediction = clf.predict(features) Feature skew When different teams implement the machine learning models and the documentation is nonexistent or insufficient. This is even more important when serving on multiple platforms with different teams.
  • 26. Distribution skew When the distribution of feature values is different between training and serving. When data scientists train their algorithms with a faulty sampling mechanism. When a different corpus is used for training to overcome lack of initial data. Training and Serving Skews 26
  • 27. Training and Serving Skews 27 Model User Data Outcome Scoring and Serving skew A Direct Feedback loop can help you measure the results of your algorithm and generate training data for later. But! Models may influence the data they will be trained on later. Exploration / Exploitation trade off
  • 28. Training and Serving Skews 28 Scoring and Serving skew Hardcoded thresholds can lead to errors because they are model specific. If model is automatically trained with new batches of data, the previous threshold is invalidated But thresholds can be learnt. def keep_above_threshold(prediction, t): for p in predictions: if p.prob > t: yield p clf = load('model1.joblib') predictions = clf.predict(features) return keep_above_threshold(predictions, 0.6) clf = load('model2.joblib') predictions = clf.predict(features) return keep_above_threshold(predictions, 0.6)
  • 29. Bad and good patterns 29
  • 30. Bad and good patterns Bad: Glue code Wikipedia: “... executable code that serves solely to «adapt» different parts of code that would otherwise be incompatible”. Problems Maintenance is hard Complexity is high 30
  • 31. Bad: Pipeline jungle When thinking about data collection after creating the algorithms. It is often hard to gather data in real time for the execution of the algorithm. ● Many collection steps ● SQL Join everywhere ● Intermediate results This is fragile → Rethink the pipeline as a whole Bad and good patterns 31
  • 32. Bad: Dead experimental codepath Shortcuts taken by developers to implement features faster. Avoid conditional branching in production because of ● Cyclomatic complexity ● Things break unexpectedly Bad and good patterns 32 if customer_id == "1": # but customer 1 does not exist anymore return clf1.predict(data) else: return clf2.predict(data)
  • 33. Bad and good patterns 33 Client API 1 API 2 Heuristic Model 2 Model 3 API 3 Schema 1 Schema 2 Schema 3 Bad: No Abstraction Client handle different APIs for the same problem. ● More code client side ● Duplication of code in APIs ● Failover and AB tests are managed on the client
  • 34. Good: Abstraction An interface between the client and the models Advantages: ● Start with simple heuristics to get data early ● Add data on the API schema progressively ● Ship a new model safely with rollbacks ● Write less code on the client side Bad and good patterns 34 Heuristic Client API Model 2 Model 3 Schema Transformations
  • 36. The basics We have some basics tools like classic software Versioning ● Git LFS ● DVC Tracking platforms ● Weights and biases wandb.com ● Datmo github.com/datmo/datmo ● MLFlow Tracking 36
  • 37. TensorFlow Extended End-to-end platform for deploying production ML pipelines Since 2018 37
  • 38. TensorFlow Extended End-to-end platform for deploying production ML pipelines Since 2018 38
  • 39. TensorFlow Extended 39 Tracking and Reproducibility Skew Detection Consistent Pipeline (Training & Serving) Multiple Deployment Targets Multi Framework ❌ ✅ (schema, feature, distribution) ✅ (only tf.Serving and Apache Beam) ✅ (API, browser, on device) ❌ (possible via TensorFlow 2.0)
  • 40. MLFlow Machine Learning Platform for ML Lifecycle management v1: summer 2019 40
  • 41. ✅ MLFlow 41 Tracking and Reproducibility Skew Detection Consistent Pipeline (Training & Serving) Multiple Deployment Targets Multi Framework ✅ ❌ ✅ (via save_model) ❌ (only REST API)
  • 42. Since 2016 “Seamlessly build, deploy, and operate machine learning solutions at Uber’s scale” eng.uber.com/michelangelo Michelangelo (closed source) 42
  • 43. Michelangelo (closed source) 43 ✅ Tracking and Reproducibility Skew Detection Consistent Pipeline (Training & Serving) Multiple Deployment Targets Multi Framework ❌ ✅ with a compiled DSL ✅ NA
  • 44. FB Learner Flow (closed source) A platform capable of easily reusing algorithms in different products, scaling to run thousands of simultaneous custom experiments, and managing experiments with ease. engineering.fb.com/core-data/introducing-fblearner-flow-f acebook-s-ai-backbone 44
  • 45. FB Learner Flow (closed source) 45 ✅ Tracking and Reproducibility Skew Detection Consistent Pipeline (Training & Serving) Multiple Deployment Targets Multi Framework ✅ NA NA NA
  • 46. A Proxy for Machine Learning Serve your algorithms in production ● Skew detection ● Feedback loop ● AB Testing Still under active development Hyperplan 46
  • 47. Hyperplan 47 Tracking and Reproducibility Skew Detection Consistent Pipeline (Training & Serving) Multiple Deployment Targets Multi Framework ❌ ✅ (schema, feature, distribution) ❌ ✅ ✅
  • 48. 48 To sum up Tracking and Reproducibility Skew Detection Consistent Pipeline (Training & Serving) Multiple Deployment Targets Multi Framework ❌ ✅ ❌ ✅ ✅ ✅ NA NA NA ✅ ✅ ❌ ✅ NA ✅ ✅ ❌ ✅ ❌ ✅ ❌ ✅ ❌ ✅ ❌
  • 49. 49 To sum up TensorFlow Extended and MLFlow are great for big orgs TFX has a proven record for solving production issues, but only with TensorFlow MLFlow is still young and targets many problems, pick what you need Uber and Facebook ? Designed specifically for their org, huge platforms Hyperplan is made for small and medium orgs Benefits of monitoring at a small cost
  • 50. References Machine Learning: The High Interest Credit Card Of Technical Debt, 2014 Hidden Technical Debt in Machine Learning Systems, (Google) 2015 Machine Learning in Production: Developing and Optimizing Data Science Workflows and Applications, First Edition (O’Reilly) The State of Machine Learning Adoption in the Enterprise (O’Reilly) TensorFlow Docs https://www.tensorflow.org/tfx MLFlow Docs https://www.mlflow.org/docs/latest/index.html 50
  • 51. Merci ! @asauray - hyperplan.io