These are slides from Manasi Vartak's Strata Talk in March 2020 on Robust MLOps with Open-Source.
* Introduction to talk
* What is MLOps?
* Building an MLOps Pipeline
* Real-world Simulations
* Let’s fix the pipeline
* Wrap-up
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Robust MLOps with Open-Source: ModelDB, Docker, Jenkins, and Prometheus
1. www.verta.ai Confidential
Robust MLOps with Open-Source: ModelDB,
Docker, Jenkins, and Prometheus
!1
Presented by:
Manasi Vartak
CEO, Verta.ai
Michael Liu
Software Engineer, Verta.ai
Slack (Q&A): http://bit.ly/modeldb-mlops
#webinars
2. www.verta.ai Confidential
About
!2
• Open-core MLOps Platform for the full model
lifecycle
• Model versioning, deployment & ops, monitoring
• Built for data science; able to run at large scale
Manasi Vartak
CEO, Verta.ai
Michael Liu
Software Engineer,
Verta.ai
MIT CSAIL Ph.D. UCSD, Cognitive Science
Creator of ModelDB —
first OSS model
management and
versioning system
Neural-network based
audio analysis,
everything about Python,
Verta client libs
3. www.verta.ai Confidential
Agenda
• Part I: Intro to MLOps (15 mins)
• Part II: Building an MLOps Pipeline (30 mins)
• Part III: Questions (10 mins)
!3
Slack (Q&A): http://bit.ly/modeldb-mlops
#webinars
4. www.verta.ai Confidential
Models have become Easy to Build
!4
from fastai.vision import *
from fastai.metrics import accuracy
data.normalize(imagenet_stats)
learner = create_cnn(data, models.resnet18,
metrics=[accuracy], callback_fns=ShowGraph)
learner.fit_one_cycle(8, max_lr=slice(1e-3,
1e-2))
learner.save('stage-1')
5. www.verta.ai Confidential
Delivery and Operations of ML-Products is Broken
!5
It used to take us 20+ weeks to bring
a new version of the model into
production.
A predictive readmission model that was
trained, optimized and deployed at a hospital
would start sharply degrading within two to
three months.
8. www.verta.ai Confidential!8
Challenge 1. Model Development is empirical & ad-hoc
Model 3
Accuracy: 76%
val udf1: (Int => Int) = (delayed..)
df.withColumn(“timesDelayed”, udf1)
RandomForestClassifier
9. www.verta.ai Confidential!9
Challenge 1. Model Development is empirical & ad-hoc
Model 5
Accuracy: 68%
val udf1: (Int => Int) = (delayed..)
df.withColumn(“timesDelayed”, udf1)
RandomForestClassifier
credit-default-clean.csv
val lrGrid = new ParamGridBuilder()
.addGrid(rf.maxDepth, Array(5, 10, 15))
.addGrid(rf.numTrees, Array(50, 100))
10. www.verta.ai Confidential!10
Challenge 1. Model Development is empirical & ad-hoc
Model 50
Accuracy: 82%
val udf1: (Int => Int) = (delayed..)
df.withColumn(“timesDelayed”, udf1)
RandomForestClassifier
credit-default-clean.csv
val lrGrid = new ParamGridBuilder()
.addGrid(rf.maxDepth, Array(5, 10, 15))
.addGrid(rf.numTrees, Array(50, 100))
val labelIndexer1 = new LabelIndexer()
val labelIndexer2 = new LabelIndexer()
…
val udf1: (Int => Int) = (delayed..)
val udf2: (String, Int) = …
df.withColumn(“timesDelayed”, udf1)
.withColumn(“percentPaid”, udf2)
.withColumn(“creditUsed”, udf3)
val scaler = new StandardScaler()
.setInputCol(“features”) …
11. www.verta.ai Confidential
Challenge 2. DS/ML vs. Software are Different worlds
!11
• Flexibility
• Prototyping
• Bespoke code
• Robustness
• Scale
• Generalization
17. www.verta.ai Confidential
Building an MLOps Pipeline with open-source:
Docker, Jenkins, Prometheus
!17
https://github.com/VertaAI/modeldb/tree/master/demos/webinar-2020-5-6
22. www.verta.ai Confidential!22
Challenge 1. Model Development is empirical & ad-hoc
Model 50
Accuracy: 82%
val udf1: (Int => Int) = (delayed..)
df.withColumn(“timesDelayed”, udf1)
RandomForestClassifier
credit-default-clean.csv
val lrGrid = new ParamGridBuilder()
.addGrid(rf.maxDepth, Array(5, 10, 15))
.addGrid(rf.numTrees, Array(50, 100))
val labelIndexer1 = new LabelIndexer()
val labelIndexer2 = new LabelIndexer()
…
val udf1: (Int => Int) = (delayed..)
val udf2: (String, Int) = …
df.withColumn(“timesDelayed”, udf1)
.withColumn(“percentPaid”, udf2)
.withColumn(“creditUsed”, udf3)
val scaler = new StandardScaler()
.setInputCol(“features”) …
32. www.verta.ai Confidential
What’s missing is ML-specific model versioning
• Uniquely identifies a model
• Enables user to go back in time and fully recreate a model
• Code
• Data
• Config
• Environment
• Allows branching, merging, diffs etc.
• Versioning that integrates into the ML workflow (e.g., library vs. CLI)
!32