SlideShare a Scribd company logo
1 of 20
Download to read offline
Productionalizing Models Through
CI/CD Design and MLflow
Mary Grace Moesta & Pete Tamisin
June 2020
About the Speakers
Peter Tamisin
Technical Lead, Customer Success
● 20+ year career focused on data
analytics and engineering
● Member of Databricks Automation SME
team contributing multiple blogs and
published best practice guides on
CI/CD
● Based in Atlanta, GA enjoys cheering on
the Atlanta Hawks and playing
video/board games with his wife and 4
kids
Mary Grace Moesta
Customer Success Engineer
● Supporting customers in the
retail and CPG space
● Former data scientist with
focused work on customer
experience and brand
acceleration
● Databricks Labs AutoML
contributor
● Based in Detroit, MI, enjoys
running and golfing in her free
time
Agenda
▪ Setting Definition and
Assumptions
▪ Defining MLops
▪ The importance of MLops in a production system
▪ Basics of CI/CD
▪ How MLflow pivots CI/CD basics for ML
▪ An Example of promoting ML
Code and a model as artifacts
▪ Version control
▪ Interfacing with MLflow
▪ Registering the Model
▪ Building DevOps pipeline to trigger production training and
inference runs
Continuous Delivery for Machine Learning
Danilo Sato, Arif Wider, Christoph windheuser
“Continuous Delivery for Machine Learning (CD4ML) is a software
engineering approach in which a cross-functional team produces machine
learning applications based on code, data, and models in small and safe
increments that can be reproduced and reliably released at any time, in short
adaptation cycles.”
Why MLops is Relevant
▪ The data science and machine learning development framework is
traditionally centered around local development
▪ Keeping work scoped to a scientist’s local laptop, code save locally, limited to the amount of compute in local machine, etc.
▪ As data and process complexity grows, so does the number of
integration points
▪ Leveraging tools like Spark means there is more machines to manage, data is stored across various locations, the cost of kicking off a
single run now becomes much more complex and expensive
▪ Machine learning operations allow for development at scale and hands
off execution of production runs
▪ Automated execution enables the business to implement these powerful machine learning solutions with ease
The Basics of Continuous Integration and
Continuous Delivery
▪ Code
▪ Develop code and run tests in a local IDE, Databricks,
Databricks Connect, etc.
▪ Manually run tests
▪ Commit code and tests to a version controlled code branch
▪ Build
▪ Pull together new code + tests
▪ Run automated tests
▪ Build library and non notebook code
▪ Release
▪ Generate Release Artifact
▪ Deploy
▪ Two methods of deployment
▪ Deploying notebooks
▪ Deploying Libraries / release artifacts
▪ Test
▪ Run automated tests
▪ Report results
▪ Operate
▪ Programatically schedule downstream data
engineering, machine learning, and analytics
workloads
Continuous DeliveryContinuous Integration
The Basics of Continuous Integration and
Continuous Delivery with an ML Twist
▪ Code
▪ Develop code and run tests in a local IDE, Databricks,
Databricks Connect, etc.
▪ Manually run tests
▪ Commit code and tests to a version controlled code branch
▪ Build
▪ Pull together new code + tests
▪ Run automated tests
▪ Build library and non notebook code
▪ Release
▪ Generate Release Artifact
▪ Deploy
▪ Two methods of deployment
▪ Deploying notebooks
▪ Deploying Libraries / release artifacts
▪ Test
▪ Run automated tests
▪ Report results
▪ Operate
▪ Programatically schedule downstream data
engineering, machine learning, and analytics
workloads
Continuous DeliveryContinuous Integration
➔ Batching scoring, real time serving, containers,
cloud inference services
➔ Leveraging tools like Jenkins, AzDO, ect to
trigger new model builds in production when
new changes are merged to master
➔ Using MLflow to track experiments, runs,
hyperparameters, code, artifacts, etc.
➔ Notebook / IDE environment to develop on feature
branches using favorite ML tools: sklearn, SparkML,
TF, pytorch, etc.
➔ Training runs at scale with new model features,
hyperparams, etc. implemented
➔ Tracking different model version in production using
Model Registry
➔ Model, entire pipeline, image, code etc. as artifacts
➔ Writing tests for the machine learning code /
feature engineering
How Contributes to Seamless MLOps
Staging Production Archived
Data Scientists Deployment Engineers
v1
v2
v3
Models Tracking
Flavor 2Flavor 1
Model Registry
Custom
Models
In-Line Code
Containers
Batch & Stream
Scoring
Cloud Inference
Services
OSS Serving
Solutions
Serving
Parameters Metrics Artifacts
ModelsMetadata
Code and Version Control
● Pick your favorite version control
○ Github, AzDo, Bitbucket, etc.
● Branch from master for development
○ Hyperparam space search, alternative feature sets, algorithm refinements, etc.
● Tracking development metrics and criteria using MLflow tracking
▪ Tracking artifacts that will be used in
the build / release stages
Controlling Model Flow Through Build and
Release Stages
▪ After new models
have been trained
in the feature
branch:
Parameterizing the
right experiment
path using widgets
Setting the decision
criteria for a best run
Searching through filtered
runs to identify the best_run
and build the model URI to
programmatically reference
later
Controlling Model Flow Through Build and
Release Stages
▪ Once the best_run has been
identified, use Model
Registry to track the flow of
models in and out of
production
▪ Note that the stages defined
in the registry do not directly
translate to environments
▪ The registry also doesn’t span
multiple workspaces, they
map 1:1 to workspace.
Initially
register the
new model
Archive the current
model out of production
Promote to
production stage
Continuous Deployment
▪ Deployment depends on the business problem and the SLA attached
▪ Let’s look at batch inference as an example:
Pipeline is triggered anytime there’s a
change to master branch (release)
Environment variables + secrets that
have been redacted from the script
Continuous Deployment Example: AzDo Pipeline
Defining the instance
OS
Installing Python
Installing Databricks
CLI
Configuring the
Databricks CLI with a
secret token
Copying Code to Hands off Production
Environments
▪ Copy the code from the master branch to a desired location
▪ This could be a ‘hands off’ production environment, isolated within a single workspace, etc.
Building and Spinning Up the Cluster
Specifying the cluster
configuration
Booting up the
cluster
Make the Inference Job with Parameters
▪ Create the jobs using the name
defined as an environment variable
▪ Passing the parameters which specify
the experiment location
▪ Setting job configurations
▪ Increasing number of concurrent runs
allows to run multiple inference jobs at
the same time
Running the Inference Job
▪ Uses the run-now endpoint to run the job via API
▪ The job shows up in the Databricks UI
▪ Can navigate using the GUI or API to get more details about each job run
Wrapping it all Up
▪ MLops is an important piece of the machine learning framework that
enables the business to consume downstream results with ease
▪ The basics of CI/CD can be pivoted to fit the structure of a machine
learning project to help establish the feedback loop from development
to production
▪ can act that the governing body to help regulate and track
the entire lifecycle
▪ Automation tools like Jenkins, Azure DevOps, etc. are applied to
orchestrate the end to end process
Feedback
Your feedback is important to us.
Don’t forget to rate and
review the sessions.

More Related Content

What's hot

MLFlow: Platform for Complete Machine Learning Lifecycle
MLFlow: Platform for Complete Machine Learning Lifecycle MLFlow: Platform for Complete Machine Learning Lifecycle
MLFlow: Platform for Complete Machine Learning Lifecycle
Databricks
 
Using MLOps to Bring ML to Production/The Promise of MLOps
Using MLOps to Bring ML to Production/The Promise of MLOpsUsing MLOps to Bring ML to Production/The Promise of MLOps
Using MLOps to Bring ML to Production/The Promise of MLOps
Weaveworks
 

What's hot (20)

Big data architectures and the data lake
Big data architectures and the data lakeBig data architectures and the data lake
Big data architectures and the data lake
 
What is MLOps
What is MLOpsWhat is MLOps
What is MLOps
 
Introduction to Data Engineer and Data Pipeline at Credit OK
Introduction to Data Engineer and Data Pipeline at Credit OKIntroduction to Data Engineer and Data Pipeline at Credit OK
Introduction to Data Engineer and Data Pipeline at Credit OK
 
MLFlow: Platform for Complete Machine Learning Lifecycle
MLFlow: Platform for Complete Machine Learning Lifecycle MLFlow: Platform for Complete Machine Learning Lifecycle
MLFlow: Platform for Complete Machine Learning Lifecycle
 
Google Vertex AI
Google Vertex AIGoogle Vertex AI
Google Vertex AI
 
Vertex AI: Pipelines for your MLOps workflows
Vertex AI: Pipelines for your MLOps workflowsVertex AI: Pipelines for your MLOps workflows
Vertex AI: Pipelines for your MLOps workflows
 
Pythonsevilla2019 - Introduction to MLFlow
Pythonsevilla2019 - Introduction to MLFlowPythonsevilla2019 - Introduction to MLFlow
Pythonsevilla2019 - Introduction to MLFlow
 
Lakehouse in Azure
Lakehouse in AzureLakehouse in Azure
Lakehouse in Azure
 
Azure Synapse Analytics Overview (r2)
Azure Synapse Analytics Overview (r2)Azure Synapse Analytics Overview (r2)
Azure Synapse Analytics Overview (r2)
 
Building a modern data warehouse
Building a modern data warehouseBuilding a modern data warehouse
Building a modern data warehouse
 
NOVA SQL User Group - Azure Synapse Analytics Overview - May 2020
NOVA SQL User Group - Azure Synapse Analytics Overview -  May 2020NOVA SQL User Group - Azure Synapse Analytics Overview -  May 2020
NOVA SQL User Group - Azure Synapse Analytics Overview - May 2020
 
Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...
Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...
Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...
 
Using MLOps to Bring ML to Production/The Promise of MLOps
Using MLOps to Bring ML to Production/The Promise of MLOpsUsing MLOps to Bring ML to Production/The Promise of MLOps
Using MLOps to Bring ML to Production/The Promise of MLOps
 
Vertex AI - Unified ML Platform for the entire AI workflow on Google Cloud
Vertex AI - Unified ML Platform for the entire AI workflow on Google CloudVertex AI - Unified ML Platform for the entire AI workflow on Google Cloud
Vertex AI - Unified ML Platform for the entire AI workflow on Google Cloud
 
Ml ops on AWS
Ml ops on AWSMl ops on AWS
Ml ops on AWS
 
Introduction to MLflow
Introduction to MLflowIntroduction to MLflow
Introduction to MLflow
 
Seamless MLOps with Seldon and MLflow
Seamless MLOps with Seldon and MLflowSeamless MLOps with Seldon and MLflow
Seamless MLOps with Seldon and MLflow
 
Architecting a datalake
Architecting a datalakeArchitecting a datalake
Architecting a datalake
 
Siligong.Data - May 2021 - Transforming your analytics workflow with dbt
Siligong.Data - May 2021 - Transforming your analytics workflow with dbtSiligong.Data - May 2021 - Transforming your analytics workflow with dbt
Siligong.Data - May 2021 - Transforming your analytics workflow with dbt
 
NoSQL databases
NoSQL databasesNoSQL databases
NoSQL databases
 

Similar to Productionalizing Models through CI/CD Design with MLflow

Building A Product Assortment Recommendation Engine
Building A Product Assortment Recommendation EngineBuilding A Product Assortment Recommendation Engine
Building A Product Assortment Recommendation Engine
Databricks
 

Similar to Productionalizing Models through CI/CD Design with MLflow (20)

Continuous delivery for machine learning
Continuous delivery for machine learningContinuous delivery for machine learning
Continuous delivery for machine learning
 
Enabling Scalable Data Science Pipeline with Mlflow at Thermo Fisher Scientific
Enabling Scalable Data Science Pipeline with Mlflow at Thermo Fisher ScientificEnabling Scalable Data Science Pipeline with Mlflow at Thermo Fisher Scientific
Enabling Scalable Data Science Pipeline with Mlflow at Thermo Fisher Scientific
 
Building A Product Assortment Recommendation Engine
Building A Product Assortment Recommendation EngineBuilding A Product Assortment Recommendation Engine
Building A Product Assortment Recommendation Engine
 
[DSC Europe 23] Petar Zecevic - ML in Production on Databricks
[DSC Europe 23] Petar Zecevic - ML in Production on Databricks[DSC Europe 23] Petar Zecevic - ML in Production on Databricks
[DSC Europe 23] Petar Zecevic - ML in Production on Databricks
 
ALM Tour 2013 - Entregar a tiempo y sin errores
ALM Tour 2013 - Entregar a tiempo y sin erroresALM Tour 2013 - Entregar a tiempo y sin errores
ALM Tour 2013 - Entregar a tiempo y sin errores
 
Productionizing Real-time Serving With MLflow
Productionizing Real-time Serving With MLflowProductionizing Real-time Serving With MLflow
Productionizing Real-time Serving With MLflow
 
Productionizing Machine Learning with a Microservices Architecture
Productionizing Machine Learning with a Microservices ArchitectureProductionizing Machine Learning with a Microservices Architecture
Productionizing Machine Learning with a Microservices Architecture
 
DOES14 - David Ashman - Blackboard Learn - Keep Your Head in the Clouds
DOES14 - David Ashman - Blackboard Learn - Keep Your Head in the CloudsDOES14 - David Ashman - Blackboard Learn - Keep Your Head in the Clouds
DOES14 - David Ashman - Blackboard Learn - Keep Your Head in the Clouds
 
DOES14 - David Ashman, Blackboard Learn - Keep Your Head in the Clouds Tuesda...
DOES14 - David Ashman, Blackboard Learn - Keep Your Head in the Clouds Tuesda...DOES14 - David Ashman, Blackboard Learn - Keep Your Head in the Clouds Tuesda...
DOES14 - David Ashman, Blackboard Learn - Keep Your Head in the Clouds Tuesda...
 
From Data Science to MLOps
From Data Science to MLOpsFrom Data Science to MLOps
From Data Science to MLOps
 
DEVOPS AND MACHINE LEARNING
DEVOPS AND MACHINE LEARNINGDEVOPS AND MACHINE LEARNING
DEVOPS AND MACHINE LEARNING
 
DevOps for Machine Learning overview en-us
DevOps for Machine Learning overview en-usDevOps for Machine Learning overview en-us
DevOps for Machine Learning overview en-us
 
Csharp corner toronto vs2019 post launch 10 apr 2019 nilesh shah
Csharp corner toronto vs2019 post launch 10 apr 2019 nilesh shahCsharp corner toronto vs2019 post launch 10 apr 2019 nilesh shah
Csharp corner toronto vs2019 post launch 10 apr 2019 nilesh shah
 
Structured Streaming in Spark
Structured Streaming in SparkStructured Streaming in Spark
Structured Streaming in Spark
 
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at Databricks
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at DatabricksLessons from Building Large-Scale, Multi-Cloud, SaaS Software at Databricks
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at Databricks
 
#spsclt18 vincent biret #spfx #devops
#spsclt18 vincent biret #spfx #devops#spsclt18 vincent biret #spfx #devops
#spsclt18 vincent biret #spfx #devops
 
MLOPS By Amazon offered and free download
MLOPS By Amazon offered and free downloadMLOPS By Amazon offered and free download
MLOPS By Amazon offered and free download
 
Trenowanie i wdrażanie modeli uczenia maszynowego z wykorzystaniem Google Clo...
Trenowanie i wdrażanie modeli uczenia maszynowego z wykorzystaniem Google Clo...Trenowanie i wdrażanie modeli uczenia maszynowego z wykorzystaniem Google Clo...
Trenowanie i wdrażanie modeli uczenia maszynowego z wykorzystaniem Google Clo...
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
 
Efficiently Building Machine Learning Models for Predictive Maintenance in th...
Efficiently Building Machine Learning Models for Predictive Maintenance in th...Efficiently Building Machine Learning Models for Predictive Maintenance in th...
Efficiently Building Machine Learning Models for Predictive Maintenance in th...
 

More from Databricks

Democratizing Data Quality Through a Centralized Platform
Democratizing Data Quality Through a Centralized PlatformDemocratizing Data Quality Through a Centralized Platform
Democratizing Data Quality Through a Centralized Platform
Databricks
 
Stage Level Scheduling Improving Big Data and AI Integration
Stage Level Scheduling Improving Big Data and AI IntegrationStage Level Scheduling Improving Big Data and AI Integration
Stage Level Scheduling Improving Big Data and AI Integration
Databricks
 
Simplify Data Conversion from Spark to TensorFlow and PyTorch
Simplify Data Conversion from Spark to TensorFlow and PyTorchSimplify Data Conversion from Spark to TensorFlow and PyTorch
Simplify Data Conversion from Spark to TensorFlow and PyTorch
Databricks
 
Raven: End-to-end Optimization of ML Prediction Queries
Raven: End-to-end Optimization of ML Prediction QueriesRaven: End-to-end Optimization of ML Prediction Queries
Raven: End-to-end Optimization of ML Prediction Queries
Databricks
 
Processing Large Datasets for ADAS Applications using Apache Spark
Processing Large Datasets for ADAS Applications using Apache SparkProcessing Large Datasets for ADAS Applications using Apache Spark
Processing Large Datasets for ADAS Applications using Apache Spark
Databricks
 

More from Databricks (20)

DW Migration Webinar-March 2022.pptx
DW Migration Webinar-March 2022.pptxDW Migration Webinar-March 2022.pptx
DW Migration Webinar-March 2022.pptx
 
Data Lakehouse Symposium | Day 1 | Part 1
Data Lakehouse Symposium | Day 1 | Part 1Data Lakehouse Symposium | Day 1 | Part 1
Data Lakehouse Symposium | Day 1 | Part 1
 
Data Lakehouse Symposium | Day 1 | Part 2
Data Lakehouse Symposium | Day 1 | Part 2Data Lakehouse Symposium | Day 1 | Part 2
Data Lakehouse Symposium | Day 1 | Part 2
 
Data Lakehouse Symposium | Day 2
Data Lakehouse Symposium | Day 2Data Lakehouse Symposium | Day 2
Data Lakehouse Symposium | Day 2
 
Data Lakehouse Symposium | Day 4
Data Lakehouse Symposium | Day 4Data Lakehouse Symposium | Day 4
Data Lakehouse Symposium | Day 4
 
5 Critical Steps to Clean Your Data Swamp When Migrating Off of Hadoop
5 Critical Steps to Clean Your Data Swamp When Migrating Off of Hadoop5 Critical Steps to Clean Your Data Swamp When Migrating Off of Hadoop
5 Critical Steps to Clean Your Data Swamp When Migrating Off of Hadoop
 
Democratizing Data Quality Through a Centralized Platform
Democratizing Data Quality Through a Centralized PlatformDemocratizing Data Quality Through a Centralized Platform
Democratizing Data Quality Through a Centralized Platform
 
Learn to Use Databricks for Data Science
Learn to Use Databricks for Data ScienceLearn to Use Databricks for Data Science
Learn to Use Databricks for Data Science
 
Why APM Is Not the Same As ML Monitoring
Why APM Is Not the Same As ML MonitoringWhy APM Is Not the Same As ML Monitoring
Why APM Is Not the Same As ML Monitoring
 
The Function, the Context, and the Data—Enabling ML Ops at Stitch Fix
The Function, the Context, and the Data—Enabling ML Ops at Stitch FixThe Function, the Context, and the Data—Enabling ML Ops at Stitch Fix
The Function, the Context, and the Data—Enabling ML Ops at Stitch Fix
 
Stage Level Scheduling Improving Big Data and AI Integration
Stage Level Scheduling Improving Big Data and AI IntegrationStage Level Scheduling Improving Big Data and AI Integration
Stage Level Scheduling Improving Big Data and AI Integration
 
Simplify Data Conversion from Spark to TensorFlow and PyTorch
Simplify Data Conversion from Spark to TensorFlow and PyTorchSimplify Data Conversion from Spark to TensorFlow and PyTorch
Simplify Data Conversion from Spark to TensorFlow and PyTorch
 
Scaling your Data Pipelines with Apache Spark on Kubernetes
Scaling your Data Pipelines with Apache Spark on KubernetesScaling your Data Pipelines with Apache Spark on Kubernetes
Scaling your Data Pipelines with Apache Spark on Kubernetes
 
Scaling and Unifying SciKit Learn and Apache Spark Pipelines
Scaling and Unifying SciKit Learn and Apache Spark PipelinesScaling and Unifying SciKit Learn and Apache Spark Pipelines
Scaling and Unifying SciKit Learn and Apache Spark Pipelines
 
Sawtooth Windows for Feature Aggregations
Sawtooth Windows for Feature AggregationsSawtooth Windows for Feature Aggregations
Sawtooth Windows for Feature Aggregations
 
Redis + Apache Spark = Swiss Army Knife Meets Kitchen Sink
Redis + Apache Spark = Swiss Army Knife Meets Kitchen SinkRedis + Apache Spark = Swiss Army Knife Meets Kitchen Sink
Redis + Apache Spark = Swiss Army Knife Meets Kitchen Sink
 
Re-imagine Data Monitoring with whylogs and Spark
Re-imagine Data Monitoring with whylogs and SparkRe-imagine Data Monitoring with whylogs and Spark
Re-imagine Data Monitoring with whylogs and Spark
 
Raven: End-to-end Optimization of ML Prediction Queries
Raven: End-to-end Optimization of ML Prediction QueriesRaven: End-to-end Optimization of ML Prediction Queries
Raven: End-to-end Optimization of ML Prediction Queries
 
Processing Large Datasets for ADAS Applications using Apache Spark
Processing Large Datasets for ADAS Applications using Apache SparkProcessing Large Datasets for ADAS Applications using Apache Spark
Processing Large Datasets for ADAS Applications using Apache Spark
 
Massive Data Processing in Adobe Using Delta Lake
Massive Data Processing in Adobe Using Delta LakeMassive Data Processing in Adobe Using Delta Lake
Massive Data Processing in Adobe Using Delta Lake
 

Recently uploaded

➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men 🔝Bangalore🔝 Esc...
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men  🔝Bangalore🔝   Esc...➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men  🔝Bangalore🔝   Esc...
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men 🔝Bangalore🔝 Esc...
amitlee9823
 
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
CHEAP Call Girls in Rabindra Nagar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Rabindra Nagar  (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Rabindra Nagar  (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Rabindra Nagar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
amitlee9823
 
Call Girls Indiranagar Just Call 👗 9155563397 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 9155563397 👗 Top Class Call Girl Service B...Call Girls Indiranagar Just Call 👗 9155563397 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 9155563397 👗 Top Class Call Girl Service B...
only4webmaster01
 
Abortion pills in Jeddah | +966572737505 | Get Cytotec
Abortion pills in Jeddah | +966572737505 | Get CytotecAbortion pills in Jeddah | +966572737505 | Get Cytotec
Abortion pills in Jeddah | +966572737505 | Get Cytotec
Abortion pills in Riyadh +966572737505 get cytotec
 
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts ServiceCall Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
amitlee9823
 
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
amitlee9823
 
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night StandCall Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
amitlee9823
 

Recently uploaded (20)

➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men 🔝Bangalore🔝 Esc...
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men  🔝Bangalore🔝   Esc...➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men  🔝Bangalore🔝   Esc...
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men 🔝Bangalore🔝 Esc...
 
(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7
(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7
(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7
 
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
 
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysis
 
Detecting Credit Card Fraud: A Machine Learning Approach
Detecting Credit Card Fraud: A Machine Learning ApproachDetecting Credit Card Fraud: A Machine Learning Approach
Detecting Credit Card Fraud: A Machine Learning Approach
 
hybrid Seed Production In Chilli & Capsicum.pptx
hybrid Seed Production In Chilli & Capsicum.pptxhybrid Seed Production In Chilli & Capsicum.pptx
hybrid Seed Production In Chilli & Capsicum.pptx
 
CHEAP Call Girls in Rabindra Nagar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Rabindra Nagar  (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Rabindra Nagar  (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Rabindra Nagar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
 
Predicting Loan Approval: A Data Science Project
Predicting Loan Approval: A Data Science ProjectPredicting Loan Approval: A Data Science Project
Predicting Loan Approval: A Data Science Project
 
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
 
Call Girls Indiranagar Just Call 👗 9155563397 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 9155563397 👗 Top Class Call Girl Service B...Call Girls Indiranagar Just Call 👗 9155563397 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 9155563397 👗 Top Class Call Girl Service B...
 
Abortion pills in Jeddah | +966572737505 | Get Cytotec
Abortion pills in Jeddah | +966572737505 | Get CytotecAbortion pills in Jeddah | +966572737505 | Get Cytotec
Abortion pills in Jeddah | +966572737505 | Get Cytotec
 
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts ServiceCall Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
 
Thane Call Girls 7091864438 Call Girls in Thane Escort service book now -
Thane Call Girls 7091864438 Call Girls in Thane Escort service book now -Thane Call Girls 7091864438 Call Girls in Thane Escort service book now -
Thane Call Girls 7091864438 Call Girls in Thane Escort service book now -
 
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
 
Anomaly detection and data imputation within time series
Anomaly detection and data imputation within time seriesAnomaly detection and data imputation within time series
Anomaly detection and data imputation within time series
 
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
 
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 nightCheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
 
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night StandCall Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
 

Productionalizing Models through CI/CD Design with MLflow

  • 1.
  • 2. Productionalizing Models Through CI/CD Design and MLflow Mary Grace Moesta & Pete Tamisin June 2020
  • 3. About the Speakers Peter Tamisin Technical Lead, Customer Success ● 20+ year career focused on data analytics and engineering ● Member of Databricks Automation SME team contributing multiple blogs and published best practice guides on CI/CD ● Based in Atlanta, GA enjoys cheering on the Atlanta Hawks and playing video/board games with his wife and 4 kids Mary Grace Moesta Customer Success Engineer ● Supporting customers in the retail and CPG space ● Former data scientist with focused work on customer experience and brand acceleration ● Databricks Labs AutoML contributor ● Based in Detroit, MI, enjoys running and golfing in her free time
  • 4. Agenda ▪ Setting Definition and Assumptions ▪ Defining MLops ▪ The importance of MLops in a production system ▪ Basics of CI/CD ▪ How MLflow pivots CI/CD basics for ML ▪ An Example of promoting ML Code and a model as artifacts ▪ Version control ▪ Interfacing with MLflow ▪ Registering the Model ▪ Building DevOps pipeline to trigger production training and inference runs
  • 5. Continuous Delivery for Machine Learning Danilo Sato, Arif Wider, Christoph windheuser “Continuous Delivery for Machine Learning (CD4ML) is a software engineering approach in which a cross-functional team produces machine learning applications based on code, data, and models in small and safe increments that can be reproduced and reliably released at any time, in short adaptation cycles.”
  • 6. Why MLops is Relevant ▪ The data science and machine learning development framework is traditionally centered around local development ▪ Keeping work scoped to a scientist’s local laptop, code save locally, limited to the amount of compute in local machine, etc. ▪ As data and process complexity grows, so does the number of integration points ▪ Leveraging tools like Spark means there is more machines to manage, data is stored across various locations, the cost of kicking off a single run now becomes much more complex and expensive ▪ Machine learning operations allow for development at scale and hands off execution of production runs ▪ Automated execution enables the business to implement these powerful machine learning solutions with ease
  • 7. The Basics of Continuous Integration and Continuous Delivery ▪ Code ▪ Develop code and run tests in a local IDE, Databricks, Databricks Connect, etc. ▪ Manually run tests ▪ Commit code and tests to a version controlled code branch ▪ Build ▪ Pull together new code + tests ▪ Run automated tests ▪ Build library and non notebook code ▪ Release ▪ Generate Release Artifact ▪ Deploy ▪ Two methods of deployment ▪ Deploying notebooks ▪ Deploying Libraries / release artifacts ▪ Test ▪ Run automated tests ▪ Report results ▪ Operate ▪ Programatically schedule downstream data engineering, machine learning, and analytics workloads Continuous DeliveryContinuous Integration
  • 8. The Basics of Continuous Integration and Continuous Delivery with an ML Twist ▪ Code ▪ Develop code and run tests in a local IDE, Databricks, Databricks Connect, etc. ▪ Manually run tests ▪ Commit code and tests to a version controlled code branch ▪ Build ▪ Pull together new code + tests ▪ Run automated tests ▪ Build library and non notebook code ▪ Release ▪ Generate Release Artifact ▪ Deploy ▪ Two methods of deployment ▪ Deploying notebooks ▪ Deploying Libraries / release artifacts ▪ Test ▪ Run automated tests ▪ Report results ▪ Operate ▪ Programatically schedule downstream data engineering, machine learning, and analytics workloads Continuous DeliveryContinuous Integration ➔ Batching scoring, real time serving, containers, cloud inference services ➔ Leveraging tools like Jenkins, AzDO, ect to trigger new model builds in production when new changes are merged to master ➔ Using MLflow to track experiments, runs, hyperparameters, code, artifacts, etc. ➔ Notebook / IDE environment to develop on feature branches using favorite ML tools: sklearn, SparkML, TF, pytorch, etc. ➔ Training runs at scale with new model features, hyperparams, etc. implemented ➔ Tracking different model version in production using Model Registry ➔ Model, entire pipeline, image, code etc. as artifacts ➔ Writing tests for the machine learning code / feature engineering
  • 9. How Contributes to Seamless MLOps Staging Production Archived Data Scientists Deployment Engineers v1 v2 v3 Models Tracking Flavor 2Flavor 1 Model Registry Custom Models In-Line Code Containers Batch & Stream Scoring Cloud Inference Services OSS Serving Solutions Serving Parameters Metrics Artifacts ModelsMetadata
  • 10. Code and Version Control ● Pick your favorite version control ○ Github, AzDo, Bitbucket, etc. ● Branch from master for development ○ Hyperparam space search, alternative feature sets, algorithm refinements, etc. ● Tracking development metrics and criteria using MLflow tracking ▪ Tracking artifacts that will be used in the build / release stages
  • 11. Controlling Model Flow Through Build and Release Stages ▪ After new models have been trained in the feature branch: Parameterizing the right experiment path using widgets Setting the decision criteria for a best run Searching through filtered runs to identify the best_run and build the model URI to programmatically reference later
  • 12. Controlling Model Flow Through Build and Release Stages ▪ Once the best_run has been identified, use Model Registry to track the flow of models in and out of production ▪ Note that the stages defined in the registry do not directly translate to environments ▪ The registry also doesn’t span multiple workspaces, they map 1:1 to workspace. Initially register the new model Archive the current model out of production Promote to production stage
  • 13. Continuous Deployment ▪ Deployment depends on the business problem and the SLA attached ▪ Let’s look at batch inference as an example: Pipeline is triggered anytime there’s a change to master branch (release) Environment variables + secrets that have been redacted from the script
  • 14. Continuous Deployment Example: AzDo Pipeline Defining the instance OS Installing Python Installing Databricks CLI Configuring the Databricks CLI with a secret token
  • 15. Copying Code to Hands off Production Environments ▪ Copy the code from the master branch to a desired location ▪ This could be a ‘hands off’ production environment, isolated within a single workspace, etc.
  • 16. Building and Spinning Up the Cluster Specifying the cluster configuration Booting up the cluster
  • 17. Make the Inference Job with Parameters ▪ Create the jobs using the name defined as an environment variable ▪ Passing the parameters which specify the experiment location ▪ Setting job configurations ▪ Increasing number of concurrent runs allows to run multiple inference jobs at the same time
  • 18. Running the Inference Job ▪ Uses the run-now endpoint to run the job via API ▪ The job shows up in the Databricks UI ▪ Can navigate using the GUI or API to get more details about each job run
  • 19. Wrapping it all Up ▪ MLops is an important piece of the machine learning framework that enables the business to consume downstream results with ease ▪ The basics of CI/CD can be pivoted to fit the structure of a machine learning project to help establish the feedback loop from development to production ▪ can act that the governing body to help regulate and track the entire lifecycle ▪ Automation tools like Jenkins, Azure DevOps, etc. are applied to orchestrate the end to end process
  • 20. Feedback Your feedback is important to us. Don’t forget to rate and review the sessions.