SlideShare a Scribd company logo
1 of 61
SOUMITH
CHINTALA
FACEBOOK AI
Increasing the
Impact of AI
through Better
Software
AI at Facebook
S O C I A L
R E C O M M E N D A T I O N S
E N H A N C I N G E X I S T I N G P R O D U C T S
S O C I A L
R E C O M M E N D A T I O N S
M A C H I N E
T R A N S L A T I O N S
E N H A N C I N G E X I S T I N G P R O D U C T S
A C C E S S I B I L I T YS O C I A L
R E C O M M E N D A T I O N S
M A C H I N E
T R A N S L A T I O N S
Diana and Hanna
on green bicycles
Riding bikes
in Santo Domingo
Biking near
a red building
I M A G E C O N TA I N S
E N H A N C I N G E X I S T I N G P R O D U C T S
B O T S &
A S S I S T A N T S
G E N E R A T E D
C O N T E N T
A R
E F F E C T S
V R
H A R D W A R E
P O W E R I N G N E W E X P E R I E N C E S
S H A R E
B A I T I N G
S U I C I D E
P R E V E N T I O N
H E L P I N G P R O T E C T C O M M U N I T Y
A I I S A D V A N C I N G Q U I C K L Y
R E I N F O R C E M E N T
L E A R N I N G
C O M P U T E R
V I S I O N
N AT U R A L L A N G U A G E
P R O C E S S I N G
Research and
Experimentation
Deep Learning Frameworks
PYTORCH
OVERVIEW
What is PyTorch?
Ndarray library
with GPU support
automatic differentiation
engine
gradient based
optimization package
Deep Learning
Reinforcement Learning
Numpy-alternative
Utilities
(data loading, etc.)
ndarray library
• np.ndarray <-> torch.Tensor
• 200+ operations, similar to
numpy
• very fast acceleration on
ndarray library
Numpy PyTorch
ndarray / Tensor library
ndarray / Tensor library
ndarray / Tensor library
ndarray / Tensor library
NumPy bridge
NumPy bridge
Zero memory-copy
very efficient
NumPy bridge
NumPy bridge
Seamless GPU Tensors
Neural Networks
Neural Networks
Neural Networks
Optimization package
SGD, Adagrad, RMSProp, LBFGS, etc.
Distributed training
S C A L A B I L I T Y
Challenges:
• Scaling to hundreds of GPUs
• Heterogeneous clusters, Ethernet/InfiniBand
• Potentially unreliable nodes
In PyTorch 1.0:
• Fully revamped distributed backend - c10d
Distributed PyTorch
• MPI style distributed communication
• Broadcast Tensors to other nodes
• Reduce Tensors among nodes
- for example: sum gradients among all nodes
Distributed Data Parallel
Distributed Data Parallel
Work items in practice
Writing
Dataset loaders
Building models
Implementing
Training loop
Checkpointing
models
Interfacing with
environments
Dealing with
GPUs
Building optimizers
Building
Baselines
Work items in practice
Writing
Dataset loaders
Building models
Implementing
Training loop
Checkpointing
models
Interfacing with
environments
Dealing with
GPUs
Building optimizers
Building
Baselines
Python + PyTorch - an environment to do all of this
T I M E L I N E S I N C E R E L E A S E
0.1.12
first public release
0.2.0
Distributed
Higher-order gradients
Broadcasting
Advanced-Indexing
0.3.0
Reduce framework
overhead by 10x
ONNX Support
0.4.0
Windows Support
Tensor <-> Variable
distributions
1.0.0
torch.jit
Code == Model == DataCode == Model
1.0.0
torch.jit
Code == Model == DataCode == Model
1.0.0
torch.jit
def myfun(x):
y = x * x
z = y.tanh()
return z
@torch.jit.script
def myfun(x):
y = x * x
z = y.tanh()
return z
Code == Model == DataCode == Model
1.0.0
torch.jit
def myfun(x):
y = x * x
z = y.tanh()
return z
@torch.jit.script
def myfun(x):
y = x * x
z = y.tanh()
return z
graph(%x : Dynamic) {
%y : Dynamic = aten::mul(%x,
%x)
%z : Dynamic = aten::tanh(%y)
return (%z)
}
Code == Model == DataCode == Model
1.0.0
torch.jit
def myfun(x):
y = x * x
z = y.tanh()
return z
@torch.jit.script
def myfun(x):
y = x * x
z = y.tanh()
return z
graph(%x : Dynamic) {
%y : Dynamic = aten::mul(%x,
%x)
%z : Dynamic = aten::tanh(%y)
return (%z)
}
Export and run anywhere
1.0.0
torch.jit
def myfun(x):
y = x * x
z = y.tanh()
return z
@torch.jit.script
def myfun(x):
y = x * x
z = y.tanh()
return z
Eager execution
Execution with
ahead-of-time analysis
1.0.0
torch.jit
def myfun(x):
y = x * x
z = y.tanh()
return z
@torch.jit.script
def myfun(x):
y = x * x
z = y.tanh()
return z
Eager execution
Execution with
ahead-of-time analysis
1.0.0
torch.jit
def myfun(x):
y = x * x
z = y.tanh()
return z
@torch.jit.script
def myfun(x):
y = x * x
z = y.tanh()
return z
Eager execution
Execution with
ahead-of-time analysis
1.0.0
torch.jit
def myfun(x):
y = x * x
z = y.tanh()
return z
@torch.jit.script
def myfun(x):
y = x * x
z = y.tanh()
return z
Eager execution
Execution with
ahead-of-time analysis
1.0.0
torch.jit
def myfun(x):
y = x * x
z = y.tanh()
return z
@torch.jit.script
def myfun(x):
y = x * x
z = y.tanh()
return z
Eager execution
Execution with
ahead-of-time analysis
1.0.0
torch.jit
def myfun(x):
y = x * x
z = y.tanh()
return z
@torch.jit.script
def myfun(x):
return tanh_mul(x)
Eager execution
Execution with
ahead-of-time analysis
1.0.0
torch.jit
def myfun(x):
y = x * x
z = y.tanh()
return z
@torch.jit.script
def myfun(x):
return tanh_mul(x)
Eager execution
Execution with
ahead-of-time analysis
saturate faster hardware
whole program optimizations
PyTorch
Models are Python program,
autograd for derivatives
+ Simple
+ Debuggable — print and pdb
+ Hackable — use any Python library
– Needs Python to run
– Difficult to optimize and parallelize
Eager Mode PyTorch
Models are programs written in
an optimizable subset of Python
+ Production deployment
+ No Python dependency
+ Optimizable
Script Mode
Tools to transition eager code into script mode
P Y T O R C H J I T
@torch.jit.script
torch.jit.trace
For prototyping, training,
and experiments
For use at scale
in production
E A G E R
M O D E
S C R I P T
M O D E
Build tools for transitioning
from research to production
in the same environment
Fully loaded: expose building blocks for performance and scaling
Opt-in: trade-off flexibility only when beneficial
Same environment: continuously refactor your model
V I S I O N
V A L U E S
Deployment in C++
S C A L A B I L I T Y & C R O S S - P L A T F O R M
Often Python is not an option:
• High overhead on small models
• Multithreading services bottleneck on GIL
• Deployment service might be C++ only
In PyTorch 1.0:
• Convert inference part of the model to Torch Script
• Link with libtorch.so in your C++ application
Torch Script
+ state_dict
PyTorch
Models are Python program,
autograd for derivatives
+ Simple
+ Debuggable — print and pdb
+ Hackable — use any Python library
Ecosystem
• Probabilistic Programming
http://pyro.ai/
github.com/probtorch/probtorch
Ecosystem
• Gaussian Processes
https://github.com/cornellius-gp/gpytorch
Ecosystem
• Machine Translation
https://github.com/OpenNMT/OpenNMT-pyhttps://github.com/facebookresearch/fairseq-py
Ecosystem
• AllenNLP http://allennlp.org/
Ecosystem
• Pix2PixHD
https://github.com/NVIDIA/pix2pixHD
Ecosystem
• Sentiment Discovery
https://github.com/NVIDIA/sentiment-discovery
Ecosystem
G E T S T A R T E D
L O C A L I N S T A L L C L O U D P A R T N E R S
THANKS

More Related Content

Similar to Soumith Chintala - Increasing the Impact of AI Through Better Software

Won't You Take Me to Chunk-y Town: Component-based theming and the future of...
 Won't You Take Me to Chunk-y Town: Component-based theming and the future of... Won't You Take Me to Chunk-y Town: Component-based theming and the future of...
Won't You Take Me to Chunk-y Town: Component-based theming and the future of...
Heather Brooke Drummond
 
SharePoint Saturday Redmond - Building solutions with the future in mind
SharePoint Saturday Redmond - Building solutions with the future in mindSharePoint Saturday Redmond - Building solutions with the future in mind
SharePoint Saturday Redmond - Building solutions with the future in mind
Chris Johnson
 
SAI - Serverless Integration Architectures - 09/2019
SAI - Serverless Integration Architectures - 09/2019SAI - Serverless Integration Architectures - 09/2019
SAI - Serverless Integration Architectures - 09/2019
Samuel Vandecasteele
 

Similar to Soumith Chintala - Increasing the Impact of AI Through Better Software (20)

Create an IoT Gateway and Establish a Data Pipeline to AWS IoT with Intel - I...
Create an IoT Gateway and Establish a Data Pipeline to AWS IoT with Intel - I...Create an IoT Gateway and Establish a Data Pipeline to AWS IoT with Intel - I...
Create an IoT Gateway and Establish a Data Pipeline to AWS IoT with Intel - I...
 
Applied Data Science: Building a Beer Recommender | Data Science MD - Oct 2014
Applied Data Science: Building a Beer Recommender | Data Science MD - Oct 2014Applied Data Science: Building a Beer Recommender | Data Science MD - Oct 2014
Applied Data Science: Building a Beer Recommender | Data Science MD - Oct 2014
 
Introduction to Java Profiling
Introduction to Java ProfilingIntroduction to Java Profiling
Introduction to Java Profiling
 
Reduce, Reuse, Refactor
Reduce, Reuse, RefactorReduce, Reuse, Refactor
Reduce, Reuse, Refactor
 
Angular server side rendering with NodeJS - In Pursuit Of Speed
Angular server side rendering with NodeJS - In Pursuit Of SpeedAngular server side rendering with NodeJS - In Pursuit Of Speed
Angular server side rendering with NodeJS - In Pursuit Of Speed
 
Scaling AI in production using PyTorch
Scaling AI in production using PyTorchScaling AI in production using PyTorch
Scaling AI in production using PyTorch
 
Won't You Take Me to Chunk-y Town: Component-based theming and the future of...
 Won't You Take Me to Chunk-y Town: Component-based theming and the future of... Won't You Take Me to Chunk-y Town: Component-based theming and the future of...
Won't You Take Me to Chunk-y Town: Component-based theming and the future of...
 
AI Deeplearning Programming
AI Deeplearning ProgrammingAI Deeplearning Programming
AI Deeplearning Programming
 
State-Of-The Art Machine Learning Algorithms and How They Are Affected By Nea...
State-Of-The Art Machine Learning Algorithms and How They Are Affected By Nea...State-Of-The Art Machine Learning Algorithms and How They Are Affected By Nea...
State-Of-The Art Machine Learning Algorithms and How They Are Affected By Nea...
 
Simple APIs and innovative documentation
Simple APIs and innovative documentationSimple APIs and innovative documentation
Simple APIs and innovative documentation
 
OpenML DALI
OpenML DALIOpenML DALI
OpenML DALI
 
SharePoint Saturday Redmond - Building solutions with the future in mind
SharePoint Saturday Redmond - Building solutions with the future in mindSharePoint Saturday Redmond - Building solutions with the future in mind
SharePoint Saturday Redmond - Building solutions with the future in mind
 
Computation graphs - Tensorflow & CNTK
Computation graphs - Tensorflow & CNTKComputation graphs - Tensorflow & CNTK
Computation graphs - Tensorflow & CNTK
 
Meteor - not just for rockstars
Meteor - not just for rockstarsMeteor - not just for rockstars
Meteor - not just for rockstars
 
BigDL: Image Recognition Using Apache Spark with BigDL - MCL358 - re:Invent 2017
BigDL: Image Recognition Using Apache Spark with BigDL - MCL358 - re:Invent 2017BigDL: Image Recognition Using Apache Spark with BigDL - MCL358 - re:Invent 2017
BigDL: Image Recognition Using Apache Spark with BigDL - MCL358 - re:Invent 2017
 
DevOps introduction
DevOps introductionDevOps introduction
DevOps introduction
 
SAI - Serverless Integration Architectures - 09/2019
SAI - Serverless Integration Architectures - 09/2019SAI - Serverless Integration Architectures - 09/2019
SAI - Serverless Integration Architectures - 09/2019
 
Microservices Delivery Platform. Tips & Tricks
Microservices Delivery Platform. Tips & TricksMicroservices Delivery Platform. Tips & Tricks
Microservices Delivery Platform. Tips & Tricks
 
An introduction to R is a document useful
An introduction to R is a document usefulAn introduction to R is a document useful
An introduction to R is a document useful
 
BigDL Deep Learning in Apache Spark - AWS re:invent 2017
BigDL Deep Learning in Apache Spark - AWS re:invent 2017BigDL Deep Learning in Apache Spark - AWS re:invent 2017
BigDL Deep Learning in Apache Spark - AWS re:invent 2017
 

More from MLconf

Ted Willke - The Brain’s Guide to Dealing with Context in Language Understanding
Ted Willke - The Brain’s Guide to Dealing with Context in Language UnderstandingTed Willke - The Brain’s Guide to Dealing with Context in Language Understanding
Ted Willke - The Brain’s Guide to Dealing with Context in Language Understanding
MLconf
 
Justin Armstrong - Applying Computer Vision to Reduce Contamination in the Re...
Justin Armstrong - Applying Computer Vision to Reduce Contamination in the Re...Justin Armstrong - Applying Computer Vision to Reduce Contamination in the Re...
Justin Armstrong - Applying Computer Vision to Reduce Contamination in the Re...
MLconf
 
Jekaterina Novikova - Machine Learning Methods in Detecting Alzheimer’s Disea...
Jekaterina Novikova - Machine Learning Methods in Detecting Alzheimer’s Disea...Jekaterina Novikova - Machine Learning Methods in Detecting Alzheimer’s Disea...
Jekaterina Novikova - Machine Learning Methods in Detecting Alzheimer’s Disea...
MLconf
 
Anoop Deoras - Building an Incrementally Trained, Local Taste Aware, Global D...
Anoop Deoras - Building an Incrementally Trained, Local Taste Aware, Global D...Anoop Deoras - Building an Incrementally Trained, Local Taste Aware, Global D...
Anoop Deoras - Building an Incrementally Trained, Local Taste Aware, Global D...
MLconf
 
Vito Ostuni - The Voice: New Challenges in a Zero UI World
Vito Ostuni - The Voice: New Challenges in a Zero UI WorldVito Ostuni - The Voice: New Challenges in a Zero UI World
Vito Ostuni - The Voice: New Challenges in a Zero UI World
MLconf
 

More from MLconf (20)

Jamila Smith-Loud - Understanding Human Impact: Social and Equity Assessments...
Jamila Smith-Loud - Understanding Human Impact: Social and Equity Assessments...Jamila Smith-Loud - Understanding Human Impact: Social and Equity Assessments...
Jamila Smith-Loud - Understanding Human Impact: Social and Equity Assessments...
 
Ted Willke - The Brain’s Guide to Dealing with Context in Language Understanding
Ted Willke - The Brain’s Guide to Dealing with Context in Language UnderstandingTed Willke - The Brain’s Guide to Dealing with Context in Language Understanding
Ted Willke - The Brain’s Guide to Dealing with Context in Language Understanding
 
Justin Armstrong - Applying Computer Vision to Reduce Contamination in the Re...
Justin Armstrong - Applying Computer Vision to Reduce Contamination in the Re...Justin Armstrong - Applying Computer Vision to Reduce Contamination in the Re...
Justin Armstrong - Applying Computer Vision to Reduce Contamination in the Re...
 
Igor Markov - Quantum Computing: a Treasure Hunt, not a Gold Rush
Igor Markov - Quantum Computing: a Treasure Hunt, not a Gold RushIgor Markov - Quantum Computing: a Treasure Hunt, not a Gold Rush
Igor Markov - Quantum Computing: a Treasure Hunt, not a Gold Rush
 
Josh Wills - Data Labeling as Religious Experience
Josh Wills - Data Labeling as Religious ExperienceJosh Wills - Data Labeling as Religious Experience
Josh Wills - Data Labeling as Religious Experience
 
Vinay Prabhu - Project GaitNet: Ushering in the ImageNet moment for human Gai...
Vinay Prabhu - Project GaitNet: Ushering in the ImageNet moment for human Gai...Vinay Prabhu - Project GaitNet: Ushering in the ImageNet moment for human Gai...
Vinay Prabhu - Project GaitNet: Ushering in the ImageNet moment for human Gai...
 
Jekaterina Novikova - Machine Learning Methods in Detecting Alzheimer’s Disea...
Jekaterina Novikova - Machine Learning Methods in Detecting Alzheimer’s Disea...Jekaterina Novikova - Machine Learning Methods in Detecting Alzheimer’s Disea...
Jekaterina Novikova - Machine Learning Methods in Detecting Alzheimer’s Disea...
 
Meghana Ravikumar - Optimized Image Classification on the Cheap
Meghana Ravikumar - Optimized Image Classification on the CheapMeghana Ravikumar - Optimized Image Classification on the Cheap
Meghana Ravikumar - Optimized Image Classification on the Cheap
 
Noam Finkelstein - The Importance of Modeling Data Collection
Noam Finkelstein - The Importance of Modeling Data CollectionNoam Finkelstein - The Importance of Modeling Data Collection
Noam Finkelstein - The Importance of Modeling Data Collection
 
June Andrews - The Uncanny Valley of ML
June Andrews - The Uncanny Valley of MLJune Andrews - The Uncanny Valley of ML
June Andrews - The Uncanny Valley of ML
 
Sneha Rajana - Deep Learning Architectures for Semantic Relation Detection Tasks
Sneha Rajana - Deep Learning Architectures for Semantic Relation Detection TasksSneha Rajana - Deep Learning Architectures for Semantic Relation Detection Tasks
Sneha Rajana - Deep Learning Architectures for Semantic Relation Detection Tasks
 
Anoop Deoras - Building an Incrementally Trained, Local Taste Aware, Global D...
Anoop Deoras - Building an Incrementally Trained, Local Taste Aware, Global D...Anoop Deoras - Building an Incrementally Trained, Local Taste Aware, Global D...
Anoop Deoras - Building an Incrementally Trained, Local Taste Aware, Global D...
 
Vito Ostuni - The Voice: New Challenges in a Zero UI World
Vito Ostuni - The Voice: New Challenges in a Zero UI WorldVito Ostuni - The Voice: New Challenges in a Zero UI World
Vito Ostuni - The Voice: New Challenges in a Zero UI World
 
Anna choromanska - Data-driven Challenges in AI: Scale, Information Selection...
Anna choromanska - Data-driven Challenges in AI: Scale, Information Selection...Anna choromanska - Data-driven Challenges in AI: Scale, Information Selection...
Anna choromanska - Data-driven Challenges in AI: Scale, Information Selection...
 
Janani Kalyanam - Machine Learning to Detect Illegal Online Sales of Prescrip...
Janani Kalyanam - Machine Learning to Detect Illegal Online Sales of Prescrip...Janani Kalyanam - Machine Learning to Detect Illegal Online Sales of Prescrip...
Janani Kalyanam - Machine Learning to Detect Illegal Online Sales of Prescrip...
 
Esperanza Lopez Aguilera - Using a Bayesian Neural Network in the Detection o...
Esperanza Lopez Aguilera - Using a Bayesian Neural Network in the Detection o...Esperanza Lopez Aguilera - Using a Bayesian Neural Network in the Detection o...
Esperanza Lopez Aguilera - Using a Bayesian Neural Network in the Detection o...
 
Neel Sundaresan - Teaching a machine to code
Neel Sundaresan - Teaching a machine to codeNeel Sundaresan - Teaching a machine to code
Neel Sundaresan - Teaching a machine to code
 
Rishabh Mehrotra - Recommendations in a Marketplace: Personalizing Explainabl...
Rishabh Mehrotra - Recommendations in a Marketplace: Personalizing Explainabl...Rishabh Mehrotra - Recommendations in a Marketplace: Personalizing Explainabl...
Rishabh Mehrotra - Recommendations in a Marketplace: Personalizing Explainabl...
 
Roy Lowrance - Predicting Bond Prices: Regime Changes
Roy Lowrance - Predicting Bond Prices: Regime ChangesRoy Lowrance - Predicting Bond Prices: Regime Changes
Roy Lowrance - Predicting Bond Prices: Regime Changes
 
Madalina Fiterau - Hybrid Machine Learning Methods for the Interpretation and...
Madalina Fiterau - Hybrid Machine Learning Methods for the Interpretation and...Madalina Fiterau - Hybrid Machine Learning Methods for the Interpretation and...
Madalina Fiterau - Hybrid Machine Learning Methods for the Interpretation and...
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 

Soumith Chintala - Increasing the Impact of AI Through Better Software

Editor's Notes

  1. AI makes existing products better – e.g.: Social recommendations: use NLP to make suggestions from friends more useful Machine translations Accessibility: use CV to provide descriptions of photos for the visually impaired
  2. AI makes existing products better – e.g.: Social recommendations: use NLP to make suggestions from friends more useful Machine translations Accessibility: use CV to provide descriptions of photos for the visually impaired
  3. AI makes existing products better – e.g.: Social recommendations: use NLP to make suggestions from friends more useful Machine translations Accessibility: use CV to provide descriptions of photos for the visually impaired
  4. AI drives new experiences, e.g.: Bots & assistants Generated content – automatic thumbnails for videos on Watch tab AR & VR
  5. AI also helps us keep our communities safe, at global scale, e.g.: Helps proactively fight spam, engagement bait, and other inappropriate content Systems also proactively identify when individuals may be expressing thoughts of self-harm and suicide, and escalate the
  6. Field of AI advancing quickly - just years ago, I wouldn't have predicted what's possible today Not yet at AGI, but we are seeing extraordinary value from RL, CV, NLP, etc. AI is fundamental to FB – central to our business (e.g. used in News Feed ranking & ads), but also makes existing products better, drives new experiences, helps keep our community safe - all at global scale. From customizing the News Feed for billions of individuals, to providing detailed descriptions of photos for the visually impaired, to identifying and escalating cases where people may be expressing thoughts of self-harm - tools driven by AI are having a positive impact on the lives of the billions of people who use FB today
  7. Field of AI advancing quickly - just years ago, I wouldn't have predicted what's possible today Not yet at AGI, but we are seeing extraordinary value from RL, CV, NLP, etc. AI is fundamental to FB – central to our business (e.g. used in News Feed ranking & ads), but also makes existing products better, drives new experiences, helps keep our community safe - all at global scale. From customizing the News Feed for billions of individuals, to providing detailed descriptions of photos for the visually impaired, to identifying and escalating cases where people may be expressing thoughts of self-harm - tools driven by AI are having a positive impact on the lives of the billions of people who use FB today
  8. Field of AI advancing quickly - just years ago, I wouldn't have predicted what's possible today Not yet at AGI, but we are seeing extraordinary value from RL, CV, NLP, etc. AI is fundamental to FB – central to our business (e.g. used in News Feed ranking & ads), but also makes existing products better, drives new experiences, helps keep our community safe - all at global scale. From customizing the News Feed for billions of individuals, to providing detailed descriptions of photos for the visually impaired, to identifying and escalating cases where people may be expressing thoughts of self-harm - tools driven by AI are having a positive impact on the lives of the billions of people who use FB today
  9. imperativeness & debuggability
  10. imperativeness & debuggability
  11. imperativeness & debuggability
  12. imperativeness & debuggability
  13. Scaling to production level datasets with billions of images or hundreds of billions of rows often brings challenges. Scaling to hundreds of GPUs is not easy and requires high reliability. Also, production clusters often have heterogeneous nodes or have different mix of networking technologies. That’s why in PyTorch 1.0 we’re releasing a fully revamped distributed backend. [IF RELEVANT] A Pytorch extension (APEX) with NVIDIA-maintained utilities available for streamlining mixed precision and distributed training using NVIDIA GPUs
  14. The models are closely coupled with Python. The Python interpreter needs to be present to run the model. This isn't always convenient or possible, especially on mobile. It can hamper the ability to get multi-threaded performance. Furthermore, all the dynamic features of the Python language make it difficult to optimize the program, for instance performing operator fusion or algebraic simplification. To address these uses of PyTorch, we built another way to express PyTorch programs that allows them to be run independently from Python. <> PyTorch as you use it today will exist unchanged, and we refer to this mode as eager mode. <> In addition to eager mode, we have added a "script" mode. In this mode models are expressed in an optimizable subset of the Python that we can run without the python interpreter. This subset contains all the building blocks necessary to build models: Tensors and fundamental ops like matrix multiply and convolution Traditional language features like if statements and loops. But it restricts the dynamic behaviors in Python that make it difficult to optimize.
  15. Because we believe in the flexibility of eager mode for prototyping, we expect most users will first write programs in that form. For the small subset of successful models that you actual want to put into production, the PyTorch JIT provides tools for taking code originally written in eager mode, and annotating it so it is possible to run it in script mode. The tools we provide allow this transition to happen gradually function-by-function and module-by-module. This 'hybrid' use of the frontends allows you to incrementally make changes and check that nothing has broken before continuing. In our current preview release, Torch Script supports a small but usable set of Python…. A few important features are not yet implemented but will added for the stable release. This includes doing in place updates to tensors or lists, and using existing nn.Modules like Conv2D directly from script. In latter case, we suggest you trace the modules like Conv2D instead. We also don’t allowing calling gradient functions from inside script – it is perfectly fine to return the loss from script and call backward there though. We expect to have these features implemented for the coming 1.0 stable release, and a more detailed guide for what is possible is available in our documentation.
  16. As I mentioned, our vision for PyTorch 1.0 is to make it as easy as possible to take an idea that’s working in research and quickly scale it to a larger dataset or tricky deployment environment. We’re doing this by exposing all of the high performance building blocks necessary for optimizing models within the same familiar programming environment you’re used to with PyTorch. And we want to make sure it’s opt-in, meaning you’re free to use regular PyTorch for experimentation and then follow necessary tweaking and refactoring step to leverage perf improvements if you need them.
  17. Python is a great environment for prototyping and often works just fine for large scale training when the individual operations are beefy enough. But the overhead of the interpreter and in particularly GIL becomes a bottleneck on small models or when the target service needs to run multiple models on different threads creating contention. Even more, many environments, like robotics or many prod clusters, just don’t permit running python interpreter all together. So with PyTorch 1.0 and JIT, we’re building tools to extract the inference part of the model out of the python script and run it on a small embeddable runtime of PyTorch within the target application – more on this in a minute.
  18. You’re probably already familiar that people really like PyTorch's eager execution model. Your model is just native python code. Autograd allows you to take a derivative of whatever code runs. Because everything is just native python, all your favorite tools for debugging, including printing and gdb just work. If you want to use an obscure Python library in the middle of your model, there is absolutely no friction to doing so. In practice, many of the fundamental new models start this way, with hacky prototype code that glues different python libraries together. This workflow has been great for prototyping, but for the small amount of models that you do want to widely deploy, this workflow has some issues.