SlideShare ist ein Scribd-Unternehmen logo
1 von 47
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

Data science presentation
Data science presentationData science presentation
Data science presentationMSDEVMTL
 
HML: Historical View and Trends of Deep Learning
HML: Historical View and Trends of Deep LearningHML: Historical View and Trends of Deep Learning
HML: Historical View and Trends of Deep LearningYan Xu
 
Hadoop World 2011: Advancing Disney’s Data Infrastructure with Hadoop - Matt ...
Hadoop World 2011: Advancing Disney’s Data Infrastructure with Hadoop - Matt ...Hadoop World 2011: Advancing Disney’s Data Infrastructure with Hadoop - Matt ...
Hadoop World 2011: Advancing Disney’s Data Infrastructure with Hadoop - Matt ...Cloudera, Inc.
 
Big data ppt
Big data pptBig data ppt
Big data pptYash Raj
 
GPT-2: Language Models are Unsupervised Multitask Learners
GPT-2: Language Models are Unsupervised Multitask LearnersGPT-2: Language Models are Unsupervised Multitask Learners
GPT-2: Language Models are Unsupervised Multitask LearnersYoung Seok Kim
 
エナジーハーベスティングのデザイン手法セミナーテキスト
エナジーハーベスティングのデザイン手法セミナーテキストエナジーハーベスティングのデザイン手法セミナーテキスト
エナジーハーベスティングのデザイン手法セミナーテキストTsuyoshi Horigome
 
Introduction to Graph Neural Networks: Basics and Applications - Katsuhiko Is...
Introduction to Graph Neural Networks: Basics and Applications - Katsuhiko Is...Introduction to Graph Neural Networks: Basics and Applications - Katsuhiko Is...
Introduction to Graph Neural Networks: Basics and Applications - Katsuhiko Is...Preferred Networks
 
AlexNet(ImageNet Classification with Deep Convolutional Neural Networks)
AlexNet(ImageNet Classification with Deep Convolutional Neural Networks)AlexNet(ImageNet Classification with Deep Convolutional Neural Networks)
AlexNet(ImageNet Classification with Deep Convolutional Neural Networks)Fellowship at Vodafone FutureLab
 
Deep Learning, an interactive introduction for NLP-ers
Deep Learning, an interactive introduction for NLP-ersDeep Learning, an interactive introduction for NLP-ers
Deep Learning, an interactive introduction for NLP-ersRoelof Pieters
 
Graph neural networks overview
Graph neural networks overviewGraph neural networks overview
Graph neural networks overviewRodion Kiryukhin
 
Dataiku, Pitch at Data-Driven NYC, New York City, September 17th 2013
Dataiku, Pitch at Data-Driven NYC, New York City, September 17th 2013Dataiku, Pitch at Data-Driven NYC, New York City, September 17th 2013
Dataiku, Pitch at Data-Driven NYC, New York City, September 17th 2013Dataiku
 
Classifying and understanding financial data using graph neural network
Classifying and understanding financial data using graph neural networkClassifying and understanding financial data using graph neural network
Classifying and understanding financial data using graph neural networkPark JunPyo
 
Adobe Behance Scales to Millions of Users at Lower TCO with Neo4j
Adobe Behance Scales to Millions of Users at Lower TCO with Neo4jAdobe Behance Scales to Millions of Users at Lower TCO with Neo4j
Adobe Behance Scales to Millions of Users at Lower TCO with Neo4jNeo4j
 

Was ist angesagt? (20)

Data science presentation
Data science presentationData science presentation
Data science presentation
 
HML: Historical View and Trends of Deep Learning
HML: Historical View and Trends of Deep LearningHML: Historical View and Trends of Deep Learning
HML: Historical View and Trends of Deep Learning
 
Hadoop World 2011: Advancing Disney’s Data Infrastructure with Hadoop - Matt ...
Hadoop World 2011: Advancing Disney’s Data Infrastructure with Hadoop - Matt ...Hadoop World 2011: Advancing Disney’s Data Infrastructure with Hadoop - Matt ...
Hadoop World 2011: Advancing Disney’s Data Infrastructure with Hadoop - Matt ...
 
Big data ppt
Big data pptBig data ppt
Big data ppt
 
GPT-2: Language Models are Unsupervised Multitask Learners
GPT-2: Language Models are Unsupervised Multitask LearnersGPT-2: Language Models are Unsupervised Multitask Learners
GPT-2: Language Models are Unsupervised Multitask Learners
 
Big Data
Big DataBig Data
Big Data
 
Big data-ppt
Big data-pptBig data-ppt
Big data-ppt
 
エナジーハーベスティングのデザイン手法セミナーテキスト
エナジーハーベスティングのデザイン手法セミナーテキストエナジーハーベスティングのデザイン手法セミナーテキスト
エナジーハーベスティングのデザイン手法セミナーテキスト
 
Big data
Big dataBig data
Big data
 
Introduction to Graph Neural Networks: Basics and Applications - Katsuhiko Is...
Introduction to Graph Neural Networks: Basics and Applications - Katsuhiko Is...Introduction to Graph Neural Networks: Basics and Applications - Katsuhiko Is...
Introduction to Graph Neural Networks: Basics and Applications - Katsuhiko Is...
 
AlexNet(ImageNet Classification with Deep Convolutional Neural Networks)
AlexNet(ImageNet Classification with Deep Convolutional Neural Networks)AlexNet(ImageNet Classification with Deep Convolutional Neural Networks)
AlexNet(ImageNet Classification with Deep Convolutional Neural Networks)
 
Sequence models
Sequence modelsSequence models
Sequence models
 
Deep Learning, an interactive introduction for NLP-ers
Deep Learning, an interactive introduction for NLP-ersDeep Learning, an interactive introduction for NLP-ers
Deep Learning, an interactive introduction for NLP-ers
 
Graph neural networks overview
Graph neural networks overviewGraph neural networks overview
Graph neural networks overview
 
Big Data
Big DataBig Data
Big Data
 
Dataiku, Pitch at Data-Driven NYC, New York City, September 17th 2013
Dataiku, Pitch at Data-Driven NYC, New York City, September 17th 2013Dataiku, Pitch at Data-Driven NYC, New York City, September 17th 2013
Dataiku, Pitch at Data-Driven NYC, New York City, September 17th 2013
 
Classifying and understanding financial data using graph neural network
Classifying and understanding financial data using graph neural networkClassifying and understanding financial data using graph neural network
Classifying and understanding financial data using graph neural network
 
AI meets Big Data
AI meets Big DataAI meets Big Data
AI meets Big Data
 
Adobe Behance Scales to Millions of Users at Lower TCO with Neo4j
Adobe Behance Scales to Millions of Users at Lower TCO with Neo4jAdobe Behance Scales to Millions of Users at Lower TCO with Neo4j
Adobe Behance Scales to Millions of Users at Lower TCO with Neo4j
 
Data science Big Data
Data science Big DataData science Big Data
Data science Big Data
 

Ähnlich wie 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
 

Ähnlich wie 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 深度學習
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

Midocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxMidocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxolyaivanovalion
 
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
 
BigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxBigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxolyaivanovalion
 
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...amitlee9823
 
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
 
ALSO dropshipping via API with DroFx.pptx
ALSO dropshipping via API with DroFx.pptxALSO dropshipping via API with DroFx.pptx
ALSO dropshipping via API with DroFx.pptxolyaivanovalion
 
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort ServiceBDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort ServiceDelhi Call girls
 
Invezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz1
 
VidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxVidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxolyaivanovalion
 
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...amitlee9823
 
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
 
Capstone Project on IBM Data Analytics Program
Capstone Project on IBM Data Analytics ProgramCapstone Project on IBM Data Analytics Program
Capstone Project on IBM Data Analytics ProgramMoniSankarHazra
 
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...amitlee9823
 
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...amitlee9823
 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusTimothy Spann
 
April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysismanisha194592
 
BabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptxBabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptxolyaivanovalion
 
Edukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxEdukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxolyaivanovalion
 
Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...
Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...
Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...amitlee9823
 

Kürzlich hochgeladen (20)

Midocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxMidocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFx
 
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 ...
 
BigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxBigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptx
 
Sampling (random) method and Non random.ppt
Sampling (random) method and Non random.pptSampling (random) method and Non random.ppt
Sampling (random) method and Non random.ppt
 
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
 
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
 
ALSO dropshipping via API with DroFx.pptx
ALSO dropshipping via API with DroFx.pptxALSO dropshipping via API with DroFx.pptx
ALSO dropshipping via API with DroFx.pptx
 
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort ServiceBDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
 
Invezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signals
 
VidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxVidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptx
 
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
 
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...
 
Capstone Project on IBM Data Analytics Program
Capstone Project on IBM Data Analytics ProgramCapstone Project on IBM Data Analytics Program
Capstone Project on IBM Data Analytics Program
 
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
 
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and Milvus
 
April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysis
 
BabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptxBabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptx
 
Edukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxEdukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFx
 
Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...
Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...
Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...
 

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