SlideShare una empresa de Scribd logo
1 de 71
Descargar para leer sin conexión
End-to-End ML Pipelines
TFX + KubeFlow + Airflow
Chris Fregly
Founder @ .
Founder @ PipelineAI
Real-time Machine Learning and AI in Production
Former Databricks, Netflix
Apache Spark Contributor
O’Reilly Author
High Performance TensorFlow in Production
Meetup Organizer
Advanced Spark and TensorFlow Meetup
Who Am I? (@cfregly)
Advanced Spark and TensorFlow Meetup (Global, Monthly Events)
https://meetup.com/Advanced-Spark-and-TensorFlow-Meetup
Community Edition
https://community.pipeline.ai
1 OK with Command Line?
2 OK with Python?
3 OK with Linear Algebra?
Who are you?
4 OK with Docker?
6
5 OK with Jupyter Notebook?
Note #1 of 10
IGNORE WARNINGS & ERRORS
Everything will be OK!
Note #2 of 10
THERE IS A LOT OF MATERIAL HERE
Many opportunities to explore on your own.
Note #3 of 10
YOU HAVE YOUR OWN INSTANCE
16 CPU, 104 GB RAM, 200GB SSD
And access to TPUv3 Cluster
Note #4 of 10
DATASETS
Chicago Taxi Dataset
Fashion MNIST
(and various others)
Note #5 of 10
SOME NOTEBOOKS TAKE MINUTES
Please be patient.
We are using large datasets!
Note #6 of 10
QUESTIONS?
Post questions to Zoom chat or Q&A.
Antje and I will answer soon.
Antje Barth =>
Note #7 of 10
KUBEFLOW IS NOT A SILVER BULLET
There are still gaps in the pipeline.
(But the gaps are shrinking.)
Note #8 of 10
THIS IS NOT CLOUD DEPENDENT*
*Except for 2 small exceptions…
Patches are underway.
Note #9 of 10
PRIMARILY TENSORFLOW 1.x
TF 2.x is not yet fully supported by TFX
(We have a section on TF 2.x)
Note #10 of 10
SHUTDOWN EACH NOTEBOOK AFTER
We are using complex browser voo-doo.
System 6
System 5System 4
Training
At Scale
System 3
System 1
Data
Ingestion
Data
Analysis
Data
Transform
Data
Validation
System 2
Build
Model
Model
Validation
Serving Logging
Monitoring
Roll-out
Data
Splitting
Ad-Hoc
Training
Why TFX and Why KubeFlow?
Improve Training/Serving
Consistency
Unify Disparate Systems
Manage Pipeline Complexity
Improve Portability
Wrangle Large Datasets
Improve Model Quality
Manage Versions
Composability
Distributed
Training
Configure
1 Setup Environment with Kubernetes
TensorFlow Extended (TFX)
ML Pipelines with Airflow and KubeFlow
Agenda
Hyper-Parameter Tuning with KubeFlow
Deploy Notebook with Kubernetes
2
3
4
5
Bonus Extras!
6 TPUs
MLflow
RedisAI + TensorFlow + PyTorch
TensorFlow 2.0
TensorFlow Privacy Libraries
7
8
9
10
Hands On
00_Explore_Environment
1.1 Kubernetes
TensorFlow Extended (TFX)
Airflow ML Pipelines
1.0 Environment Overview
KubeFlow ML Pipelines
6
Hyper-Parameter Tuning (Katib)
Prediction Traffic Router (Istio)
1.2
1.3
1.4
1.5
1.6
1.1 Kubernetes
Kubernetes
NFS
Ceph
Cassandra
MySQL
Spark
Airflow
Tensorflow
Caffe
TF-Serving
Flask+Scikit
Operating system (Linux, Windows)
CPU Memory DiskSSD GPU FPGA ASIC NIC
Jupyter
GCP AWS Azure On-prem
Namespace
Quota Logging
Monitoring RBAC
Hands On
01_Explore_Kubernetes_Cluster
1.2 TensorFlow Extended (TFX)
Feature
Load
Feature
Analyze Feature
Transform
Model
Train
Model
Evalute
Model
Deploy
Reproduce
Training
1.3 Airflow ML Pipelines
1.4 KubeFlow ML Pipelines
1.5 Hyper-Parameter Tuning (Katib)
1.6 Prediction Traffic Routing (Istio)
1 Setup Environment with Kubernetes
TensorFlow Extended (TFX)
ML Pipelines with Airflow and KubeFlow
Agenda
Hyper-Parameter Tuning with KubeFlow
Deploy Notebook with Kubernetes
2
3
4
5
2.1 TFX Internals
2.0 TFX Components
6
Feature
Load
Feature
Analyze Feature
Transform
Model
Train
Model
Evaluate
Model
Deploy Reproduce
Training
2.2 TFX Libraries
2.2 TFX Components
2.1 TFX Internals
Driver/Publisher
Moves data to/from Metadata Store
Executor
Runs the Actual Processing Code
Metadata Store
Artifact, execution, and lineage Info
Track inputs & outputs of all components
Stores training run including inputs & outputs
Analysis, validation, and versioning resultsc
Feature
Load
Feature
Analyze Feature
Transform
Model
Train
Model
Evaluate
Model
Deploy Reproduce
Training
2.2 TFX Libraries
2.2.1
TFX Components Use These Core TFX Libraries:
TensorFlow Data Validation (TFDV)
TensorFlow Transform (TFT)
TensorFlow Model Analysis (TFMA)
TensorFlow Metadata (TFMD) + ML Metadata (MLMD)
2.2.2
2.2.3
2.2.4
2.2.1 TFX Libraries - TFDV
TensorFlow Data Validation (TFDV)
Find Missing, Redundant & Important Features
Identify Features with Unusually-Large Scale
`infer_schema()` Generates Schema
Describe Feature Ranges
Detect Data Drift
Feature
Load
Feature
Analyze Feature
Transform
Model
Train
Model
Evaluate
Model
Deploy Reproduce
Training
Uniformly
Distributed Data è
ç Non-Uniformly
Distributed Data
Hands On
02_TensorFlow_Data_Validation
(TFDV)
2.2.2 TFX Libraries - TFT
TensorFlow Transform (TFT)
Preprocess `tf.Example` data with TensorFlow
Useful for data that requires a full pass
Normalize all inputs by mean and std dev
Create vocabulary of strings è integers over all data
Bucketize features based on entire data distribution
Outputs a TensorFlow graph
Re-used across both training and serving
Uses Apache Beam (local mode) for Parallel Analysis
Can also use distributed mode
`preprocessing_fn(inputs)`: Primary Fn to Implement
Feature
Load
Feature
Analyze Feature
Transform
Model
Train
Model
Evaluate
Model
Deploy Reproduce
Training
import tensorflow as tf
import tensorflow_transform as tft
def preprocessing_fn(inputs):
x = inputs['x']
y = inputs['y']
s = inputs['s']
x_centered = x - tft.mean(x)
y_normalized = tft.scale_to_0_1(y)
s_integerized = tft.compute_and_apply_vocabulary(s)
x_centered_times_y_normalized = x_centered * y_normalized
return {
'x_centered': x_centered,
'y_normalized': y_normalized,
'x_centered_times_y_normalized':x_centered_times_y_normalized,
's_integerized': s_integerized
}
Hands On
03_TensorFlow_Transform
(TFT)
2.2.3 TFX Libraries - TFMA
TensorFlow Model Analysis (TFMA)
Analyze Model on Different Slices of Dataset
Track Metrics Over Time (“Next Day Eval”)
`EvalSavedModel` Contains Slicing Info
TFMA Pipeline: Read, Extract, Evaluate, Write
ie. Ensure Model Works Fairly Across All Users
Feature
Load
Feature
Analyze Feature
Transform
Model
Train
Model
Evaluate
Model
Deploy Reproduce
Training
Hands On
04_TensorFlow_Model_Analysis
(TFMA)
2.2.4 TFX Libraries – Metadata
TensorFlow Metadata (TFMD)
ML Metadata (MLMD)
Record and Retrieve Experiment Metadata
Artifact, Execution, and Lineage Info
Track Inputs / Outputs of All TFX Components
Stores Training Run Info
Analysis and Validation Results
Model Versioning Info
Feature
Load
Feature
Analyze Feature
Transform
Model
Train
Model
Evaluate
Model
Deploy Reproduce
Training
2.3 TFX Components
ExampleGen
StatisticsGen
SchemaGen
ExampleValidator
Evaluator
Transform
ModelValidator
Trainer
Model Pusher2.3.92.3.1
2.3.2
2.3.3
2.3.4
2.3.5
2.3.6
2.3.7
2.3.8
Slack (!!)2.3.10
2.3.1 ExampleGen
Feature
Load
Feature
Analyze Feature
Transform
Model
Train
Model
Evaluate
Model
Deploy Reproduce
Training
Load Training Data Into TFX Pipeline
Supports External Data Sources
Supports CSV and TFRecord Formats
Converts Data to tf.Example
Note: TFX Pipelines require tf.Example (?!)
Difficult to use non-TensorFlow models like XGBoost
from tfx.utils.dsl_utils import csv_input
from
tfx.components.example_gen.csv_example_gen.component
import CsvExampleGen
examples = csv_input(os.path.join(base_dir, 'data/simple'))
example_gen = CsvExampleGen(input_base=examples)
2.3.2 StatisticsGen
Feature
Load
Feature
Analyze Feature
Transform
Model
Train
Model
Evaluate
Model
Deploy Reproduce
Training
Generates Statistics on Training Data
Consumes tf.Example instances
from tfx import components
compute_eval_stats = components.StatisticsGen(
input_data=examples_gen.outputs.eval_examples,
name='compute-eval-stats'
)
2.3.3 SchemaGen
Feature
Load
Feature
Analyze Feature
Transform
Model
Train
Model
Evaluate
Model
Deploy Reproduce
Training
Schema Needed by Some TFX Components
Data Types, Value Ranges, Optional, Required
Consumes Data from StatisticsGen
Auto-gen `schema.proto` from training data
Schema used by TFDV, TFT, TFMA Libraries
Uses TFDV Library to infer schema
Best effort and basic
Human should verify
feature {
name: "age"
value_count {
min: 1
max: 1
}
type: FLOAT
presence {
min_fraction: 1
min_count: 1
}
}
from tfx import components
infer_schema = components.SchemaGen(
stats=compute_training_stats.outputs.output)
2.3.4 ExampleValidator
Feature
Load
Feature
Analyze Feature
Transform
Model
Train
Model
Evaluate
Model
Deploy Reproduce
Training
Identifies Anomalies in Training Data
Used with serving data to detect drift / skew
Uses StatisticsGen and SchemaGen Outputs
Produces Validation Results
Uses TFDV Library for Input Validation
feature {
name: "age"
value_count {
min: 1
max: 1
}
type: FLOAT
presence {
min_fraction: 1
min_count: 1
}
}
from tfx import components
infer_schema = components.SchemaGen(
stats=compute_training_stats.outputs.output
)
2.3.5 Transform
Feature
Load
Feature
Analyze Feature
Transform
Model
Train
Model
Evaluate
Model
Deploy Reproduce
Training
Uses Data from ExampleGen and SchemaGen
Transformations Become Part of TF Graph (!!)
Helps Avoid Training/Serving Skew
Uses TFT Library for Transformations
Designed for Transformations that Require Full Pass Through Entire Dataset
Global Reduction Across All Batches
Create Word Embeddings & Vocabs
String <=> Index Conversion
Normalize & Bucketize
PCA
Feature-Crossing
def preprocessing_fn(inputs):
# inputs: map from feature keys
# to raw not-yet-transformed features
# outputs: map from string feature key
# to transformed feature operations
2.3.6 Trainer
Feature
Load
Feature
Analyze Feature
Transform
Model
Train
Model
Evaluate
Model
Deploy Reproduce
Training
Trains / Validates tf.Examples from Transform
Uses schema.proto from SchemaGen
Produces SavedModel and EvalSavedModel
Uses Core TensorFlow Python API
Works with TensorFlow 1.x Estimator API
TensorFlow 2.0 Keras Support Coming Soon
from tfx import components
trainer = components.Trainer(
module_file=taxi_pipeline_utils,
train_files=transform_training.outputs.output,
eval_files=transform_eval.outputs.output,
schema=infer_schema.outputs.output,
tf_transform_dir=transform_training.outputs.output,
train_steps=10000,
eval_steps=5000,
warm_starting=True
)
2.3.7 Evaluator
Feature
Load
Feature
Analyze Feature
Transform
Model
Train
Model
Evaluate
Model
Deploy Reproduce
Training
Uses EvalSavedModel from Trainer
Writes Analysis Results to ML Metadata Store
Uses TFMA Library for Analysis
TFMA Uses Apache Beam to Scale Analysis
from tfx import components
import tensorflow_model_analysis as tfma
taxi_eval_spec = [
tfma.SingleSliceSpec(),
tfma.SingleSliceSpec(columns=['trip_start_hour'])
]
model_analyzer = components.Evaluator(
examples=examples_gen.outputs.eval_examples,
eval_spec=taxi_eval_spec,
model_exports=trainer.outputs.output)
2.3.8 ModelValidator
Feature
Load
Feature
Analyze Feature
Transform
Model
Train
Model
Evaluate
Model
Deploy Reproduce
Training
Validate Models from Trainer
Uses Data from SchemaGen and StatisticsGen
Compares New Models to Baseline
Baseline == current model in production
New Model is Good if Meets/Exceeds Metrics
If Good, Notify Pusher to Deploy New Model
Writes Validation Results to Metadata Store
import tensorflow_model_analysis as tfma
taxi_mv_spec = [tfma.SingleSliceSpec()]
model_validator = components.ModelValidator(
examples=examples_gen.outputs.output,
model=trainer.outputs.output)
2.3.9 Model Pusher (Deployer)
Feature
Load
Feature
Analyze Feature
Transform
Model
Train
Model
Evaluate
Model
Deploy Reproduce
Training
Push Good Model to Deployment Target
Uses Trained SavedModel
Writes Version Data to Metadata Store
from tfx import components
pusher = components.Pusher(
model_export=trainer.outputs.output,
model_blessing=model_validator.outputs.blessing,
serving_model_dir=serving_model_dir)
2.3.10 Slack Component (!!)
Feature
Load
Feature
Analyze Feature
Transform
Model
Train
Model
Evaluate
Model
Deploy Reproduce
Training
Runs After ModelValidator
Adds Human-in-the-Loop Step to Pipeline
TFX Sends Message to Slack with Model URI
Asks Human to Review the New Model
Respond ‘LGTM’, ‘approve’, ‘decline’, ‘reject’
Requires Slack API Setup / Integration
export SLACK_BOT_TOKEN={your_token}
_channel_id = 'my-channel-id'
_slack_token = os.environ['SLACK_BOT_TOKEN’]
slack_validator = SlackComponent(
model_export=trainer.outputs.output,
model_blessing=model_validator.outputs.blessing,
slack_token=_slack_token, channel_id=_channel_id,
timeout_sec=3600, )
https://github.com/tensorflow/tfx/tree/master
/tfx/examples/custom_components/slack/slack_component
1 Setup Environment with Kubernetes
TensorFlow Extended (TFX)
ML Pipelines with Airflow and KubeFlow
Agenda
Hyper-Parameter Tuning with KubeFlow
Deploy Notebook with Kubernetes
2
3
4
5
3.0 ML Pipelines with Airflow and KubeFlow
Feature
Load
Feature
Analyze Feature
Transform
Model
Train
Model
Evaluate
Model
Deploy
3.1 Airflow
KubeFlow3.2
3.1 Airflow
6
Feature
Load
Feature
Analyze Feature
Transform
Model
Train
Model
Evaluate
Model
Deploy Reproduce
Training
Most Widely-Used Workflow Orchestrator
Define Execution Graphs in Python
Decent UI
Good Community Support
Hands On
05_Airflow_ML_Pipelines
(Chicago Taxi Dataset)
Hands On
06_Airflow_Feature_Analysis
Hands On
07_Airflow_Model_Analysis
3.2 KubeFlow
6
Feature
Load
Feature
Analyze Feature
Transform
Model
Train
Model
Evaluate
Model
Deploy Reproduce
Training
Pipelines
Based on Argo CI/CD Project from Intuit
TFJob
Supports Distributed Training
KubeFlow Fairing Project (!!)
Run a notebook as a production job
Deploy training code with dependencies
Hands On
08_Simple_KubeFlow_ML_Pipeline
Hands On
09_Advanced_KubeFlow_ML_Pipeline
(Chicago Taxi Dataset)
Hands On
10_Distributed_TensorFlow_Job
1 Setup Environment with Kubernetes
TensorFlow Extended (TFX)
ML Pipelines with Airflow and KubeFlow
Agenda
Hyper-Parameter Tuning with KubeFlow
Deploy Notebook with Kubernetes
2
3
4
5
4.0 Hyper-Parameter Tuning
6
Experiment
Single Optimization Run
Single Objective Function Across Runs
Contains Many Trials
Trial
List of Param Values
Suggestion
Optimization Algorithm
Job
Evaluates a Trial
Calculates Objective
Feature
Load
Feature
Analyze Feature
Transform
Model
Train
Model
Evaluate
Model
Deploy Reproduce
Training
Hands On
11_Hyper_Parameter_Tuning
1 Setup Environment with Kubernetes
TensorFlow Extended (TFX)
ML Pipelines with Airflow and KubeFlow
Agenda
Hyper-Parameter Tuning with KubeFlow
Deploy Notebook with Kubernetes
2
3
4
5
5.0 Deploy Notebook as Job
Feature
Load
Feature
Analyze Feature
Transform
Model
Train
Model
Evaluate
Model
Deploy Reproduce
Training
6
5.1 Wrap Model in a Docker Image
Deploy Job to Kubernetes5.2
5.1 Create Docker Image
Feature
Load
Feature
Analyze Feature
Transform
Model
Train
Model
Evaluate
Model
Deploy Reproduce
Training
5.2 Deploy Notebook as Job
Feature
Load
Feature
Analyze Feature
Transform
Model
Train
Model
Evaluate
Model
Deploy Reproduce
Training
Hands On
12_Deploy_Xgboost_Notebook
1 Setup Environment with Kubernetes
TensorFlow Extended (TFX)
ML Pipelines with TFX, Airflow, and KubeFlow
Agenda
Hyper-Parameter Tuning with TFX and KubeFlow
Deploy Notebook with Kubernetes
2
3
4
5
Bonus Extras!
6 TPUs
MLflow
RedisAI + TensorFlow + PyTorch
TensorFlow 2.0
TensorFlow Privacy Libraries
7
8
9
10
Thank you!
https://pipeline.ai @cfregly @PipelineAI
Upcoming Hands-On Workshops

Más contenido relacionado

La actualidad más candente

책 읽어주는 딥러닝: 배우 유인나가 해리포터를 읽어준다면 DEVIEW 2017
책 읽어주는 딥러닝: 배우 유인나가 해리포터를 읽어준다면 DEVIEW 2017책 읽어주는 딥러닝: 배우 유인나가 해리포터를 읽어준다면 DEVIEW 2017
책 읽어주는 딥러닝: 배우 유인나가 해리포터를 읽어준다면 DEVIEW 2017Taehoon Kim
 
Building a Streaming Microservice Architecture: with Apache Spark Structured ...
Building a Streaming Microservice Architecture: with Apache Spark Structured ...Building a Streaming Microservice Architecture: with Apache Spark Structured ...
Building a Streaming Microservice Architecture: with Apache Spark Structured ...Databricks
 
Common Strategies for Improving Performance on Your Delta Lakehouse
Common Strategies for Improving Performance on Your Delta LakehouseCommon Strategies for Improving Performance on Your Delta Lakehouse
Common Strategies for Improving Performance on Your Delta LakehouseDatabricks
 
Introduction to Apache Spark
Introduction to Apache SparkIntroduction to Apache Spark
Introduction to Apache SparkRahul Jain
 
Reading The Source Code of Presto
Reading The Source Code of PrestoReading The Source Code of Presto
Reading The Source Code of PrestoTaro L. Saito
 
OSMC 2022 | Logstash, Beats, Elastic Agent, Open Telemetry — what’s the right...
OSMC 2022 | Logstash, Beats, Elastic Agent, Open Telemetry — what’s the right...OSMC 2022 | Logstash, Beats, Elastic Agent, Open Telemetry — what’s the right...
OSMC 2022 | Logstash, Beats, Elastic Agent, Open Telemetry — what’s the right...NETWAYS
 
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기Ian Choi
 
Apache Calcite: One Frontend to Rule Them All
Apache Calcite: One Frontend to Rule Them AllApache Calcite: One Frontend to Rule Them All
Apache Calcite: One Frontend to Rule Them AllMichael Mior
 
[KubeCon EU 2022] Running containerd and k3s on macOS
[KubeCon EU 2022] Running containerd and k3s on macOS[KubeCon EU 2022] Running containerd and k3s on macOS
[KubeCon EU 2022] Running containerd and k3s on macOSAkihiro Suda
 
Hyperspace for Delta Lake
Hyperspace for Delta LakeHyperspace for Delta Lake
Hyperspace for Delta LakeDatabricks
 
AlphaZero: A General Reinforcement Learning Algorithm that Masters Chess, Sho...
AlphaZero: A General Reinforcement Learning Algorithm that Masters Chess, Sho...AlphaZero: A General Reinforcement Learning Algorithm that Masters Chess, Sho...
AlphaZero: A General Reinforcement Learning Algorithm that Masters Chess, Sho...Joonhyung Lee
 
PromQL Deep Dive - The Prometheus Query Language
PromQL Deep Dive - The Prometheus Query Language PromQL Deep Dive - The Prometheus Query Language
PromQL Deep Dive - The Prometheus Query Language Weaveworks
 
Python and MongoDB as a Market Data Platform by James Blackburn
Python and MongoDB as a Market Data Platform by James BlackburnPython and MongoDB as a Market Data Platform by James Blackburn
Python and MongoDB as a Market Data Platform by James BlackburnPyData
 
A Deep Dive into Stateful Stream Processing in Structured Streaming with Tath...
A Deep Dive into Stateful Stream Processing in Structured Streaming with Tath...A Deep Dive into Stateful Stream Processing in Structured Streaming with Tath...
A Deep Dive into Stateful Stream Processing in Structured Streaming with Tath...Databricks
 
Machine Learning with PyCarent + MLflow
Machine Learning with PyCarent + MLflowMachine Learning with PyCarent + MLflow
Machine Learning with PyCarent + MLflowDatabricks
 
Upgrade Without the Headache: Best Practices for Upgrading Hadoop in Production
Upgrade Without the Headache: Best Practices for Upgrading Hadoop in ProductionUpgrade Without the Headache: Best Practices for Upgrading Hadoop in Production
Upgrade Without the Headache: Best Practices for Upgrading Hadoop in ProductionCloudera, Inc.
 
Spark shuffle introduction
Spark shuffle introductionSpark shuffle introduction
Spark shuffle introductioncolorant
 
Parquet performance tuning: the missing guide
Parquet performance tuning: the missing guideParquet performance tuning: the missing guide
Parquet performance tuning: the missing guideRyan Blue
 
Scalable crawling with Kafka, scrapy and spark - November 2021
Scalable crawling with Kafka, scrapy and spark - November 2021Scalable crawling with Kafka, scrapy and spark - November 2021
Scalable crawling with Kafka, scrapy and spark - November 2021Max Lapan
 

La actualidad más candente (20)

책 읽어주는 딥러닝: 배우 유인나가 해리포터를 읽어준다면 DEVIEW 2017
책 읽어주는 딥러닝: 배우 유인나가 해리포터를 읽어준다면 DEVIEW 2017책 읽어주는 딥러닝: 배우 유인나가 해리포터를 읽어준다면 DEVIEW 2017
책 읽어주는 딥러닝: 배우 유인나가 해리포터를 읽어준다면 DEVIEW 2017
 
Building a Streaming Microservice Architecture: with Apache Spark Structured ...
Building a Streaming Microservice Architecture: with Apache Spark Structured ...Building a Streaming Microservice Architecture: with Apache Spark Structured ...
Building a Streaming Microservice Architecture: with Apache Spark Structured ...
 
Common Strategies for Improving Performance on Your Delta Lakehouse
Common Strategies for Improving Performance on Your Delta LakehouseCommon Strategies for Improving Performance on Your Delta Lakehouse
Common Strategies for Improving Performance on Your Delta Lakehouse
 
Running Apache Spark & Apache Zeppelin in Production
Running Apache Spark & Apache Zeppelin in ProductionRunning Apache Spark & Apache Zeppelin in Production
Running Apache Spark & Apache Zeppelin in Production
 
Introduction to Apache Spark
Introduction to Apache SparkIntroduction to Apache Spark
Introduction to Apache Spark
 
Reading The Source Code of Presto
Reading The Source Code of PrestoReading The Source Code of Presto
Reading The Source Code of Presto
 
OSMC 2022 | Logstash, Beats, Elastic Agent, Open Telemetry — what’s the right...
OSMC 2022 | Logstash, Beats, Elastic Agent, Open Telemetry — what’s the right...OSMC 2022 | Logstash, Beats, Elastic Agent, Open Telemetry — what’s the right...
OSMC 2022 | Logstash, Beats, Elastic Agent, Open Telemetry — what’s the right...
 
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
 
Apache Calcite: One Frontend to Rule Them All
Apache Calcite: One Frontend to Rule Them AllApache Calcite: One Frontend to Rule Them All
Apache Calcite: One Frontend to Rule Them All
 
[KubeCon EU 2022] Running containerd and k3s on macOS
[KubeCon EU 2022] Running containerd and k3s on macOS[KubeCon EU 2022] Running containerd and k3s on macOS
[KubeCon EU 2022] Running containerd and k3s on macOS
 
Hyperspace for Delta Lake
Hyperspace for Delta LakeHyperspace for Delta Lake
Hyperspace for Delta Lake
 
AlphaZero: A General Reinforcement Learning Algorithm that Masters Chess, Sho...
AlphaZero: A General Reinforcement Learning Algorithm that Masters Chess, Sho...AlphaZero: A General Reinforcement Learning Algorithm that Masters Chess, Sho...
AlphaZero: A General Reinforcement Learning Algorithm that Masters Chess, Sho...
 
PromQL Deep Dive - The Prometheus Query Language
PromQL Deep Dive - The Prometheus Query Language PromQL Deep Dive - The Prometheus Query Language
PromQL Deep Dive - The Prometheus Query Language
 
Python and MongoDB as a Market Data Platform by James Blackburn
Python and MongoDB as a Market Data Platform by James BlackburnPython and MongoDB as a Market Data Platform by James Blackburn
Python and MongoDB as a Market Data Platform by James Blackburn
 
A Deep Dive into Stateful Stream Processing in Structured Streaming with Tath...
A Deep Dive into Stateful Stream Processing in Structured Streaming with Tath...A Deep Dive into Stateful Stream Processing in Structured Streaming with Tath...
A Deep Dive into Stateful Stream Processing in Structured Streaming with Tath...
 
Machine Learning with PyCarent + MLflow
Machine Learning with PyCarent + MLflowMachine Learning with PyCarent + MLflow
Machine Learning with PyCarent + MLflow
 
Upgrade Without the Headache: Best Practices for Upgrading Hadoop in Production
Upgrade Without the Headache: Best Practices for Upgrading Hadoop in ProductionUpgrade Without the Headache: Best Practices for Upgrading Hadoop in Production
Upgrade Without the Headache: Best Practices for Upgrading Hadoop in Production
 
Spark shuffle introduction
Spark shuffle introductionSpark shuffle introduction
Spark shuffle introduction
 
Parquet performance tuning: the missing guide
Parquet performance tuning: the missing guideParquet performance tuning: the missing guide
Parquet performance tuning: the missing guide
 
Scalable crawling with Kafka, scrapy and spark - November 2021
Scalable crawling with Kafka, scrapy and spark - November 2021Scalable crawling with Kafka, scrapy and spark - November 2021
Scalable crawling with Kafka, scrapy and spark - November 2021
 

Similar a Hands-on Learning with KubeFlow + Keras/TensorFlow 2.0 + TF Extended (TFX) + Kubernetes + PyTorch + XGBoost + Airflow + MLflow + Spark + Jupyter + TPU

running Tensorflow in Production
running Tensorflow in Productionrunning Tensorflow in Production
running Tensorflow in ProductionMatthias Feys
 
Certification Study Group -Professional ML Engineer Session 2 (GCP-TensorFlow...
Certification Study Group -Professional ML Engineer Session 2 (GCP-TensorFlow...Certification Study Group -Professional ML Engineer Session 2 (GCP-TensorFlow...
Certification Study Group -Professional ML Engineer Session 2 (GCP-TensorFlow...gdgsurrey
 
Boosting machine learning workflow with TensorFlow 2.0
Boosting machine learning workflow with TensorFlow 2.0Boosting machine learning workflow with TensorFlow 2.0
Boosting machine learning workflow with TensorFlow 2.0Jeongkyu Shin
 
What is TensorFlow? | Introduction to TensorFlow | TensorFlow Tutorial For Be...
What is TensorFlow? | Introduction to TensorFlow | TensorFlow Tutorial For Be...What is TensorFlow? | Introduction to TensorFlow | TensorFlow Tutorial For Be...
What is TensorFlow? | Introduction to TensorFlow | TensorFlow Tutorial For Be...Simplilearn
 
TensorFlow example for AI Ukraine2016
TensorFlow example  for AI Ukraine2016TensorFlow example  for AI Ukraine2016
TensorFlow example for AI Ukraine2016Andrii Babii
 
Distributed Deep Learning with Apache Spark and TensorFlow with Jim Dowling
Distributed Deep Learning with Apache Spark and TensorFlow with Jim DowlingDistributed Deep Learning with Apache Spark and TensorFlow with Jim Dowling
Distributed Deep Learning with Apache Spark and TensorFlow with Jim DowlingDatabricks
 
Tensorflow in practice by Engineer - donghwi cha
Tensorflow in practice by Engineer - donghwi chaTensorflow in practice by Engineer - donghwi cha
Tensorflow in practice by Engineer - donghwi chaDonghwi Cha
 
A Tour of Tensorflow's APIs
A Tour of Tensorflow's APIsA Tour of Tensorflow's APIs
A Tour of Tensorflow's APIsDean Wyatte
 
Real Time Streaming Data with Kafka and TensorFlow (Yong Tang, MobileIron) Ka...
Real Time Streaming Data with Kafka and TensorFlow (Yong Tang, MobileIron) Ka...Real Time Streaming Data with Kafka and TensorFlow (Yong Tang, MobileIron) Ka...
Real Time Streaming Data with Kafka and TensorFlow (Yong Tang, MobileIron) Ka...confluent
 
Moving Your Machine Learning Models to Production with TensorFlow Extended
Moving Your Machine Learning Models to Production with TensorFlow ExtendedMoving Your Machine Learning Models to Production with TensorFlow Extended
Moving Your Machine Learning Models to Production with TensorFlow ExtendedJonathan Mugan
 
A Tale of Three Deep Learning Frameworks: TensorFlow, Keras, & PyTorch with B...
A Tale of Three Deep Learning Frameworks: TensorFlow, Keras, & PyTorch with B...A Tale of Three Deep Learning Frameworks: TensorFlow, Keras, & PyTorch with B...
A Tale of Three Deep Learning Frameworks: TensorFlow, Keras, & PyTorch with B...Databricks
 
Metadata and Provenance for ML Pipelines with Hopsworks
Metadata and Provenance for ML Pipelines with Hopsworks Metadata and Provenance for ML Pipelines with Hopsworks
Metadata and Provenance for ML Pipelines with Hopsworks Jim Dowling
 
Flink Forward SF 2017: Eron Wright - Introducing Flink Tensorflow
Flink Forward SF 2017: Eron Wright - Introducing Flink TensorflowFlink Forward SF 2017: Eron Wright - Introducing Flink Tensorflow
Flink Forward SF 2017: Eron Wright - Introducing Flink TensorflowFlink Forward
 
Hopsworks at Google AI Huddle, Sunnyvale
Hopsworks at Google AI Huddle, SunnyvaleHopsworks at Google AI Huddle, Sunnyvale
Hopsworks at Google AI Huddle, SunnyvaleJim Dowling
 
Inference accelerators
Inference acceleratorsInference accelerators
Inference acceleratorsDarshanG13
 
Learn about Tensorflow for Deep Learning now! Part 1
Learn about Tensorflow for Deep Learning now! Part 1Learn about Tensorflow for Deep Learning now! Part 1
Learn about Tensorflow for Deep Learning now! Part 1Tyrone Systems
 
Lecture 4: Deep Learning Frameworks
Lecture 4: Deep Learning FrameworksLecture 4: Deep Learning Frameworks
Lecture 4: Deep Learning FrameworksMohamed Loey
 

Similar a Hands-on Learning with KubeFlow + Keras/TensorFlow 2.0 + TF Extended (TFX) + Kubernetes + PyTorch + XGBoost + Airflow + MLflow + Spark + Jupyter + TPU (20)

running Tensorflow in Production
running Tensorflow in Productionrunning Tensorflow in Production
running Tensorflow in Production
 
Certification Study Group -Professional ML Engineer Session 2 (GCP-TensorFlow...
Certification Study Group -Professional ML Engineer Session 2 (GCP-TensorFlow...Certification Study Group -Professional ML Engineer Session 2 (GCP-TensorFlow...
Certification Study Group -Professional ML Engineer Session 2 (GCP-TensorFlow...
 
Boosting machine learning workflow with TensorFlow 2.0
Boosting machine learning workflow with TensorFlow 2.0Boosting machine learning workflow with TensorFlow 2.0
Boosting machine learning workflow with TensorFlow 2.0
 
Meetup tensorframes
Meetup tensorframesMeetup tensorframes
Meetup tensorframes
 
What is TensorFlow? | Introduction to TensorFlow | TensorFlow Tutorial For Be...
What is TensorFlow? | Introduction to TensorFlow | TensorFlow Tutorial For Be...What is TensorFlow? | Introduction to TensorFlow | TensorFlow Tutorial For Be...
What is TensorFlow? | Introduction to TensorFlow | TensorFlow Tutorial For Be...
 
TensorFlow example for AI Ukraine2016
TensorFlow example  for AI Ukraine2016TensorFlow example  for AI Ukraine2016
TensorFlow example for AI Ukraine2016
 
Distributed Deep Learning with Apache Spark and TensorFlow with Jim Dowling
Distributed Deep Learning with Apache Spark and TensorFlow with Jim DowlingDistributed Deep Learning with Apache Spark and TensorFlow with Jim Dowling
Distributed Deep Learning with Apache Spark and TensorFlow with Jim Dowling
 
Tensorflow in practice by Engineer - donghwi cha
Tensorflow in practice by Engineer - donghwi chaTensorflow in practice by Engineer - donghwi cha
Tensorflow in practice by Engineer - donghwi cha
 
A Tour of Tensorflow's APIs
A Tour of Tensorflow's APIsA Tour of Tensorflow's APIs
A Tour of Tensorflow's APIs
 
Real Time Streaming Data with Kafka and TensorFlow (Yong Tang, MobileIron) Ka...
Real Time Streaming Data with Kafka and TensorFlow (Yong Tang, MobileIron) Ka...Real Time Streaming Data with Kafka and TensorFlow (Yong Tang, MobileIron) Ka...
Real Time Streaming Data with Kafka and TensorFlow (Yong Tang, MobileIron) Ka...
 
Moving Your Machine Learning Models to Production with TensorFlow Extended
Moving Your Machine Learning Models to Production with TensorFlow ExtendedMoving Your Machine Learning Models to Production with TensorFlow Extended
Moving Your Machine Learning Models to Production with TensorFlow Extended
 
A Tale of Three Deep Learning Frameworks: TensorFlow, Keras, & PyTorch with B...
A Tale of Three Deep Learning Frameworks: TensorFlow, Keras, & PyTorch with B...A Tale of Three Deep Learning Frameworks: TensorFlow, Keras, & PyTorch with B...
A Tale of Three Deep Learning Frameworks: TensorFlow, Keras, & PyTorch with B...
 
Metadata and Provenance for ML Pipelines with Hopsworks
Metadata and Provenance for ML Pipelines with Hopsworks Metadata and Provenance for ML Pipelines with Hopsworks
Metadata and Provenance for ML Pipelines with Hopsworks
 
Keras and TensorFlow
Keras and TensorFlowKeras and TensorFlow
Keras and TensorFlow
 
Flink Forward SF 2017: Eron Wright - Introducing Flink Tensorflow
Flink Forward SF 2017: Eron Wright - Introducing Flink TensorflowFlink Forward SF 2017: Eron Wright - Introducing Flink Tensorflow
Flink Forward SF 2017: Eron Wright - Introducing Flink Tensorflow
 
Hopsworks at Google AI Huddle, Sunnyvale
Hopsworks at Google AI Huddle, SunnyvaleHopsworks at Google AI Huddle, Sunnyvale
Hopsworks at Google AI Huddle, Sunnyvale
 
Inference accelerators
Inference acceleratorsInference accelerators
Inference accelerators
 
Tensorflow Ecosystem
Tensorflow EcosystemTensorflow Ecosystem
Tensorflow Ecosystem
 
Learn about Tensorflow for Deep Learning now! Part 1
Learn about Tensorflow for Deep Learning now! Part 1Learn about Tensorflow for Deep Learning now! Part 1
Learn about Tensorflow for Deep Learning now! Part 1
 
Lecture 4: Deep Learning Frameworks
Lecture 4: Deep Learning FrameworksLecture 4: Deep Learning Frameworks
Lecture 4: Deep Learning Frameworks
 

Más de Chris Fregly

AWS reInvent 2022 reCap AI/ML and Data
AWS reInvent 2022 reCap AI/ML and DataAWS reInvent 2022 reCap AI/ML and Data
AWS reInvent 2022 reCap AI/ML and DataChris Fregly
 
Pandas on AWS - Let me count the ways.pdf
Pandas on AWS - Let me count the ways.pdfPandas on AWS - Let me count the ways.pdf
Pandas on AWS - Let me count the ways.pdfChris Fregly
 
Ray AI Runtime (AIR) on AWS - Data Science On AWS Meetup
Ray AI Runtime (AIR) on AWS - Data Science On AWS MeetupRay AI Runtime (AIR) on AWS - Data Science On AWS Meetup
Ray AI Runtime (AIR) on AWS - Data Science On AWS MeetupChris Fregly
 
Smokey and the Multi-Armed Bandit Featuring BERT Reynolds Updated
Smokey and the Multi-Armed Bandit Featuring BERT Reynolds UpdatedSmokey and the Multi-Armed Bandit Featuring BERT Reynolds Updated
Smokey and the Multi-Armed Bandit Featuring BERT Reynolds UpdatedChris Fregly
 
Amazon reInvent 2020 Recap: AI and Machine Learning
Amazon reInvent 2020 Recap:  AI and Machine LearningAmazon reInvent 2020 Recap:  AI and Machine Learning
Amazon reInvent 2020 Recap: AI and Machine LearningChris Fregly
 
Waking the Data Scientist at 2am: Detect Model Degradation on Production Mod...
Waking the Data Scientist at 2am:  Detect Model Degradation on Production Mod...Waking the Data Scientist at 2am:  Detect Model Degradation on Production Mod...
Waking the Data Scientist at 2am: Detect Model Degradation on Production Mod...Chris Fregly
 
Quantum Computing with Amazon Braket
Quantum Computing with Amazon BraketQuantum Computing with Amazon Braket
Quantum Computing with Amazon BraketChris Fregly
 
15 Tips to Scale a Large AI/ML Workshop - Both Online and In-Person
15 Tips to Scale a Large AI/ML Workshop - Both Online and In-Person15 Tips to Scale a Large AI/ML Workshop - Both Online and In-Person
15 Tips to Scale a Large AI/ML Workshop - Both Online and In-PersonChris Fregly
 
AWS Re:Invent 2019 Re:Cap
AWS Re:Invent 2019 Re:CapAWS Re:Invent 2019 Re:Cap
AWS Re:Invent 2019 Re:CapChris Fregly
 
Swift for TensorFlow - Tanmay Bakshi - Advanced Spark and TensorFlow Meetup -...
Swift for TensorFlow - Tanmay Bakshi - Advanced Spark and TensorFlow Meetup -...Swift for TensorFlow - Tanmay Bakshi - Advanced Spark and TensorFlow Meetup -...
Swift for TensorFlow - Tanmay Bakshi - Advanced Spark and TensorFlow Meetup -...Chris Fregly
 
Spark SQL Catalyst Optimizer, Custom Expressions, UDFs - Advanced Spark and T...
Spark SQL Catalyst Optimizer, Custom Expressions, UDFs - Advanced Spark and T...Spark SQL Catalyst Optimizer, Custom Expressions, UDFs - Advanced Spark and T...
Spark SQL Catalyst Optimizer, Custom Expressions, UDFs - Advanced Spark and T...Chris Fregly
 
PipelineAI Continuous Machine Learning and AI - Rework Deep Learning Summit -...
PipelineAI Continuous Machine Learning and AI - Rework Deep Learning Summit -...PipelineAI Continuous Machine Learning and AI - Rework Deep Learning Summit -...
PipelineAI Continuous Machine Learning and AI - Rework Deep Learning Summit -...Chris Fregly
 
PipelineAI Real-Time Machine Learning - Global Artificial Intelligence Confer...
PipelineAI Real-Time Machine Learning - Global Artificial Intelligence Confer...PipelineAI Real-Time Machine Learning - Global Artificial Intelligence Confer...
PipelineAI Real-Time Machine Learning - Global Artificial Intelligence Confer...Chris Fregly
 
Hyper-Parameter Tuning Across the Entire AI Pipeline GPU Tech Conference San ...
Hyper-Parameter Tuning Across the Entire AI Pipeline GPU Tech Conference San ...Hyper-Parameter Tuning Across the Entire AI Pipeline GPU Tech Conference San ...
Hyper-Parameter Tuning Across the Entire AI Pipeline GPU Tech Conference San ...Chris Fregly
 
PipelineAI Optimizes Your Enterprise AI Pipeline from Distributed Training to...
PipelineAI Optimizes Your Enterprise AI Pipeline from Distributed Training to...PipelineAI Optimizes Your Enterprise AI Pipeline from Distributed Training to...
PipelineAI Optimizes Your Enterprise AI Pipeline from Distributed Training to...Chris Fregly
 
Advanced Spark and TensorFlow Meetup - Dec 12 2017 - Dong Meng, MapR + Kubern...
Advanced Spark and TensorFlow Meetup - Dec 12 2017 - Dong Meng, MapR + Kubern...Advanced Spark and TensorFlow Meetup - Dec 12 2017 - Dong Meng, MapR + Kubern...
Advanced Spark and TensorFlow Meetup - Dec 12 2017 - Dong Meng, MapR + Kubern...Chris Fregly
 
High Performance Distributed TensorFlow in Production with GPUs - NIPS 2017 -...
High Performance Distributed TensorFlow in Production with GPUs - NIPS 2017 -...High Performance Distributed TensorFlow in Production with GPUs - NIPS 2017 -...
High Performance Distributed TensorFlow in Production with GPUs - NIPS 2017 -...Chris Fregly
 
PipelineAI + TensorFlow AI + Spark ML + Kuberenetes + Istio + AWS SageMaker +...
PipelineAI + TensorFlow AI + Spark ML + Kuberenetes + Istio + AWS SageMaker +...PipelineAI + TensorFlow AI + Spark ML + Kuberenetes + Istio + AWS SageMaker +...
PipelineAI + TensorFlow AI + Spark ML + Kuberenetes + Istio + AWS SageMaker +...Chris Fregly
 
PipelineAI + AWS SageMaker + Distributed TensorFlow + AI Model Training and S...
PipelineAI + AWS SageMaker + Distributed TensorFlow + AI Model Training and S...PipelineAI + AWS SageMaker + Distributed TensorFlow + AI Model Training and S...
PipelineAI + AWS SageMaker + Distributed TensorFlow + AI Model Training and S...Chris Fregly
 
High Performance TensorFlow in Production - Big Data Spain - Madrid - Nov 15 ...
High Performance TensorFlow in Production - Big Data Spain - Madrid - Nov 15 ...High Performance TensorFlow in Production - Big Data Spain - Madrid - Nov 15 ...
High Performance TensorFlow in Production - Big Data Spain - Madrid - Nov 15 ...Chris Fregly
 

Más de Chris Fregly (20)

AWS reInvent 2022 reCap AI/ML and Data
AWS reInvent 2022 reCap AI/ML and DataAWS reInvent 2022 reCap AI/ML and Data
AWS reInvent 2022 reCap AI/ML and Data
 
Pandas on AWS - Let me count the ways.pdf
Pandas on AWS - Let me count the ways.pdfPandas on AWS - Let me count the ways.pdf
Pandas on AWS - Let me count the ways.pdf
 
Ray AI Runtime (AIR) on AWS - Data Science On AWS Meetup
Ray AI Runtime (AIR) on AWS - Data Science On AWS MeetupRay AI Runtime (AIR) on AWS - Data Science On AWS Meetup
Ray AI Runtime (AIR) on AWS - Data Science On AWS Meetup
 
Smokey and the Multi-Armed Bandit Featuring BERT Reynolds Updated
Smokey and the Multi-Armed Bandit Featuring BERT Reynolds UpdatedSmokey and the Multi-Armed Bandit Featuring BERT Reynolds Updated
Smokey and the Multi-Armed Bandit Featuring BERT Reynolds Updated
 
Amazon reInvent 2020 Recap: AI and Machine Learning
Amazon reInvent 2020 Recap:  AI and Machine LearningAmazon reInvent 2020 Recap:  AI and Machine Learning
Amazon reInvent 2020 Recap: AI and Machine Learning
 
Waking the Data Scientist at 2am: Detect Model Degradation on Production Mod...
Waking the Data Scientist at 2am:  Detect Model Degradation on Production Mod...Waking the Data Scientist at 2am:  Detect Model Degradation on Production Mod...
Waking the Data Scientist at 2am: Detect Model Degradation on Production Mod...
 
Quantum Computing with Amazon Braket
Quantum Computing with Amazon BraketQuantum Computing with Amazon Braket
Quantum Computing with Amazon Braket
 
15 Tips to Scale a Large AI/ML Workshop - Both Online and In-Person
15 Tips to Scale a Large AI/ML Workshop - Both Online and In-Person15 Tips to Scale a Large AI/ML Workshop - Both Online and In-Person
15 Tips to Scale a Large AI/ML Workshop - Both Online and In-Person
 
AWS Re:Invent 2019 Re:Cap
AWS Re:Invent 2019 Re:CapAWS Re:Invent 2019 Re:Cap
AWS Re:Invent 2019 Re:Cap
 
Swift for TensorFlow - Tanmay Bakshi - Advanced Spark and TensorFlow Meetup -...
Swift for TensorFlow - Tanmay Bakshi - Advanced Spark and TensorFlow Meetup -...Swift for TensorFlow - Tanmay Bakshi - Advanced Spark and TensorFlow Meetup -...
Swift for TensorFlow - Tanmay Bakshi - Advanced Spark and TensorFlow Meetup -...
 
Spark SQL Catalyst Optimizer, Custom Expressions, UDFs - Advanced Spark and T...
Spark SQL Catalyst Optimizer, Custom Expressions, UDFs - Advanced Spark and T...Spark SQL Catalyst Optimizer, Custom Expressions, UDFs - Advanced Spark and T...
Spark SQL Catalyst Optimizer, Custom Expressions, UDFs - Advanced Spark and T...
 
PipelineAI Continuous Machine Learning and AI - Rework Deep Learning Summit -...
PipelineAI Continuous Machine Learning and AI - Rework Deep Learning Summit -...PipelineAI Continuous Machine Learning and AI - Rework Deep Learning Summit -...
PipelineAI Continuous Machine Learning and AI - Rework Deep Learning Summit -...
 
PipelineAI Real-Time Machine Learning - Global Artificial Intelligence Confer...
PipelineAI Real-Time Machine Learning - Global Artificial Intelligence Confer...PipelineAI Real-Time Machine Learning - Global Artificial Intelligence Confer...
PipelineAI Real-Time Machine Learning - Global Artificial Intelligence Confer...
 
Hyper-Parameter Tuning Across the Entire AI Pipeline GPU Tech Conference San ...
Hyper-Parameter Tuning Across the Entire AI Pipeline GPU Tech Conference San ...Hyper-Parameter Tuning Across the Entire AI Pipeline GPU Tech Conference San ...
Hyper-Parameter Tuning Across the Entire AI Pipeline GPU Tech Conference San ...
 
PipelineAI Optimizes Your Enterprise AI Pipeline from Distributed Training to...
PipelineAI Optimizes Your Enterprise AI Pipeline from Distributed Training to...PipelineAI Optimizes Your Enterprise AI Pipeline from Distributed Training to...
PipelineAI Optimizes Your Enterprise AI Pipeline from Distributed Training to...
 
Advanced Spark and TensorFlow Meetup - Dec 12 2017 - Dong Meng, MapR + Kubern...
Advanced Spark and TensorFlow Meetup - Dec 12 2017 - Dong Meng, MapR + Kubern...Advanced Spark and TensorFlow Meetup - Dec 12 2017 - Dong Meng, MapR + Kubern...
Advanced Spark and TensorFlow Meetup - Dec 12 2017 - Dong Meng, MapR + Kubern...
 
High Performance Distributed TensorFlow in Production with GPUs - NIPS 2017 -...
High Performance Distributed TensorFlow in Production with GPUs - NIPS 2017 -...High Performance Distributed TensorFlow in Production with GPUs - NIPS 2017 -...
High Performance Distributed TensorFlow in Production with GPUs - NIPS 2017 -...
 
PipelineAI + TensorFlow AI + Spark ML + Kuberenetes + Istio + AWS SageMaker +...
PipelineAI + TensorFlow AI + Spark ML + Kuberenetes + Istio + AWS SageMaker +...PipelineAI + TensorFlow AI + Spark ML + Kuberenetes + Istio + AWS SageMaker +...
PipelineAI + TensorFlow AI + Spark ML + Kuberenetes + Istio + AWS SageMaker +...
 
PipelineAI + AWS SageMaker + Distributed TensorFlow + AI Model Training and S...
PipelineAI + AWS SageMaker + Distributed TensorFlow + AI Model Training and S...PipelineAI + AWS SageMaker + Distributed TensorFlow + AI Model Training and S...
PipelineAI + AWS SageMaker + Distributed TensorFlow + AI Model Training and S...
 
High Performance TensorFlow in Production - Big Data Spain - Madrid - Nov 15 ...
High Performance TensorFlow in Production - Big Data Spain - Madrid - Nov 15 ...High Performance TensorFlow in Production - Big Data Spain - Madrid - Nov 15 ...
High Performance TensorFlow in Production - Big Data Spain - Madrid - Nov 15 ...
 

Último

Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecturerahul_net
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfYashikaSharma391629
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 

Último (20)

Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecture
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 

Hands-on Learning with KubeFlow + Keras/TensorFlow 2.0 + TF Extended (TFX) + Kubernetes + PyTorch + XGBoost + Airflow + MLflow + Spark + Jupyter + TPU

  • 1. End-to-End ML Pipelines TFX + KubeFlow + Airflow Chris Fregly Founder @ .
  • 2. Founder @ PipelineAI Real-time Machine Learning and AI in Production Former Databricks, Netflix Apache Spark Contributor O’Reilly Author High Performance TensorFlow in Production Meetup Organizer Advanced Spark and TensorFlow Meetup Who Am I? (@cfregly)
  • 3. Advanced Spark and TensorFlow Meetup (Global, Monthly Events) https://meetup.com/Advanced-Spark-and-TensorFlow-Meetup
  • 5. 1 OK with Command Line? 2 OK with Python? 3 OK with Linear Algebra? Who are you? 4 OK with Docker? 6 5 OK with Jupyter Notebook?
  • 6. Note #1 of 10 IGNORE WARNINGS & ERRORS Everything will be OK!
  • 7. Note #2 of 10 THERE IS A LOT OF MATERIAL HERE Many opportunities to explore on your own.
  • 8. Note #3 of 10 YOU HAVE YOUR OWN INSTANCE 16 CPU, 104 GB RAM, 200GB SSD And access to TPUv3 Cluster
  • 9. Note #4 of 10 DATASETS Chicago Taxi Dataset Fashion MNIST (and various others)
  • 10. Note #5 of 10 SOME NOTEBOOKS TAKE MINUTES Please be patient. We are using large datasets!
  • 11. Note #6 of 10 QUESTIONS? Post questions to Zoom chat or Q&A. Antje and I will answer soon. Antje Barth =>
  • 12. Note #7 of 10 KUBEFLOW IS NOT A SILVER BULLET There are still gaps in the pipeline. (But the gaps are shrinking.)
  • 13. Note #8 of 10 THIS IS NOT CLOUD DEPENDENT* *Except for 2 small exceptions… Patches are underway.
  • 14. Note #9 of 10 PRIMARILY TENSORFLOW 1.x TF 2.x is not yet fully supported by TFX (We have a section on TF 2.x)
  • 15. Note #10 of 10 SHUTDOWN EACH NOTEBOOK AFTER We are using complex browser voo-doo.
  • 16. System 6 System 5System 4 Training At Scale System 3 System 1 Data Ingestion Data Analysis Data Transform Data Validation System 2 Build Model Model Validation Serving Logging Monitoring Roll-out Data Splitting Ad-Hoc Training Why TFX and Why KubeFlow? Improve Training/Serving Consistency Unify Disparate Systems Manage Pipeline Complexity Improve Portability Wrangle Large Datasets Improve Model Quality Manage Versions Composability Distributed Training Configure
  • 17. 1 Setup Environment with Kubernetes TensorFlow Extended (TFX) ML Pipelines with Airflow and KubeFlow Agenda Hyper-Parameter Tuning with KubeFlow Deploy Notebook with Kubernetes 2 3 4 5
  • 18. Bonus Extras! 6 TPUs MLflow RedisAI + TensorFlow + PyTorch TensorFlow 2.0 TensorFlow Privacy Libraries 7 8 9 10
  • 20. 1.1 Kubernetes TensorFlow Extended (TFX) Airflow ML Pipelines 1.0 Environment Overview KubeFlow ML Pipelines 6 Hyper-Parameter Tuning (Katib) Prediction Traffic Router (Istio) 1.2 1.3 1.4 1.5 1.6
  • 21. 1.1 Kubernetes Kubernetes NFS Ceph Cassandra MySQL Spark Airflow Tensorflow Caffe TF-Serving Flask+Scikit Operating system (Linux, Windows) CPU Memory DiskSSD GPU FPGA ASIC NIC Jupyter GCP AWS Azure On-prem Namespace Quota Logging Monitoring RBAC
  • 23. 1.2 TensorFlow Extended (TFX) Feature Load Feature Analyze Feature Transform Model Train Model Evalute Model Deploy Reproduce Training
  • 24. 1.3 Airflow ML Pipelines
  • 25. 1.4 KubeFlow ML Pipelines
  • 27. 1.6 Prediction Traffic Routing (Istio)
  • 28. 1 Setup Environment with Kubernetes TensorFlow Extended (TFX) ML Pipelines with Airflow and KubeFlow Agenda Hyper-Parameter Tuning with KubeFlow Deploy Notebook with Kubernetes 2 3 4 5
  • 29. 2.1 TFX Internals 2.0 TFX Components 6 Feature Load Feature Analyze Feature Transform Model Train Model Evaluate Model Deploy Reproduce Training 2.2 TFX Libraries 2.2 TFX Components
  • 30. 2.1 TFX Internals Driver/Publisher Moves data to/from Metadata Store Executor Runs the Actual Processing Code Metadata Store Artifact, execution, and lineage Info Track inputs & outputs of all components Stores training run including inputs & outputs Analysis, validation, and versioning resultsc Feature Load Feature Analyze Feature Transform Model Train Model Evaluate Model Deploy Reproduce Training
  • 31. 2.2 TFX Libraries 2.2.1 TFX Components Use These Core TFX Libraries: TensorFlow Data Validation (TFDV) TensorFlow Transform (TFT) TensorFlow Model Analysis (TFMA) TensorFlow Metadata (TFMD) + ML Metadata (MLMD) 2.2.2 2.2.3 2.2.4
  • 32. 2.2.1 TFX Libraries - TFDV TensorFlow Data Validation (TFDV) Find Missing, Redundant & Important Features Identify Features with Unusually-Large Scale `infer_schema()` Generates Schema Describe Feature Ranges Detect Data Drift Feature Load Feature Analyze Feature Transform Model Train Model Evaluate Model Deploy Reproduce Training Uniformly Distributed Data è ç Non-Uniformly Distributed Data
  • 34. 2.2.2 TFX Libraries - TFT TensorFlow Transform (TFT) Preprocess `tf.Example` data with TensorFlow Useful for data that requires a full pass Normalize all inputs by mean and std dev Create vocabulary of strings è integers over all data Bucketize features based on entire data distribution Outputs a TensorFlow graph Re-used across both training and serving Uses Apache Beam (local mode) for Parallel Analysis Can also use distributed mode `preprocessing_fn(inputs)`: Primary Fn to Implement Feature Load Feature Analyze Feature Transform Model Train Model Evaluate Model Deploy Reproduce Training import tensorflow as tf import tensorflow_transform as tft def preprocessing_fn(inputs): x = inputs['x'] y = inputs['y'] s = inputs['s'] x_centered = x - tft.mean(x) y_normalized = tft.scale_to_0_1(y) s_integerized = tft.compute_and_apply_vocabulary(s) x_centered_times_y_normalized = x_centered * y_normalized return { 'x_centered': x_centered, 'y_normalized': y_normalized, 'x_centered_times_y_normalized':x_centered_times_y_normalized, 's_integerized': s_integerized }
  • 36. 2.2.3 TFX Libraries - TFMA TensorFlow Model Analysis (TFMA) Analyze Model on Different Slices of Dataset Track Metrics Over Time (“Next Day Eval”) `EvalSavedModel` Contains Slicing Info TFMA Pipeline: Read, Extract, Evaluate, Write ie. Ensure Model Works Fairly Across All Users Feature Load Feature Analyze Feature Transform Model Train Model Evaluate Model Deploy Reproduce Training
  • 38. 2.2.4 TFX Libraries – Metadata TensorFlow Metadata (TFMD) ML Metadata (MLMD) Record and Retrieve Experiment Metadata Artifact, Execution, and Lineage Info Track Inputs / Outputs of All TFX Components Stores Training Run Info Analysis and Validation Results Model Versioning Info Feature Load Feature Analyze Feature Transform Model Train Model Evaluate Model Deploy Reproduce Training
  • 39. 2.3 TFX Components ExampleGen StatisticsGen SchemaGen ExampleValidator Evaluator Transform ModelValidator Trainer Model Pusher2.3.92.3.1 2.3.2 2.3.3 2.3.4 2.3.5 2.3.6 2.3.7 2.3.8 Slack (!!)2.3.10
  • 40. 2.3.1 ExampleGen Feature Load Feature Analyze Feature Transform Model Train Model Evaluate Model Deploy Reproduce Training Load Training Data Into TFX Pipeline Supports External Data Sources Supports CSV and TFRecord Formats Converts Data to tf.Example Note: TFX Pipelines require tf.Example (?!) Difficult to use non-TensorFlow models like XGBoost from tfx.utils.dsl_utils import csv_input from tfx.components.example_gen.csv_example_gen.component import CsvExampleGen examples = csv_input(os.path.join(base_dir, 'data/simple')) example_gen = CsvExampleGen(input_base=examples)
  • 41. 2.3.2 StatisticsGen Feature Load Feature Analyze Feature Transform Model Train Model Evaluate Model Deploy Reproduce Training Generates Statistics on Training Data Consumes tf.Example instances from tfx import components compute_eval_stats = components.StatisticsGen( input_data=examples_gen.outputs.eval_examples, name='compute-eval-stats' )
  • 42. 2.3.3 SchemaGen Feature Load Feature Analyze Feature Transform Model Train Model Evaluate Model Deploy Reproduce Training Schema Needed by Some TFX Components Data Types, Value Ranges, Optional, Required Consumes Data from StatisticsGen Auto-gen `schema.proto` from training data Schema used by TFDV, TFT, TFMA Libraries Uses TFDV Library to infer schema Best effort and basic Human should verify feature { name: "age" value_count { min: 1 max: 1 } type: FLOAT presence { min_fraction: 1 min_count: 1 } } from tfx import components infer_schema = components.SchemaGen( stats=compute_training_stats.outputs.output)
  • 43. 2.3.4 ExampleValidator Feature Load Feature Analyze Feature Transform Model Train Model Evaluate Model Deploy Reproduce Training Identifies Anomalies in Training Data Used with serving data to detect drift / skew Uses StatisticsGen and SchemaGen Outputs Produces Validation Results Uses TFDV Library for Input Validation feature { name: "age" value_count { min: 1 max: 1 } type: FLOAT presence { min_fraction: 1 min_count: 1 } } from tfx import components infer_schema = components.SchemaGen( stats=compute_training_stats.outputs.output )
  • 44. 2.3.5 Transform Feature Load Feature Analyze Feature Transform Model Train Model Evaluate Model Deploy Reproduce Training Uses Data from ExampleGen and SchemaGen Transformations Become Part of TF Graph (!!) Helps Avoid Training/Serving Skew Uses TFT Library for Transformations Designed for Transformations that Require Full Pass Through Entire Dataset Global Reduction Across All Batches Create Word Embeddings & Vocabs String <=> Index Conversion Normalize & Bucketize PCA Feature-Crossing def preprocessing_fn(inputs): # inputs: map from feature keys # to raw not-yet-transformed features # outputs: map from string feature key # to transformed feature operations
  • 45. 2.3.6 Trainer Feature Load Feature Analyze Feature Transform Model Train Model Evaluate Model Deploy Reproduce Training Trains / Validates tf.Examples from Transform Uses schema.proto from SchemaGen Produces SavedModel and EvalSavedModel Uses Core TensorFlow Python API Works with TensorFlow 1.x Estimator API TensorFlow 2.0 Keras Support Coming Soon from tfx import components trainer = components.Trainer( module_file=taxi_pipeline_utils, train_files=transform_training.outputs.output, eval_files=transform_eval.outputs.output, schema=infer_schema.outputs.output, tf_transform_dir=transform_training.outputs.output, train_steps=10000, eval_steps=5000, warm_starting=True )
  • 46. 2.3.7 Evaluator Feature Load Feature Analyze Feature Transform Model Train Model Evaluate Model Deploy Reproduce Training Uses EvalSavedModel from Trainer Writes Analysis Results to ML Metadata Store Uses TFMA Library for Analysis TFMA Uses Apache Beam to Scale Analysis from tfx import components import tensorflow_model_analysis as tfma taxi_eval_spec = [ tfma.SingleSliceSpec(), tfma.SingleSliceSpec(columns=['trip_start_hour']) ] model_analyzer = components.Evaluator( examples=examples_gen.outputs.eval_examples, eval_spec=taxi_eval_spec, model_exports=trainer.outputs.output)
  • 47. 2.3.8 ModelValidator Feature Load Feature Analyze Feature Transform Model Train Model Evaluate Model Deploy Reproduce Training Validate Models from Trainer Uses Data from SchemaGen and StatisticsGen Compares New Models to Baseline Baseline == current model in production New Model is Good if Meets/Exceeds Metrics If Good, Notify Pusher to Deploy New Model Writes Validation Results to Metadata Store import tensorflow_model_analysis as tfma taxi_mv_spec = [tfma.SingleSliceSpec()] model_validator = components.ModelValidator( examples=examples_gen.outputs.output, model=trainer.outputs.output)
  • 48. 2.3.9 Model Pusher (Deployer) Feature Load Feature Analyze Feature Transform Model Train Model Evaluate Model Deploy Reproduce Training Push Good Model to Deployment Target Uses Trained SavedModel Writes Version Data to Metadata Store from tfx import components pusher = components.Pusher( model_export=trainer.outputs.output, model_blessing=model_validator.outputs.blessing, serving_model_dir=serving_model_dir)
  • 49. 2.3.10 Slack Component (!!) Feature Load Feature Analyze Feature Transform Model Train Model Evaluate Model Deploy Reproduce Training Runs After ModelValidator Adds Human-in-the-Loop Step to Pipeline TFX Sends Message to Slack with Model URI Asks Human to Review the New Model Respond ‘LGTM’, ‘approve’, ‘decline’, ‘reject’ Requires Slack API Setup / Integration export SLACK_BOT_TOKEN={your_token} _channel_id = 'my-channel-id' _slack_token = os.environ['SLACK_BOT_TOKEN’] slack_validator = SlackComponent( model_export=trainer.outputs.output, model_blessing=model_validator.outputs.blessing, slack_token=_slack_token, channel_id=_channel_id, timeout_sec=3600, ) https://github.com/tensorflow/tfx/tree/master /tfx/examples/custom_components/slack/slack_component
  • 50. 1 Setup Environment with Kubernetes TensorFlow Extended (TFX) ML Pipelines with Airflow and KubeFlow Agenda Hyper-Parameter Tuning with KubeFlow Deploy Notebook with Kubernetes 2 3 4 5
  • 51. 3.0 ML Pipelines with Airflow and KubeFlow Feature Load Feature Analyze Feature Transform Model Train Model Evaluate Model Deploy 3.1 Airflow KubeFlow3.2
  • 52. 3.1 Airflow 6 Feature Load Feature Analyze Feature Transform Model Train Model Evaluate Model Deploy Reproduce Training Most Widely-Used Workflow Orchestrator Define Execution Graphs in Python Decent UI Good Community Support
  • 56. 3.2 KubeFlow 6 Feature Load Feature Analyze Feature Transform Model Train Model Evaluate Model Deploy Reproduce Training Pipelines Based on Argo CI/CD Project from Intuit TFJob Supports Distributed Training KubeFlow Fairing Project (!!) Run a notebook as a production job Deploy training code with dependencies
  • 60. 1 Setup Environment with Kubernetes TensorFlow Extended (TFX) ML Pipelines with Airflow and KubeFlow Agenda Hyper-Parameter Tuning with KubeFlow Deploy Notebook with Kubernetes 2 3 4 5
  • 61. 4.0 Hyper-Parameter Tuning 6 Experiment Single Optimization Run Single Objective Function Across Runs Contains Many Trials Trial List of Param Values Suggestion Optimization Algorithm Job Evaluates a Trial Calculates Objective Feature Load Feature Analyze Feature Transform Model Train Model Evaluate Model Deploy Reproduce Training
  • 63. 1 Setup Environment with Kubernetes TensorFlow Extended (TFX) ML Pipelines with Airflow and KubeFlow Agenda Hyper-Parameter Tuning with KubeFlow Deploy Notebook with Kubernetes 2 3 4 5
  • 64. 5.0 Deploy Notebook as Job Feature Load Feature Analyze Feature Transform Model Train Model Evaluate Model Deploy Reproduce Training 6 5.1 Wrap Model in a Docker Image Deploy Job to Kubernetes5.2
  • 65. 5.1 Create Docker Image Feature Load Feature Analyze Feature Transform Model Train Model Evaluate Model Deploy Reproduce Training
  • 66. 5.2 Deploy Notebook as Job Feature Load Feature Analyze Feature Transform Model Train Model Evaluate Model Deploy Reproduce Training
  • 68. 1 Setup Environment with Kubernetes TensorFlow Extended (TFX) ML Pipelines with TFX, Airflow, and KubeFlow Agenda Hyper-Parameter Tuning with TFX and KubeFlow Deploy Notebook with Kubernetes 2 3 4 5
  • 69. Bonus Extras! 6 TPUs MLflow RedisAI + TensorFlow + PyTorch TensorFlow 2.0 TensorFlow Privacy Libraries 7 8 9 10