SlideShare uma empresa Scribd logo
1 de 47
Baixar para ler offline
SCALING UP RESEARCH
TO PRODUCTION WITH
PYTORCH & MLFLOW
JOE SPISAK
PYTORCH PRODUCT LEAD
AGENDA 01
WHAT IS PYTORCH?
02
THE AMAZING COMMUNITY
03
HOW FACEBOOK USES PYTORCH
04
FOUR CHALLENGES TO SCALING AI
05
GET STARTED
SIMPLICITY
OVER
COMPLEXITY
HARDWARE
ACCELERATION
DISTRIBUTED
TRAINING
DYNAMIC
NEURAL
NETWORKS
EAGER &
GRAPH-BASED
EXECUTION
WHAT IS PYTORCH?
P Y T O R C H
R E S E A R C H
P R O T O T Y P I N G
P R O D U C T I O N
D E P L O Y M E N T
+
to rc h . o p tim
O P T I M I Z E R S
to rc h . n n
N E U R A L N E T W O R K S
to rc h . d ata
D A T A S E T S &
D A T A L O A D E R S
to rc h .visio n
M O D E L S , D A T A
to rc h . au to g rad
A U T O
D I F F E R E N T I A T I O N
to rc h . j it
T O R C H S C R I P T
D E P L O Y M E N T
C O M M U N I T Y
~1,400C O N T R I B U T O R S
50%+Y O Y G R O W T H
29K+P Y T O R C H F O R U M U S E R S
G R O W I N G U S A G E I N O P E N S O U R C E
Source: https://paperswithcode.com/trends
P Y T O R C H | A T F A C E B O O K
F A C E B O O K P R O D U C T S L E V E R A G I N G M L
Search
Translation
Ads
News Feed
Face Tagging
S C A L I N G A I
F O U R C H A L L E N G E S
C H A L L E N G E # 1
D E V E L O P E R E X P E R I E N C E
A RICH ECOSYSTEM OF TOOLS AND LIBRARIES
FULL FREEDOM TO ITERATE AND EXPLORE THE DESIGN SPACE
CLEAN AND INTUITIVE APIS
DEVELOPER EXPERIENCE
DEVELOPER EFFICIENCY
ENABLING A HIGH VELOCITY OF MODEL
ITERATION AND INNOVATION
P Y T H O N C + +
import torch
class Net(torch.nn.Module):
def __init__(self):
self.fc1 = torch.nn.Linear(8, 64)
self.fc2 = torch.nn.Linear(64, 1)
def forward(self, x):
x = torch.relu(self.fc1.forward(x))
x = torch.dropout(x, p=0.5)
x = torch.sigmoid(self.fc2.forward(x))
return x
#include <torch/torch.h>
struct Net : torch::nn::Module {
Net() : fc1(8, 64), fc2(64, 1) {
register_module("fc1", fc1);
register_module("fc2", fc2);
}
torch::Tensor forward(torch::Tensor x) {
x = torch::relu(fc1->forward(x));
x = torch::dropout(x, /*p=*/0.5);
x = torch::sigmoid(fc2->forward(x));
return x;
}
torch::nn::Linear fc1, fc2;
};
BUILDING FOR
SCALE
HIGH PERFORMANCE EXECUTION FOR
MODEL TRAINING AND INFERENCE
Net net;
auto data_loader = torch::data::data_loader(
torch::data::datasets::MNIST("./data"));
torch::optim::SGD optimizer(net.parameters());
for (size_t epoch = 1; epoch <= 10; ++epoch) {
for (auto batch : data_loader) {
optimizer.zero_grad();
auto prediction = net.forward(batch.data);
auto loss = torch::nll_loss(prediction,
batch.label);
loss.backward();
optimizer.step();
}
if (epoch % 2 == 0) {
torch::save(net, "net.pt");
}
}
P Y T H O N C + +
net = Net()
data_loader = torch.utils.data.DataLoader(
torchvision.datasets.MNIST('./data'))
optimizer = torch.optim.SGD(net.parameters())
for epoch in range(1, 11):
for data, target in data_loader:
optimizer.zero_grad()
prediction = net.forward(data)
loss = F.nll_loss(prediction, target)
loss.backward()
optimizer.step()
if epoch % 2 == 0:
torch.save(net, "net.pt")
T O O L S &
L I B R A R I E S
C H A L L E N G E # 2
M O D E L S I Z E A N D C O M P U T E
N E E D S
PARAMETER COUNTS CONTINUE TO GROW
PRUNING
State-of-the-art deep learning techniques rely on over-
parametrized models that are hard to deploy.
Identify optimal techniques to compress models by reducing
the number of parameters without sacrificing accuracy.
new_model = LeNet()
for name, module in new_model.named_modules():
# prune 20% of connections in all 2D-conv layers
if isinstance(module, torch.nn.Conv2d):
prune.l1_unstructured(module, name='weight', amount=0.2)
# prune 40% of connections in all linear layers
elif isinstance(module, torch.nn.Linear):
prune.l1_unstructured(module, name='weight', amount=0.4)
# to verify that all masks exist
print(dict(new_model.named_buffers()).keys())
QUANTIZATION
model = ResNet50()
model.load_state_dict(torch.load("model.pt"))
qmodel = quantization.prepare(
model, {"": quantization.default_qconfig})
qmodel.eval()
for batch, target in data_loader:
model(batch)
qmodel = quantization.convert(qmodel)
EXPERIMENTAL
Neural networks inference is expensive
IoT and mobile devices have limited resources
Quantizing models enables efficient inference at scale
fp32 accuracy int8 accuracy change Technique CPU inference speed up
ResNet50 76.1
Top-1, Imagenet
-0.2
75.9
Post Training
2x
214ms ➙102ms,
Intel Skylake-DE
MobileNetV2 71.9
Top-1, Imagenet
-0.3
71.6
Quantization-Aware
Training
4x
75ms ➙18ms
OnePlus 5, Snapdragon 835
Translate / FairSeq 32.78
BLEU, IWSLT 2014 de-en
0.0
32.78
Dynamic
(weights only)
4x
for encoder
Intel Skylake-SE
These models and more available on TorchHub - https://pytorch.org/hub/
EXAMPLE MODELS | W/ QUANTIZATION
C H A L L E N G E # 3
T R A I N I N G M O D E L S A T S C A L E
T H E P A T H T O B E T T E R E X P E R I M E N T A T I O N
IDEAS ARE GETTING
MORE COMPLEX
1
MODELS ARE GETTING
MORE COMPLEX
2
Complex Models
GEN 4
SPARSE
NN
GEN 3
NNS: DEEP
LEARNING
GEN 2
SPARSE LINEAR
REGRESSION
GEN 1
DECISION
TREES
x-3
= 2a
x-a
T H E P A T H T O B E T T E R E X P E R I M E N T A T I O N
IDEAS ARE GETTING
MORE COMPLEX
1
MODELS ARE GETTING
MORE COMPLEX
2 ResNeXt-101-32x4d
ResNet-101
Training Time (days)
Months?
7
4
2
14
ResNet-50
Internet-Scale Data / Videos
IN5K-ResNeXt-101-64x4d
HETEROGENOUS HARDWARE
• HPC workloads sensitive to hardware types, generations
• Scheduling more complex than just {x GB RAM, y CPU} per task
• Multiple gen GPUs, CPUs, ASICs
Heterogeneous Hardware
HPC workloads are sensitive to hardware types, generations
Scheduling is more complex than just {x GB RAM, Y CPU} per task
Multiple gen GPUs, CPUs, ASICs
• HPC workloads sensitive to hardware types, generations
• Scheduling more complex than just {x GB RAM, y CPU} per task
• Multiple gen GPUs, CPUs, ASICs
Heterogeneous Hardware
EXPENSIVE &
EXPERIMENTAL
Unlike data pipelines, majority of ML jobs are ad hoc
Long running jobs complicate demand prediction & control
Cost & Efficiency
ROI for jobs hard to estimate
Sub-linear scaling + huge scale﹦ an easy way to waste
resources
PY TORCH EL ASTIC
Enables users to write fault tolerant and elastic distributed PyTorch jobs
Use cases
Fault tolerance
Run on non-HPC cluster (e.g. cloud)
Mission critical production job
Dynamic Capacity Management:
Run on leased capacity that can be preempted (e.g. AWS spot
instances)
Shared pools where the pool size can change dynamically based
on demand (e.g. autoscaling)
Open sourced 0.1.0.rc - https://github.com/pytorch/elastic
Integrated with Classy Vision - https://classyvision.ai/tutorials/pet_aws
REALLY
L ARGE
SCALE
Tens of billions of training examples
Some models larger than size of machine
Hundreds of experimental runs competing for
resources
More than 1000+ different production models
PY TORCH RPC (REMOTE
PROCEDURE CALL)
Enables applications to run functions remotely, and
automatically handles autograd if necessary.
Use cases
Scale out applications
Parameter Server Framework
In RL, multiple observers streaming states and rewards to
the agent for policy training
Distributed model parallelism
Allow large models to span multiple machines
Hogwild! training
PY TORCH RPC COMPONENTS
RPC
Run user code with given args on the specified
destination
Remote Reference (RRef)
Tracks and maintains objects owned by a remote worker.
Distributed Autograd
Connects autograd graphs on different workers into one
global graph and provides a similar backward API.
Distributed Optimizer
Automatically handles RRef of subnets and expose a
similar API as local optimizers.
C H A L L E N G E # 4
D E P L O Y M E N T A T S C A L E
INFERENCE AT SCALE
Deploying and managing models in production is
difficult.
Some of the pain points include:
Loading and managing multiple models, on multiple
servers or end devices
Running pre-processing and post-processing code on
prediction requests.
How to log, monitor and secure predictions
What happens when you hit scale?
TORCHSERVE
• Default handlers for common use cases (e.g., image segmentation, text classification) along with custom handlers support
for other use cases
• Model versioning and ability to roll back to an earlier version
• Automatic batching of individual inferences across HTTP requests
• Logging including common metrics, and the ability to incorporate custom metrics
• Robust HTTP APIS - Management and Inference
EXPERIMENTAL
L O G G I N G A N D L O A D I N G
MLFLOW.PY TORCH
Integration with
TorchServe Coming Soon!
T H E L A T E S T | G E T S T A R T E D
• PyTorch 1.5 released on April 21st. Over 2,200 commits
• (Experimental) TorchServe model serving solution in partnership with AWS
• (Experimental) TorchElastic Kubernetes operator
• Stable Distributed Model Parallel Training - large models spanning across GPUs
• (Experimental) New high level autograd API including jacobian, hessian, jvp, vjp, hvp and vhp to
torch.autograd.functional
• Stable C++ Front End API
• (Experimental) New Custom C++ API, torch::class_, for binding custom C++ classes into TorchScript and Python
• Deprecated Python 2 support
NEW (CORE) FEATURES
• torchvision 0.6
- Faster R-CNN now supports negative samples which allows the feeding of images without annotations at training time
- Added a aligned flag to RoIAlign to match Detectron2
- Refactored abstractions for C++ video decoder
• torchtext 0.6
- Fixed issue related to the SentencePiece dependency in conda package
- Added support for the experimental IMDB dataset to allow a custom vocab
- A number of documentation updates including - code of conduct, deduplication of the docs
- Feedback requested for Experimental Datasets (#664) and Text classification dataset with new abstractions to
decouple data and vocab/tokenizer (PR#701)
• torchaudio 0.5
- Added the Griffin-Lim functional and transform, InverseMelScale and Vol transforms, and DB_to_amplitude
- Added support for allpass, fade, bandpass, band reject, band, treble, deep mph and riaa filters and transformations
- New datasets added including LJSpeech and SpeechCommands datasets.
DOMAIN LIBRARIES - NEW IN 1.5
G E T S TA R T E D
PY TORCH.ORG
EDUCATIONAL
RESOURCES
EDUCATIONAL
RESOURCES
https://pytorch.apachecn.org/
ALSO IN CHINESE :)
JOIN THE PYTORCH
DEVELOPER COMMUNITY
PyTorch.org
Youtube.com/pytorch
Twitter.com/pytorch
Facebook.com/pytorch
Medium.com/pytorch

Mais conteúdo relacionado

Mais procurados

PR-330: How To Train Your ViT? Data, Augmentation, and Regularization in Visi...
PR-330: How To Train Your ViT? Data, Augmentation, and Regularization in Visi...PR-330: How To Train Your ViT? Data, Augmentation, and Regularization in Visi...
PR-330: How To Train Your ViT? Data, Augmentation, and Regularization in Visi...Jinwon Lee
 
Large scale-lm-part1
Large scale-lm-part1Large scale-lm-part1
Large scale-lm-part1gohyunwoong
 
Domain adaptation for Image Segmentation
Domain adaptation for Image SegmentationDomain adaptation for Image Segmentation
Domain adaptation for Image SegmentationDeepak Thukral
 
PGQL: A Language for Graphs
PGQL: A Language for GraphsPGQL: A Language for Graphs
PGQL: A Language for GraphsJean Ihm
 
Understanding and Improving Code Generation
Understanding and Improving Code GenerationUnderstanding and Improving Code Generation
Understanding and Improving Code GenerationDatabricks
 
Bring Satellite and Drone Imagery into your Data Science Workflows
Bring Satellite and Drone Imagery into your Data Science WorkflowsBring Satellite and Drone Imagery into your Data Science Workflows
Bring Satellite and Drone Imagery into your Data Science WorkflowsDatabricks
 
Accelerating Spark SQL Workloads to 50X Performance with Apache Arrow-Based F...
Accelerating Spark SQL Workloads to 50X Performance with Apache Arrow-Based F...Accelerating Spark SQL Workloads to 50X Performance with Apache Arrow-Based F...
Accelerating Spark SQL Workloads to 50X Performance with Apache Arrow-Based F...Databricks
 
Graph processing - Pregel
Graph processing - PregelGraph processing - Pregel
Graph processing - PregelAmir Payberah
 
TensorFlow Studying Part II for GPU
TensorFlow Studying Part II for GPUTensorFlow Studying Part II for GPU
TensorFlow Studying Part II for GPUTe-Yen Liu
 
How to Actually Tune Your Spark Jobs So They Work
How to Actually Tune Your Spark Jobs So They WorkHow to Actually Tune Your Spark Jobs So They Work
How to Actually Tune Your Spark Jobs So They WorkIlya Ganelin
 
I3D and Kinetics datasets (Action Recognition)
I3D and Kinetics datasets (Action Recognition)I3D and Kinetics datasets (Action Recognition)
I3D and Kinetics datasets (Action Recognition)Susang Kim
 
Nested JSON data processing with Apache Spark
Nested JSON data processing with Apache SparkNested JSON data processing with Apache Spark
Nested JSON data processing with Apache SparkAegis Software Canada
 
Training Series: Build APIs with Neo4j GraphQL Library
Training Series: Build APIs with Neo4j GraphQL LibraryTraining Series: Build APIs with Neo4j GraphQL Library
Training Series: Build APIs with Neo4j GraphQL LibraryNeo4j
 
Spark SQL: Another 16x Faster After Tungsten: Spark Summit East talk by Brad ...
Spark SQL: Another 16x Faster After Tungsten: Spark Summit East talk by Brad ...Spark SQL: Another 16x Faster After Tungsten: Spark Summit East talk by Brad ...
Spark SQL: Another 16x Faster After Tungsten: Spark Summit East talk by Brad ...Spark Summit
 
Training Week: Create a Knowledge Graph: A Simple ML Approach
Training Week: Create a Knowledge Graph: A Simple ML Approach Training Week: Create a Knowledge Graph: A Simple ML Approach
Training Week: Create a Knowledge Graph: A Simple ML Approach Neo4j
 
Introducing DataFrames in Spark for Large Scale Data Science
Introducing DataFrames in Spark for Large Scale Data ScienceIntroducing DataFrames in Spark for Large Scale Data Science
Introducing DataFrames in Spark for Large Scale Data ScienceDatabricks
 
제8회 BOAZ 빅데이터 컨퍼런스 - 01 낚시성 기사 분류기
제8회 BOAZ 빅데이터 컨퍼런스 - 01 낚시성 기사 분류기제8회 BOAZ 빅데이터 컨퍼런스 - 01 낚시성 기사 분류기
제8회 BOAZ 빅데이터 컨퍼런스 - 01 낚시성 기사 분류기BOAZ Bigdata
 
Fine Tuning and Enhancing Performance of Apache Spark Jobs
Fine Tuning and Enhancing Performance of Apache Spark JobsFine Tuning and Enhancing Performance of Apache Spark Jobs
Fine Tuning and Enhancing Performance of Apache Spark JobsDatabricks
 
Complex Telco Networks as Simple Graphs
Complex Telco Networks as Simple GraphsComplex Telco Networks as Simple Graphs
Complex Telco Networks as Simple GraphsNeo4j
 

Mais procurados (20)

PR-330: How To Train Your ViT? Data, Augmentation, and Regularization in Visi...
PR-330: How To Train Your ViT? Data, Augmentation, and Regularization in Visi...PR-330: How To Train Your ViT? Data, Augmentation, and Regularization in Visi...
PR-330: How To Train Your ViT? Data, Augmentation, and Regularization in Visi...
 
Large scale-lm-part1
Large scale-lm-part1Large scale-lm-part1
Large scale-lm-part1
 
Domain adaptation for Image Segmentation
Domain adaptation for Image SegmentationDomain adaptation for Image Segmentation
Domain adaptation for Image Segmentation
 
PGQL: A Language for Graphs
PGQL: A Language for GraphsPGQL: A Language for Graphs
PGQL: A Language for Graphs
 
Understanding and Improving Code Generation
Understanding and Improving Code GenerationUnderstanding and Improving Code Generation
Understanding and Improving Code Generation
 
Bring Satellite and Drone Imagery into your Data Science Workflows
Bring Satellite and Drone Imagery into your Data Science WorkflowsBring Satellite and Drone Imagery into your Data Science Workflows
Bring Satellite and Drone Imagery into your Data Science Workflows
 
Accelerating Spark SQL Workloads to 50X Performance with Apache Arrow-Based F...
Accelerating Spark SQL Workloads to 50X Performance with Apache Arrow-Based F...Accelerating Spark SQL Workloads to 50X Performance with Apache Arrow-Based F...
Accelerating Spark SQL Workloads to 50X Performance with Apache Arrow-Based F...
 
Graph processing - Pregel
Graph processing - PregelGraph processing - Pregel
Graph processing - Pregel
 
TensorFlow Studying Part II for GPU
TensorFlow Studying Part II for GPUTensorFlow Studying Part II for GPU
TensorFlow Studying Part II for GPU
 
Autoencoders
AutoencodersAutoencoders
Autoencoders
 
How to Actually Tune Your Spark Jobs So They Work
How to Actually Tune Your Spark Jobs So They WorkHow to Actually Tune Your Spark Jobs So They Work
How to Actually Tune Your Spark Jobs So They Work
 
I3D and Kinetics datasets (Action Recognition)
I3D and Kinetics datasets (Action Recognition)I3D and Kinetics datasets (Action Recognition)
I3D and Kinetics datasets (Action Recognition)
 
Nested JSON data processing with Apache Spark
Nested JSON data processing with Apache SparkNested JSON data processing with Apache Spark
Nested JSON data processing with Apache Spark
 
Training Series: Build APIs with Neo4j GraphQL Library
Training Series: Build APIs with Neo4j GraphQL LibraryTraining Series: Build APIs with Neo4j GraphQL Library
Training Series: Build APIs with Neo4j GraphQL Library
 
Spark SQL: Another 16x Faster After Tungsten: Spark Summit East talk by Brad ...
Spark SQL: Another 16x Faster After Tungsten: Spark Summit East talk by Brad ...Spark SQL: Another 16x Faster After Tungsten: Spark Summit East talk by Brad ...
Spark SQL: Another 16x Faster After Tungsten: Spark Summit East talk by Brad ...
 
Training Week: Create a Knowledge Graph: A Simple ML Approach
Training Week: Create a Knowledge Graph: A Simple ML Approach Training Week: Create a Knowledge Graph: A Simple ML Approach
Training Week: Create a Knowledge Graph: A Simple ML Approach
 
Introducing DataFrames in Spark for Large Scale Data Science
Introducing DataFrames in Spark for Large Scale Data ScienceIntroducing DataFrames in Spark for Large Scale Data Science
Introducing DataFrames in Spark for Large Scale Data Science
 
제8회 BOAZ 빅데이터 컨퍼런스 - 01 낚시성 기사 분류기
제8회 BOAZ 빅데이터 컨퍼런스 - 01 낚시성 기사 분류기제8회 BOAZ 빅데이터 컨퍼런스 - 01 낚시성 기사 분류기
제8회 BOAZ 빅데이터 컨퍼런스 - 01 낚시성 기사 분류기
 
Fine Tuning and Enhancing Performance of Apache Spark Jobs
Fine Tuning and Enhancing Performance of Apache Spark JobsFine Tuning and Enhancing Performance of Apache Spark Jobs
Fine Tuning and Enhancing Performance of Apache Spark Jobs
 
Complex Telco Networks as Simple Graphs
Complex Telco Networks as Simple GraphsComplex Telco Networks as Simple Graphs
Complex Telco Networks as Simple Graphs
 

Semelhante a Scaling Up AI Research to Production with PyTorch and MLFlow

Scaling AI in production using PyTorch
Scaling AI in production using PyTorchScaling AI in production using PyTorch
Scaling AI in production using PyTorchgeetachauhan
 
BigDL webinar - Deep Learning Library for Spark
BigDL webinar - Deep Learning Library for SparkBigDL webinar - Deep Learning Library for Spark
BigDL webinar - Deep Learning Library for SparkDESMOND YUEN
 
TensorFlow meetup: Keras - Pytorch - TensorFlow.js
TensorFlow meetup: Keras - Pytorch - TensorFlow.jsTensorFlow meetup: Keras - Pytorch - TensorFlow.js
TensorFlow meetup: Keras - Pytorch - TensorFlow.jsStijn Decubber
 
Microservices Delivery Platform. Tips & Tricks
Microservices Delivery Platform. Tips & TricksMicroservices Delivery Platform. Tips & Tricks
Microservices Delivery Platform. Tips & TricksAndrey Trubitsyn
 
Profiling PyTorch for Efficiency & Sustainability
Profiling PyTorch for Efficiency & SustainabilityProfiling PyTorch for Efficiency & Sustainability
Profiling PyTorch for Efficiency & Sustainabilitygeetachauhan
 
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
 
Using Deep Learning on Apache Spark to Diagnose Thoracic Pathology from Chest...
Using Deep Learning on Apache Spark to Diagnose Thoracic Pathology from Chest...Using Deep Learning on Apache Spark to Diagnose Thoracic Pathology from Chest...
Using Deep Learning on Apache Spark to Diagnose Thoracic Pathology from Chest...Databricks
 
running stable diffusion on android
running stable diffusion on androidrunning stable diffusion on android
running stable diffusion on androidKoan-Sin Tan
 
XConf 2022 - Code As Data: How data insights on legacy codebases can fill the...
XConf 2022 - Code As Data: How data insights on legacy codebases can fill the...XConf 2022 - Code As Data: How data insights on legacy codebases can fill the...
XConf 2022 - Code As Data: How data insights on legacy codebases can fill the...Alessandro Confetti
 
Going deep (learning) with tensor flow and quarkus
Going deep (learning) with tensor flow and quarkusGoing deep (learning) with tensor flow and quarkus
Going deep (learning) with tensor flow and quarkusRed Hat Developers
 
Building Interpretable & Secure AI Systems using PyTorch
Building Interpretable & Secure AI Systems using PyTorchBuilding Interpretable & Secure AI Systems using PyTorch
Building Interpretable & Secure AI Systems using PyTorchgeetachauhan
 
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...inside-BigData.com
 
Running Emerging AI Applications on Big Data Platforms with Ray On Apache Spark
Running Emerging AI Applications on Big Data Platforms with Ray On Apache SparkRunning Emerging AI Applications on Big Data Platforms with Ray On Apache Spark
Running Emerging AI Applications on Big Data Platforms with Ray On Apache SparkDatabricks
 
Automated ML Workflow for Distributed Big Data Using Analytics Zoo (CVPR2020 ...
Automated ML Workflow for Distributed Big Data Using Analytics Zoo (CVPR2020 ...Automated ML Workflow for Distributed Big Data Using Analytics Zoo (CVPR2020 ...
Automated ML Workflow for Distributed Big Data Using Analytics Zoo (CVPR2020 ...Jason Dai
 
Deep Learning And Business Models (VNITC 2015-09-13)
Deep Learning And Business Models (VNITC 2015-09-13)Deep Learning And Business Models (VNITC 2015-09-13)
Deep Learning And Business Models (VNITC 2015-09-13)Ha Phuong
 
Soumith Chintala - Increasing the Impact of AI Through Better Software
Soumith Chintala - Increasing the Impact of AI Through Better SoftwareSoumith Chintala - Increasing the Impact of AI Through Better Software
Soumith Chintala - Increasing the Impact of AI Through Better SoftwareMLconf
 
Azure 機器學習 - 使用Python, R, Spark, CNTK 深度學習
Azure 機器學習 - 使用Python, R, Spark, CNTK 深度學習 Azure 機器學習 - 使用Python, R, Spark, CNTK 深度學習
Azure 機器學習 - 使用Python, R, Spark, CNTK 深度學習 Herman Wu
 

Semelhante a Scaling Up AI Research to Production with PyTorch and MLFlow (20)

Scaling AI in production using PyTorch
Scaling AI in production using PyTorchScaling AI in production using PyTorch
Scaling AI in production using PyTorch
 
BigDL webinar - Deep Learning Library for Spark
BigDL webinar - Deep Learning Library for SparkBigDL webinar - Deep Learning Library for Spark
BigDL webinar - Deep Learning Library for Spark
 
TensorFlow meetup: Keras - Pytorch - TensorFlow.js
TensorFlow meetup: Keras - Pytorch - TensorFlow.jsTensorFlow meetup: Keras - Pytorch - TensorFlow.js
TensorFlow meetup: Keras - Pytorch - TensorFlow.js
 
Microservices Delivery Platform. Tips & Tricks
Microservices Delivery Platform. Tips & TricksMicroservices Delivery Platform. Tips & Tricks
Microservices Delivery Platform. Tips & Tricks
 
Profiling PyTorch for Efficiency & Sustainability
Profiling PyTorch for Efficiency & SustainabilityProfiling PyTorch for Efficiency & Sustainability
Profiling PyTorch for Efficiency & Sustainability
 
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
 
AI and Deep Learning
AI and Deep Learning AI and Deep Learning
AI and Deep Learning
 
Distributed deep learning_over_spark_20_nov_2014_ver_2.8
Distributed deep learning_over_spark_20_nov_2014_ver_2.8Distributed deep learning_over_spark_20_nov_2014_ver_2.8
Distributed deep learning_over_spark_20_nov_2014_ver_2.8
 
Using Deep Learning on Apache Spark to Diagnose Thoracic Pathology from Chest...
Using Deep Learning on Apache Spark to Diagnose Thoracic Pathology from Chest...Using Deep Learning on Apache Spark to Diagnose Thoracic Pathology from Chest...
Using Deep Learning on Apache Spark to Diagnose Thoracic Pathology from Chest...
 
running stable diffusion on android
running stable diffusion on androidrunning stable diffusion on android
running stable diffusion on android
 
XConf 2022 - Code As Data: How data insights on legacy codebases can fill the...
XConf 2022 - Code As Data: How data insights on legacy codebases can fill the...XConf 2022 - Code As Data: How data insights on legacy codebases can fill the...
XConf 2022 - Code As Data: How data insights on legacy codebases can fill the...
 
Going deep (learning) with tensor flow and quarkus
Going deep (learning) with tensor flow and quarkusGoing deep (learning) with tensor flow and quarkus
Going deep (learning) with tensor flow and quarkus
 
Building Interpretable & Secure AI Systems using PyTorch
Building Interpretable & Secure AI Systems using PyTorchBuilding Interpretable & Secure AI Systems using PyTorch
Building Interpretable & Secure AI Systems using PyTorch
 
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...
 
Distributed Deep Learning + others for Spark Meetup
Distributed Deep Learning + others for Spark MeetupDistributed Deep Learning + others for Spark Meetup
Distributed Deep Learning + others for Spark Meetup
 
Running Emerging AI Applications on Big Data Platforms with Ray On Apache Spark
Running Emerging AI Applications on Big Data Platforms with Ray On Apache SparkRunning Emerging AI Applications on Big Data Platforms with Ray On Apache Spark
Running Emerging AI Applications on Big Data Platforms with Ray On Apache Spark
 
Automated ML Workflow for Distributed Big Data Using Analytics Zoo (CVPR2020 ...
Automated ML Workflow for Distributed Big Data Using Analytics Zoo (CVPR2020 ...Automated ML Workflow for Distributed Big Data Using Analytics Zoo (CVPR2020 ...
Automated ML Workflow for Distributed Big Data Using Analytics Zoo (CVPR2020 ...
 
Deep Learning And Business Models (VNITC 2015-09-13)
Deep Learning And Business Models (VNITC 2015-09-13)Deep Learning And Business Models (VNITC 2015-09-13)
Deep Learning And Business Models (VNITC 2015-09-13)
 
Soumith Chintala - Increasing the Impact of AI Through Better Software
Soumith Chintala - Increasing the Impact of AI Through Better SoftwareSoumith Chintala - Increasing the Impact of AI Through Better Software
Soumith Chintala - Increasing the Impact of AI Through Better Software
 
Azure 機器學習 - 使用Python, R, Spark, CNTK 深度學習
Azure 機器學習 - 使用Python, R, Spark, CNTK 深度學習 Azure 機器學習 - 使用Python, R, Spark, CNTK 深度學習
Azure 機器學習 - 使用Python, R, Spark, CNTK 深度學習
 

Mais de Databricks

DW Migration Webinar-March 2022.pptx
DW Migration Webinar-March 2022.pptxDW Migration Webinar-March 2022.pptx
DW Migration Webinar-March 2022.pptxDatabricks
 
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 1Databricks
 
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 2Databricks
 
Data Lakehouse Symposium | Day 2
Data Lakehouse Symposium | Day 2Data Lakehouse Symposium | Day 2
Data Lakehouse Symposium | Day 2Databricks
 
Data Lakehouse Symposium | Day 4
Data Lakehouse Symposium | Day 4Data Lakehouse Symposium | Day 4
Data Lakehouse Symposium | Day 4Databricks
 
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 HadoopDatabricks
 
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 PlatformDatabricks
 
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 ScienceDatabricks
 
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 MonitoringDatabricks
 
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 FixDatabricks
 
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 IntegrationDatabricks
 
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 PyTorchDatabricks
 
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 KubernetesDatabricks
 
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 PipelinesDatabricks
 
Sawtooth Windows for Feature Aggregations
Sawtooth Windows for Feature AggregationsSawtooth Windows for Feature Aggregations
Sawtooth Windows for Feature AggregationsDatabricks
 
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 SinkDatabricks
 
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 SparkDatabricks
 
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 QueriesDatabricks
 
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 SparkDatabricks
 
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 LakeDatabricks
 

Mais de 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
 

Último

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 ApproachBoston Institute of Analytics
 
Midocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxMidocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxolyaivanovalion
 
DATA SUMMIT 24 Building Real-Time Pipelines With FLaNK
DATA SUMMIT 24  Building Real-Time Pipelines With FLaNKDATA SUMMIT 24  Building Real-Time Pipelines With FLaNK
DATA SUMMIT 24 Building Real-Time Pipelines With FLaNKTimothy Spann
 
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...ZurliaSoop
 
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
 
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 nightDelhi Call girls
 
➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men 🔝malwa🔝 Escorts Ser...
➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men  🔝malwa🔝   Escorts Ser...➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men  🔝malwa🔝   Escorts Ser...
➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men 🔝malwa🔝 Escorts Ser...amitlee9823
 
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.pptx9to5mart
 
Call Girls In Nandini Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Nandini Layout ☎ 7737669865 🥵 Book Your One night StandCall Girls In Nandini Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Nandini Layout ☎ 7737669865 🥵 Book Your One night Standamitlee9823
 
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
 
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteedamy56318795
 
Discover Why Less is More in B2B Research
Discover Why Less is More in B2B ResearchDiscover Why Less is More in B2B Research
Discover Why Less is More in B2B Researchmichael115558
 
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% SecureCall me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% SecurePooja Nehwal
 
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...amitlee9823
 
➥🔝 7737669865 🔝▻ mahisagar Call-girls in Women Seeking Men 🔝mahisagar🔝 Esc...
➥🔝 7737669865 🔝▻ mahisagar Call-girls in Women Seeking Men  🔝mahisagar🔝   Esc...➥🔝 7737669865 🔝▻ mahisagar Call-girls in Women Seeking Men  🔝mahisagar🔝   Esc...
➥🔝 7737669865 🔝▻ mahisagar Call-girls in Women Seeking Men 🔝mahisagar🔝 Esc...amitlee9823
 
➥🔝 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
 

Último (20)

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
 
Midocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxMidocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFx
 
DATA SUMMIT 24 Building Real-Time Pipelines With FLaNK
DATA SUMMIT 24  Building Real-Time Pipelines With FLaNKDATA SUMMIT 24  Building Real-Time Pipelines With FLaNK
DATA SUMMIT 24 Building Real-Time Pipelines With FLaNK
 
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
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...
 
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
 
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
 
➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men 🔝malwa🔝 Escorts Ser...
➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men  🔝malwa🔝   Escorts Ser...➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men  🔝malwa🔝   Escorts Ser...
➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men 🔝malwa🔝 Escorts Ser...
 
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
 
Call Girls In Nandini Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Nandini Layout ☎ 7737669865 🥵 Book Your One night StandCall Girls In Nandini Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Nandini Layout ☎ 7737669865 🥵 Book Your One night Stand
 
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...
 
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
 
Discover Why Less is More in B2B Research
Discover Why Less is More in B2B ResearchDiscover Why Less is More in B2B Research
Discover Why Less is More in B2B Research
 
(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 me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% SecureCall me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
 
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
 
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
 
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
 
➥🔝 7737669865 🔝▻ mahisagar Call-girls in Women Seeking Men 🔝mahisagar🔝 Esc...
➥🔝 7737669865 🔝▻ mahisagar Call-girls in Women Seeking Men  🔝mahisagar🔝   Esc...➥🔝 7737669865 🔝▻ mahisagar Call-girls in Women Seeking Men  🔝mahisagar🔝   Esc...
➥🔝 7737669865 🔝▻ mahisagar Call-girls in Women Seeking Men 🔝mahisagar🔝 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...
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men 🔝Bangalore🔝 Esc...
 

Scaling Up AI Research to Production with PyTorch and MLFlow

  • 1. SCALING UP RESEARCH TO PRODUCTION WITH PYTORCH & MLFLOW JOE SPISAK PYTORCH PRODUCT LEAD
  • 2. AGENDA 01 WHAT IS PYTORCH? 02 THE AMAZING COMMUNITY 03 HOW FACEBOOK USES PYTORCH 04 FOUR CHALLENGES TO SCALING AI 05 GET STARTED
  • 3.
  • 5. P Y T O R C H R E S E A R C H P R O T O T Y P I N G P R O D U C T I O N D E P L O Y M E N T +
  • 6. to rc h . o p tim O P T I M I Z E R S to rc h . n n N E U R A L N E T W O R K S to rc h . d ata D A T A S E T S & D A T A L O A D E R S to rc h .visio n M O D E L S , D A T A to rc h . au to g rad A U T O D I F F E R E N T I A T I O N to rc h . j it T O R C H S C R I P T D E P L O Y M E N T
  • 7. C O M M U N I T Y
  • 8.
  • 9.
  • 10. ~1,400C O N T R I B U T O R S 50%+Y O Y G R O W T H 29K+P Y T O R C H F O R U M U S E R S
  • 11. G R O W I N G U S A G E I N O P E N S O U R C E Source: https://paperswithcode.com/trends
  • 12. P Y T O R C H | A T F A C E B O O K
  • 13. F A C E B O O K P R O D U C T S L E V E R A G I N G M L Search Translation Ads News Feed Face Tagging
  • 14.
  • 15. S C A L I N G A I F O U R C H A L L E N G E S
  • 16. C H A L L E N G E # 1 D E V E L O P E R E X P E R I E N C E
  • 17. A RICH ECOSYSTEM OF TOOLS AND LIBRARIES FULL FREEDOM TO ITERATE AND EXPLORE THE DESIGN SPACE CLEAN AND INTUITIVE APIS DEVELOPER EXPERIENCE
  • 18. DEVELOPER EFFICIENCY ENABLING A HIGH VELOCITY OF MODEL ITERATION AND INNOVATION P Y T H O N C + + import torch class Net(torch.nn.Module): def __init__(self): self.fc1 = torch.nn.Linear(8, 64) self.fc2 = torch.nn.Linear(64, 1) def forward(self, x): x = torch.relu(self.fc1.forward(x)) x = torch.dropout(x, p=0.5) x = torch.sigmoid(self.fc2.forward(x)) return x #include <torch/torch.h> struct Net : torch::nn::Module { Net() : fc1(8, 64), fc2(64, 1) { register_module("fc1", fc1); register_module("fc2", fc2); } torch::Tensor forward(torch::Tensor x) { x = torch::relu(fc1->forward(x)); x = torch::dropout(x, /*p=*/0.5); x = torch::sigmoid(fc2->forward(x)); return x; } torch::nn::Linear fc1, fc2; };
  • 19. BUILDING FOR SCALE HIGH PERFORMANCE EXECUTION FOR MODEL TRAINING AND INFERENCE Net net; auto data_loader = torch::data::data_loader( torch::data::datasets::MNIST("./data")); torch::optim::SGD optimizer(net.parameters()); for (size_t epoch = 1; epoch <= 10; ++epoch) { for (auto batch : data_loader) { optimizer.zero_grad(); auto prediction = net.forward(batch.data); auto loss = torch::nll_loss(prediction, batch.label); loss.backward(); optimizer.step(); } if (epoch % 2 == 0) { torch::save(net, "net.pt"); } } P Y T H O N C + + net = Net() data_loader = torch.utils.data.DataLoader( torchvision.datasets.MNIST('./data')) optimizer = torch.optim.SGD(net.parameters()) for epoch in range(1, 11): for data, target in data_loader: optimizer.zero_grad() prediction = net.forward(data) loss = F.nll_loss(prediction, target) loss.backward() optimizer.step() if epoch % 2 == 0: torch.save(net, "net.pt")
  • 20. T O O L S & L I B R A R I E S
  • 21. C H A L L E N G E # 2 M O D E L S I Z E A N D C O M P U T E N E E D S
  • 23. PRUNING State-of-the-art deep learning techniques rely on over- parametrized models that are hard to deploy. Identify optimal techniques to compress models by reducing the number of parameters without sacrificing accuracy. new_model = LeNet() for name, module in new_model.named_modules(): # prune 20% of connections in all 2D-conv layers if isinstance(module, torch.nn.Conv2d): prune.l1_unstructured(module, name='weight', amount=0.2) # prune 40% of connections in all linear layers elif isinstance(module, torch.nn.Linear): prune.l1_unstructured(module, name='weight', amount=0.4) # to verify that all masks exist print(dict(new_model.named_buffers()).keys())
  • 24. QUANTIZATION model = ResNet50() model.load_state_dict(torch.load("model.pt")) qmodel = quantization.prepare( model, {"": quantization.default_qconfig}) qmodel.eval() for batch, target in data_loader: model(batch) qmodel = quantization.convert(qmodel) EXPERIMENTAL Neural networks inference is expensive IoT and mobile devices have limited resources Quantizing models enables efficient inference at scale
  • 25. fp32 accuracy int8 accuracy change Technique CPU inference speed up ResNet50 76.1 Top-1, Imagenet -0.2 75.9 Post Training 2x 214ms ➙102ms, Intel Skylake-DE MobileNetV2 71.9 Top-1, Imagenet -0.3 71.6 Quantization-Aware Training 4x 75ms ➙18ms OnePlus 5, Snapdragon 835 Translate / FairSeq 32.78 BLEU, IWSLT 2014 de-en 0.0 32.78 Dynamic (weights only) 4x for encoder Intel Skylake-SE These models and more available on TorchHub - https://pytorch.org/hub/ EXAMPLE MODELS | W/ QUANTIZATION
  • 26. C H A L L E N G E # 3 T R A I N I N G M O D E L S A T S C A L E
  • 27. T H E P A T H T O B E T T E R E X P E R I M E N T A T I O N IDEAS ARE GETTING MORE COMPLEX 1 MODELS ARE GETTING MORE COMPLEX 2 Complex Models GEN 4 SPARSE NN GEN 3 NNS: DEEP LEARNING GEN 2 SPARSE LINEAR REGRESSION GEN 1 DECISION TREES x-3 = 2a x-a
  • 28. T H E P A T H T O B E T T E R E X P E R I M E N T A T I O N IDEAS ARE GETTING MORE COMPLEX 1 MODELS ARE GETTING MORE COMPLEX 2 ResNeXt-101-32x4d ResNet-101 Training Time (days) Months? 7 4 2 14 ResNet-50 Internet-Scale Data / Videos IN5K-ResNeXt-101-64x4d
  • 29. HETEROGENOUS HARDWARE • HPC workloads sensitive to hardware types, generations • Scheduling more complex than just {x GB RAM, y CPU} per task • Multiple gen GPUs, CPUs, ASICs Heterogeneous Hardware HPC workloads are sensitive to hardware types, generations Scheduling is more complex than just {x GB RAM, Y CPU} per task Multiple gen GPUs, CPUs, ASICs • HPC workloads sensitive to hardware types, generations • Scheduling more complex than just {x GB RAM, y CPU} per task • Multiple gen GPUs, CPUs, ASICs Heterogeneous Hardware
  • 30. EXPENSIVE & EXPERIMENTAL Unlike data pipelines, majority of ML jobs are ad hoc Long running jobs complicate demand prediction & control Cost & Efficiency ROI for jobs hard to estimate Sub-linear scaling + huge scale﹦ an easy way to waste resources
  • 31. PY TORCH EL ASTIC Enables users to write fault tolerant and elastic distributed PyTorch jobs Use cases Fault tolerance Run on non-HPC cluster (e.g. cloud) Mission critical production job Dynamic Capacity Management: Run on leased capacity that can be preempted (e.g. AWS spot instances) Shared pools where the pool size can change dynamically based on demand (e.g. autoscaling) Open sourced 0.1.0.rc - https://github.com/pytorch/elastic Integrated with Classy Vision - https://classyvision.ai/tutorials/pet_aws
  • 32. REALLY L ARGE SCALE Tens of billions of training examples Some models larger than size of machine Hundreds of experimental runs competing for resources More than 1000+ different production models
  • 33. PY TORCH RPC (REMOTE PROCEDURE CALL) Enables applications to run functions remotely, and automatically handles autograd if necessary. Use cases Scale out applications Parameter Server Framework In RL, multiple observers streaming states and rewards to the agent for policy training Distributed model parallelism Allow large models to span multiple machines Hogwild! training
  • 34. PY TORCH RPC COMPONENTS RPC Run user code with given args on the specified destination Remote Reference (RRef) Tracks and maintains objects owned by a remote worker. Distributed Autograd Connects autograd graphs on different workers into one global graph and provides a similar backward API. Distributed Optimizer Automatically handles RRef of subnets and expose a similar API as local optimizers.
  • 35. C H A L L E N G E # 4 D E P L O Y M E N T A T S C A L E
  • 36. INFERENCE AT SCALE Deploying and managing models in production is difficult. Some of the pain points include: Loading and managing multiple models, on multiple servers or end devices Running pre-processing and post-processing code on prediction requests. How to log, monitor and secure predictions What happens when you hit scale?
  • 37. TORCHSERVE • Default handlers for common use cases (e.g., image segmentation, text classification) along with custom handlers support for other use cases • Model versioning and ability to roll back to an earlier version • Automatic batching of individual inferences across HTTP requests • Logging including common metrics, and the ability to incorporate custom metrics • Robust HTTP APIS - Management and Inference EXPERIMENTAL
  • 38. L O G G I N G A N D L O A D I N G MLFLOW.PY TORCH Integration with TorchServe Coming Soon!
  • 39. T H E L A T E S T | G E T S T A R T E D
  • 40. • PyTorch 1.5 released on April 21st. Over 2,200 commits • (Experimental) TorchServe model serving solution in partnership with AWS • (Experimental) TorchElastic Kubernetes operator • Stable Distributed Model Parallel Training - large models spanning across GPUs • (Experimental) New high level autograd API including jacobian, hessian, jvp, vjp, hvp and vhp to torch.autograd.functional • Stable C++ Front End API • (Experimental) New Custom C++ API, torch::class_, for binding custom C++ classes into TorchScript and Python • Deprecated Python 2 support NEW (CORE) FEATURES
  • 41. • torchvision 0.6 - Faster R-CNN now supports negative samples which allows the feeding of images without annotations at training time - Added a aligned flag to RoIAlign to match Detectron2 - Refactored abstractions for C++ video decoder • torchtext 0.6 - Fixed issue related to the SentencePiece dependency in conda package - Added support for the experimental IMDB dataset to allow a custom vocab - A number of documentation updates including - code of conduct, deduplication of the docs - Feedback requested for Experimental Datasets (#664) and Text classification dataset with new abstractions to decouple data and vocab/tokenizer (PR#701) • torchaudio 0.5 - Added the Griffin-Lim functional and transform, InverseMelScale and Vol transforms, and DB_to_amplitude - Added support for allpass, fade, bandpass, band reject, band, treble, deep mph and riaa filters and transformations - New datasets added including LJSpeech and SpeechCommands datasets. DOMAIN LIBRARIES - NEW IN 1.5
  • 42. G E T S TA R T E D PY TORCH.ORG
  • 44.
  • 47. JOIN THE PYTORCH DEVELOPER COMMUNITY PyTorch.org Youtube.com/pytorch Twitter.com/pytorch Facebook.com/pytorch Medium.com/pytorch