SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Downloaden Sie, um offline zu lesen
DBG / Oct 4, 2018 / © 2018 IBM Corporation
IBM Developer Model
Asset eXchange
Nick Pentreath
Principal Engineer
@Mlnick
#SAISDL6
DBG / Oct 4, 2018 / © 2018 IBM Corporation
About
@MLnick on Twitter & Github
Principal Engineer, IBM
CODAIT - Center for Open-Source Data & AI
Technologies
Machine Learning & AI
Apache Spark committer & PMC
Author of Machine Learning with Spark
Various conferences & meetups
DBG / Oct 4, 2018 / © 2018 IBM Corporation
Center for Open Source Data and AI Technologies
CODAIT
codait.org
CODAIT aims to make AI solutions
dramatically easier to create, deploy,
and manage in the enterprise
Relaunch of the Spark Technology
Center (STC) to reflect expanded
mission
Improving Enterprise AI Lifecycle in Open Source
DBG / Oct 4, 2018 / © 2018 IBM Corporation
Applying Deep Learning: Perception
Data ???
Train
model
??? $$$
Get model ???
Deploy
model
??? $$$
Training – Data Scientist
Consumption – App Developer, Domain Expert
DBG / Oct 4, 2018 / © 2018 IBM Corporation
Applying Deep Learning: Reality
Find
model
Get
code
Test,
verify, fix
Train /
Deploy
Use
model
$$$
maybe?
DBG / Oct 4, 2018 / © 2018 IBM Corporation
Step 1: Find a model





… that does what you need



… that is free to use



… that is performant enough
DBG / Oct 4, 2018 / © 2018 IBM Corporation
Step 2: Get the code



Is there a good implementation available?



… that does what you need



… that is free to use



… that is performant enough



TensorFlow code to build ResNet50 neural network graph
DBG / Oct 4, 2018 / © 2018 IBM Corporation
Or… Step 2: Get the pre-trained weights



Is there a good pre-trained model available?



… that does what you need



… that is free to use



… that is performant enough



Caffe2 ResNet50 model weights
DBG / Oct 4, 2018 / © 2018 IBM Corporation
Step 3: Verify the model you found



Check …



… that it does what you need



… that it is free to use



… that it is performant enough







DBG / Oct 4, 2018 / © 2018 IBM Corporation
Step 4(a): Train the model











DBG / Oct 4, 2018 / © 2018 IBM Corporation
* Logos trademarks of their respective projects
Step 4(a): Train the model



DBG / Oct 4, 2018 / © 2018 IBM Corporation
Step 4(b): Figure out how to deploy the model

















… adjust inference code (or write from scratch)

… package your inference code, model code, and pre-trained
weights together

… deploy your package
DBG / Oct 4, 2018 / © 2018 IBM Corporation
Step 5: Consume the model







… plug in to your application



… which does not know

(or care) about tensors







DBG / Oct 4, 2018 / © 2018 IBM Corporation
Step 6: Profit







… hopefully







DBG / Oct 4, 2018 / © 2018 IBM Corporation
Applying Deep Learning: Reality
Find
model
Get
code
Test,
verify, fix
Train /
Deploy
Use
model
$$$
maybe?
Discovery Execution Consumability
DBG / Oct 4, 2018 / © 2018 IBM Corporation
Model Zoos
(in theory)
DBG / Oct 4, 2018 / © 2018 IBM Corporation
Model Zoos
(in practice)
DBG / Oct 4, 2018 / © 2018 IBM Corporation
IBM Developer
http://ibm.biz/model-
exchange
DBG / Oct 4, 2018 / © 2018 IBM Corporation
Fabric for Deep Learning

https://github.com/IBM/FfDL
FfDL Github Page 

https://github.com/IBM/FfDL



FfDL dwOpen Page

https://developer.ibm.com/code/open/projects/
fabric-for-deep-learning-ffdl/



FfDL Announcement Blog 

http://developer.ibm.com/code/2018/03/20/fabric-
for-deep-learning



FfDL Technical Architecture Blog

http://developer.ibm.com/code/2018/03/20/
democratize-ai-with-fabric-for-deep-learning



Deep Learning as a Service within Watson Studio

https://www.ibm.com/cloud/deep-learning
Research paper: “Scalable Multi-Framework
Management of Deep Learning Training Jobs” http://
learningsys.org/nips17/assets/papers/paper_29.pdf
FfDL provides a scalable, resilient, and
fault tolerant deep-learning framework
• Fabric for Deep Learning or FfDL (pronounced as ‘fiddle’)
is an open source project which aims at making Deep
Learning easily accessible to the people it matters the
most i.e. Data Scientists, and AI developers. 

• FfDL provides a consistent way to deploy, train and
visualize Deep Learning jobs across multiple frameworks
like TensorFlow, Caffe, PyTorch, Keras etc. 

• FfDL is being developed in close collaboration with IBM
Research and IBM Watson. It forms the core of
Watson`s Deep Learning service in open source.
FfDL
July 27 2018 / © 2018 IBM Corporation
• FfDL platform uses a microservices architecture to offer
resilience, scalability, multi-tenancy, and security
without modifying the deep learning frameworks, and
with no or minimal changes to model code.
• FfDL control plane microservices are deployed as pods
on Kubernetes to manage this cluster of GPU- and CPU-
enabled machines effectively
• Tested Platforms: Minikube, IBM Cloud Public, IBM Cloud
Private, GPUs using both Kubernetes feature gate
Accelerators and NVidia device plugins
20
Fabric for Deep Learning

https://github.com/IBM/FfDL
FfDL is built using a microservices
architecture on Kubernetes
DBG / Oct 4, 2018 / © 2018 IBM Corporation
Fabric for Deep Learning

https://github.com/IBM/FfDL
FfDL Github Page 

https://github.com/IBM/FfDL



FfDL / PyTorch 1.0 Blog Post

https://developer.ibm.com/blogs/2018/10/01/
announcing-pytorch-1-support-in-fabric-for-deep-
learning/
FfDL / Horovod Blog Post

https://developer.ibm.com/code/2018/07/18/
scalable-distributed-training-using-horovod-in-ffdl/ 

Just announced: Support for PyTorch 1.0
– including distributed training and
ONNX!
FfDL
Supports distributed training via Horovod
DBG / Oct 4, 2018 / © 2018 IBM Corporation
Trainable Models
Training
Data
Training
Code
Training
Definition
Standardized Script
DBG / Oct 4, 2018 / © 2018 IBM Corporation
Data Model
Compute
resources
Expertise
Input/output
processing
REST API
Deep-Learning asset on Model Asset Exchange
ibm.biz/model-exchange
Pre-trained model
Deployable Models
Deep-Learning asset on Model Asset Exchange
Deploy
Swagger specification Inference endpoint Metadata endpoint
Microservice
Deployable Models
DBG / Oct 4, 2018 / © 2018 IBM Corporation
Deployable Models
Highlights
• Image, audio, text, healthcare, time-series and
more
• Pre- / post-processing & inference wrapped up
in Docker container
• Generic API framework code - Flask RESTPlus
• Swagger specification for API
• One-line deployment locally and on a
Kubernetes cluster
• Code Patterns demonstrating how to easily
consume MAX models
DBG / Oct 4, 2018 / © 2018 IBM Corporation
Summary and Possible Future Directions
Current status
• 22 models (4 trainable)
• Image, audio, text, healthcare, time-series and
more
• 3 Code Patterns demonstrating how to
consume MAX models in a web app
• Code Pattern on training an audio classifier
using Watson Machine Learning
• One-line deployment via Docker and on a
Kubernetes cluster
Potential Future
• More deployable models – breadth and depth
• More trainable models - transfer learning in
particular
• New MAX web portal launching soon
• More MAX-related content:
• Code Patterns
• Conference talks, meetups
• Workshops
• Enhance production-readiness of MAX models
• Improve MAX API framework
DBG / Oct 4, 2018 / © 2018 IBM Corporation
IBM Developer
Model Asset eXchange
Free, open-source deep learning models.
Wide variety of domains.
Multiple deep learning frameworks.
Vetted and tested code and IP. http://ibm.biz/model-
exchange
DBG / Oct 4, 2018 / © 2018 IBM Corporation
Thank you!
codait.org
twitter.com/MLnick
github.com/MLnick
developer.ibm.com
FfDL
Sign up for IBM Cloud and try Watson Studio!
https://ibm.biz/BdYbTY
https://datascience.ibm.com/
MAX
DBG / Oct 4, 2018 / © 2018 IBM Corporation

Weitere ähnliche Inhalte

Mehr von Databricks

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
 
Machine Learning CI/CD for Email Attack Detection
Machine Learning CI/CD for Email Attack DetectionMachine Learning CI/CD for Email Attack Detection
Machine Learning CI/CD for Email Attack DetectionDatabricks
 
Jeeves Grows Up: An AI Chatbot for Performance and Quality
Jeeves Grows Up: An AI Chatbot for Performance and QualityJeeves Grows Up: An AI Chatbot for Performance and Quality
Jeeves Grows Up: An AI Chatbot for Performance and QualityDatabricks
 
Intuitive & Scalable Hyperparameter Tuning with Apache Spark + Fugue
Intuitive & Scalable Hyperparameter Tuning with Apache Spark + FugueIntuitive & Scalable Hyperparameter Tuning with Apache Spark + Fugue
Intuitive & Scalable Hyperparameter Tuning with Apache Spark + FugueDatabricks
 
Infrastructure Agnostic Machine Learning Workload Deployment
Infrastructure Agnostic Machine Learning Workload DeploymentInfrastructure Agnostic Machine Learning Workload Deployment
Infrastructure Agnostic Machine Learning Workload DeploymentDatabricks
 
Improving Apache Spark for Dynamic Allocation and Spot Instances
Improving Apache Spark for Dynamic Allocation and Spot InstancesImproving Apache Spark for Dynamic Allocation and Spot Instances
Improving Apache Spark for Dynamic Allocation and Spot InstancesDatabricks
 
Importance of ML Reproducibility & Applications with MLfLow
Importance of ML Reproducibility & Applications with MLfLowImportance of ML Reproducibility & Applications with MLfLow
Importance of ML Reproducibility & Applications with MLfLowDatabricks
 
Hyperspace for Delta Lake
Hyperspace for Delta LakeHyperspace for Delta Lake
Hyperspace for Delta LakeDatabricks
 
How We Optimize Spark SQL Jobs With parallel and sync IO
How We Optimize Spark SQL Jobs With parallel and sync IOHow We Optimize Spark SQL Jobs With parallel and sync IO
How We Optimize Spark SQL Jobs With parallel and sync IODatabricks
 

Mehr von Databricks (20)

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
 
Machine Learning CI/CD for Email Attack Detection
Machine Learning CI/CD for Email Attack DetectionMachine Learning CI/CD for Email Attack Detection
Machine Learning CI/CD for Email Attack Detection
 
Jeeves Grows Up: An AI Chatbot for Performance and Quality
Jeeves Grows Up: An AI Chatbot for Performance and QualityJeeves Grows Up: An AI Chatbot for Performance and Quality
Jeeves Grows Up: An AI Chatbot for Performance and Quality
 
Intuitive & Scalable Hyperparameter Tuning with Apache Spark + Fugue
Intuitive & Scalable Hyperparameter Tuning with Apache Spark + FugueIntuitive & Scalable Hyperparameter Tuning with Apache Spark + Fugue
Intuitive & Scalable Hyperparameter Tuning with Apache Spark + Fugue
 
Infrastructure Agnostic Machine Learning Workload Deployment
Infrastructure Agnostic Machine Learning Workload DeploymentInfrastructure Agnostic Machine Learning Workload Deployment
Infrastructure Agnostic Machine Learning Workload Deployment
 
Improving Apache Spark for Dynamic Allocation and Spot Instances
Improving Apache Spark for Dynamic Allocation and Spot InstancesImproving Apache Spark for Dynamic Allocation and Spot Instances
Improving Apache Spark for Dynamic Allocation and Spot Instances
 
Importance of ML Reproducibility & Applications with MLfLow
Importance of ML Reproducibility & Applications with MLfLowImportance of ML Reproducibility & Applications with MLfLow
Importance of ML Reproducibility & Applications with MLfLow
 
Hyperspace for Delta Lake
Hyperspace for Delta LakeHyperspace for Delta Lake
Hyperspace for Delta Lake
 
How We Optimize Spark SQL Jobs With parallel and sync IO
How We Optimize Spark SQL Jobs With parallel and sync IOHow We Optimize Spark SQL Jobs With parallel and sync IO
How We Optimize Spark SQL Jobs With parallel and sync IO
 

Kürzlich hochgeladen

5 Ds to Define Data Archiving Best Practices
5 Ds to Define Data Archiving Best Practices5 Ds to Define Data Archiving Best Practices
5 Ds to Define Data Archiving Best PracticesDataArchiva
 
Optimal Decision Making - Cost Reduction in Logistics
Optimal Decision Making - Cost Reduction in LogisticsOptimal Decision Making - Cost Reduction in Logistics
Optimal Decision Making - Cost Reduction in LogisticsThinkInnovation
 
CI, CD -Tools to integrate without manual intervention
CI, CD -Tools to integrate without manual interventionCI, CD -Tools to integrate without manual intervention
CI, CD -Tools to integrate without manual interventionajayrajaganeshkayala
 
TINJUAN PEMROSESAN TRANSAKSI DAN ERP.pptx
TINJUAN PEMROSESAN TRANSAKSI DAN ERP.pptxTINJUAN PEMROSESAN TRANSAKSI DAN ERP.pptx
TINJUAN PEMROSESAN TRANSAKSI DAN ERP.pptxDwiAyuSitiHartinah
 
Mapping the pubmed data under different suptopics using NLP.pptx
Mapping the pubmed data under different suptopics using NLP.pptxMapping the pubmed data under different suptopics using NLP.pptx
Mapping the pubmed data under different suptopics using NLP.pptxVenkatasubramani13
 
Persuasive E-commerce, Our Biased Brain @ Bikkeldag 2024
Persuasive E-commerce, Our Biased Brain @ Bikkeldag 2024Persuasive E-commerce, Our Biased Brain @ Bikkeldag 2024
Persuasive E-commerce, Our Biased Brain @ Bikkeldag 2024Guido X Jansen
 
Strategic CX: A Deep Dive into Voice of the Customer Insights for Clarity
Strategic CX: A Deep Dive into Voice of the Customer Insights for ClarityStrategic CX: A Deep Dive into Voice of the Customer Insights for Clarity
Strategic CX: A Deep Dive into Voice of the Customer Insights for ClarityAggregage
 
ChistaDATA Real-Time DATA Analytics Infrastructure
ChistaDATA Real-Time DATA Analytics InfrastructureChistaDATA Real-Time DATA Analytics Infrastructure
ChistaDATA Real-Time DATA Analytics Infrastructuresonikadigital1
 
Virtuosoft SmartSync Product Introduction
Virtuosoft SmartSync Product IntroductionVirtuosoft SmartSync Product Introduction
Virtuosoft SmartSync Product Introductionsanjaymuralee1
 
How is Real-Time Analytics Different from Traditional OLAP?
How is Real-Time Analytics Different from Traditional OLAP?How is Real-Time Analytics Different from Traditional OLAP?
How is Real-Time Analytics Different from Traditional OLAP?sonikadigital1
 
Rock Songs common codes and conventions.pptx
Rock Songs common codes and conventions.pptxRock Songs common codes and conventions.pptx
Rock Songs common codes and conventions.pptxFinatron037
 
Cash Is Still King: ATM market research '2023
Cash Is Still King: ATM market research '2023Cash Is Still King: ATM market research '2023
Cash Is Still King: ATM market research '2023Vladislav Solodkiy
 
Master's Thesis - Data Science - Presentation
Master's Thesis - Data Science - PresentationMaster's Thesis - Data Science - Presentation
Master's Thesis - Data Science - PresentationGiorgio Carbone
 
Elements of language learning - an analysis of how different elements of lang...
Elements of language learning - an analysis of how different elements of lang...Elements of language learning - an analysis of how different elements of lang...
Elements of language learning - an analysis of how different elements of lang...PrithaVashisht1
 
The Universal GTM - how we design GTM and dataLayer
The Universal GTM - how we design GTM and dataLayerThe Universal GTM - how we design GTM and dataLayer
The Universal GTM - how we design GTM and dataLayerPavel Šabatka
 
CCS336-Cloud-Services-Management-Lecture-Notes-1.pptx
CCS336-Cloud-Services-Management-Lecture-Notes-1.pptxCCS336-Cloud-Services-Management-Lecture-Notes-1.pptx
CCS336-Cloud-Services-Management-Lecture-Notes-1.pptxdhiyaneswaranv1
 

Kürzlich hochgeladen (16)

5 Ds to Define Data Archiving Best Practices
5 Ds to Define Data Archiving Best Practices5 Ds to Define Data Archiving Best Practices
5 Ds to Define Data Archiving Best Practices
 
Optimal Decision Making - Cost Reduction in Logistics
Optimal Decision Making - Cost Reduction in LogisticsOptimal Decision Making - Cost Reduction in Logistics
Optimal Decision Making - Cost Reduction in Logistics
 
CI, CD -Tools to integrate without manual intervention
CI, CD -Tools to integrate without manual interventionCI, CD -Tools to integrate without manual intervention
CI, CD -Tools to integrate without manual intervention
 
TINJUAN PEMROSESAN TRANSAKSI DAN ERP.pptx
TINJUAN PEMROSESAN TRANSAKSI DAN ERP.pptxTINJUAN PEMROSESAN TRANSAKSI DAN ERP.pptx
TINJUAN PEMROSESAN TRANSAKSI DAN ERP.pptx
 
Mapping the pubmed data under different suptopics using NLP.pptx
Mapping the pubmed data under different suptopics using NLP.pptxMapping the pubmed data under different suptopics using NLP.pptx
Mapping the pubmed data under different suptopics using NLP.pptx
 
Persuasive E-commerce, Our Biased Brain @ Bikkeldag 2024
Persuasive E-commerce, Our Biased Brain @ Bikkeldag 2024Persuasive E-commerce, Our Biased Brain @ Bikkeldag 2024
Persuasive E-commerce, Our Biased Brain @ Bikkeldag 2024
 
Strategic CX: A Deep Dive into Voice of the Customer Insights for Clarity
Strategic CX: A Deep Dive into Voice of the Customer Insights for ClarityStrategic CX: A Deep Dive into Voice of the Customer Insights for Clarity
Strategic CX: A Deep Dive into Voice of the Customer Insights for Clarity
 
ChistaDATA Real-Time DATA Analytics Infrastructure
ChistaDATA Real-Time DATA Analytics InfrastructureChistaDATA Real-Time DATA Analytics Infrastructure
ChistaDATA Real-Time DATA Analytics Infrastructure
 
Virtuosoft SmartSync Product Introduction
Virtuosoft SmartSync Product IntroductionVirtuosoft SmartSync Product Introduction
Virtuosoft SmartSync Product Introduction
 
How is Real-Time Analytics Different from Traditional OLAP?
How is Real-Time Analytics Different from Traditional OLAP?How is Real-Time Analytics Different from Traditional OLAP?
How is Real-Time Analytics Different from Traditional OLAP?
 
Rock Songs common codes and conventions.pptx
Rock Songs common codes and conventions.pptxRock Songs common codes and conventions.pptx
Rock Songs common codes and conventions.pptx
 
Cash Is Still King: ATM market research '2023
Cash Is Still King: ATM market research '2023Cash Is Still King: ATM market research '2023
Cash Is Still King: ATM market research '2023
 
Master's Thesis - Data Science - Presentation
Master's Thesis - Data Science - PresentationMaster's Thesis - Data Science - Presentation
Master's Thesis - Data Science - Presentation
 
Elements of language learning - an analysis of how different elements of lang...
Elements of language learning - an analysis of how different elements of lang...Elements of language learning - an analysis of how different elements of lang...
Elements of language learning - an analysis of how different elements of lang...
 
The Universal GTM - how we design GTM and dataLayer
The Universal GTM - how we design GTM and dataLayerThe Universal GTM - how we design GTM and dataLayer
The Universal GTM - how we design GTM and dataLayer
 
CCS336-Cloud-Services-Management-Lecture-Notes-1.pptx
CCS336-Cloud-Services-Management-Lecture-Notes-1.pptxCCS336-Cloud-Services-Management-Lecture-Notes-1.pptx
CCS336-Cloud-Services-Management-Lecture-Notes-1.pptx
 

IBM Developer Model Asset Exchange with Nick Pentreath

  • 1. DBG / Oct 4, 2018 / © 2018 IBM Corporation IBM Developer Model Asset eXchange Nick Pentreath Principal Engineer @Mlnick #SAISDL6
  • 2. DBG / Oct 4, 2018 / © 2018 IBM Corporation About @MLnick on Twitter & Github Principal Engineer, IBM CODAIT - Center for Open-Source Data & AI Technologies Machine Learning & AI Apache Spark committer & PMC Author of Machine Learning with Spark Various conferences & meetups
  • 3. DBG / Oct 4, 2018 / © 2018 IBM Corporation Center for Open Source Data and AI Technologies CODAIT codait.org CODAIT aims to make AI solutions dramatically easier to create, deploy, and manage in the enterprise Relaunch of the Spark Technology Center (STC) to reflect expanded mission Improving Enterprise AI Lifecycle in Open Source
  • 4. DBG / Oct 4, 2018 / © 2018 IBM Corporation Applying Deep Learning: Perception Data ??? Train model ??? $$$ Get model ??? Deploy model ??? $$$ Training – Data Scientist Consumption – App Developer, Domain Expert
  • 5. DBG / Oct 4, 2018 / © 2018 IBM Corporation Applying Deep Learning: Reality Find model Get code Test, verify, fix Train / Deploy Use model $$$ maybe?
  • 6. DBG / Oct 4, 2018 / © 2018 IBM Corporation Step 1: Find a model
 
 
 … that does what you need
 
 … that is free to use
 
 … that is performant enough
  • 7. DBG / Oct 4, 2018 / © 2018 IBM Corporation Step 2: Get the code
 
 Is there a good implementation available?
 
 … that does what you need
 
 … that is free to use
 
 … that is performant enough
 
 TensorFlow code to build ResNet50 neural network graph
  • 8. DBG / Oct 4, 2018 / © 2018 IBM Corporation Or… Step 2: Get the pre-trained weights
 
 Is there a good pre-trained model available?
 
 … that does what you need
 
 … that is free to use
 
 … that is performant enough
 
 Caffe2 ResNet50 model weights
  • 9. DBG / Oct 4, 2018 / © 2018 IBM Corporation Step 3: Verify the model you found
 
 Check …
 
 … that it does what you need
 
 … that it is free to use
 
 … that it is performant enough
 
 
 

  • 10. DBG / Oct 4, 2018 / © 2018 IBM Corporation Step 4(a): Train the model
 
 
 
 
 

  • 11. DBG / Oct 4, 2018 / © 2018 IBM Corporation * Logos trademarks of their respective projects Step 4(a): Train the model
 

  • 12. DBG / Oct 4, 2018 / © 2018 IBM Corporation Step 4(b): Figure out how to deploy the model
 
 
 
 
 
 
 
 
 … adjust inference code (or write from scratch)
 … package your inference code, model code, and pre-trained weights together
 … deploy your package
  • 13. DBG / Oct 4, 2018 / © 2018 IBM Corporation Step 5: Consume the model
 
 
 
 … plug in to your application
 
 … which does not know
 (or care) about tensors
 
 
 

  • 14. DBG / Oct 4, 2018 / © 2018 IBM Corporation Step 6: Profit
 
 
 
 … hopefully
 
 
 

  • 15. DBG / Oct 4, 2018 / © 2018 IBM Corporation Applying Deep Learning: Reality Find model Get code Test, verify, fix Train / Deploy Use model $$$ maybe? Discovery Execution Consumability
  • 16. DBG / Oct 4, 2018 / © 2018 IBM Corporation Model Zoos (in theory)
  • 17. DBG / Oct 4, 2018 / © 2018 IBM Corporation Model Zoos (in practice)
  • 18. DBG / Oct 4, 2018 / © 2018 IBM Corporation IBM Developer http://ibm.biz/model- exchange
  • 19. DBG / Oct 4, 2018 / © 2018 IBM Corporation Fabric for Deep Learning
 https://github.com/IBM/FfDL FfDL Github Page 
 https://github.com/IBM/FfDL
 
 FfDL dwOpen Page
 https://developer.ibm.com/code/open/projects/ fabric-for-deep-learning-ffdl/
 
 FfDL Announcement Blog 
 http://developer.ibm.com/code/2018/03/20/fabric- for-deep-learning
 
 FfDL Technical Architecture Blog
 http://developer.ibm.com/code/2018/03/20/ democratize-ai-with-fabric-for-deep-learning
 
 Deep Learning as a Service within Watson Studio
 https://www.ibm.com/cloud/deep-learning Research paper: “Scalable Multi-Framework Management of Deep Learning Training Jobs” http:// learningsys.org/nips17/assets/papers/paper_29.pdf FfDL provides a scalable, resilient, and fault tolerant deep-learning framework • Fabric for Deep Learning or FfDL (pronounced as ‘fiddle’) is an open source project which aims at making Deep Learning easily accessible to the people it matters the most i.e. Data Scientists, and AI developers. 
 • FfDL provides a consistent way to deploy, train and visualize Deep Learning jobs across multiple frameworks like TensorFlow, Caffe, PyTorch, Keras etc. 
 • FfDL is being developed in close collaboration with IBM Research and IBM Watson. It forms the core of Watson`s Deep Learning service in open source. FfDL
  • 20. July 27 2018 / © 2018 IBM Corporation • FfDL platform uses a microservices architecture to offer resilience, scalability, multi-tenancy, and security without modifying the deep learning frameworks, and with no or minimal changes to model code. • FfDL control plane microservices are deployed as pods on Kubernetes to manage this cluster of GPU- and CPU- enabled machines effectively • Tested Platforms: Minikube, IBM Cloud Public, IBM Cloud Private, GPUs using both Kubernetes feature gate Accelerators and NVidia device plugins 20 Fabric for Deep Learning
 https://github.com/IBM/FfDL FfDL is built using a microservices architecture on Kubernetes
  • 21. DBG / Oct 4, 2018 / © 2018 IBM Corporation Fabric for Deep Learning
 https://github.com/IBM/FfDL FfDL Github Page 
 https://github.com/IBM/FfDL
 
 FfDL / PyTorch 1.0 Blog Post
 https://developer.ibm.com/blogs/2018/10/01/ announcing-pytorch-1-support-in-fabric-for-deep- learning/ FfDL / Horovod Blog Post
 https://developer.ibm.com/code/2018/07/18/ scalable-distributed-training-using-horovod-in-ffdl/ 
 Just announced: Support for PyTorch 1.0 – including distributed training and ONNX! FfDL Supports distributed training via Horovod
  • 22. DBG / Oct 4, 2018 / © 2018 IBM Corporation Trainable Models Training Data Training Code Training Definition Standardized Script
  • 23. DBG / Oct 4, 2018 / © 2018 IBM Corporation Data Model Compute resources Expertise Input/output processing REST API Deep-Learning asset on Model Asset Exchange ibm.biz/model-exchange Pre-trained model Deployable Models
  • 24. Deep-Learning asset on Model Asset Exchange Deploy Swagger specification Inference endpoint Metadata endpoint Microservice Deployable Models
  • 25. DBG / Oct 4, 2018 / © 2018 IBM Corporation Deployable Models Highlights • Image, audio, text, healthcare, time-series and more • Pre- / post-processing & inference wrapped up in Docker container • Generic API framework code - Flask RESTPlus • Swagger specification for API • One-line deployment locally and on a Kubernetes cluster • Code Patterns demonstrating how to easily consume MAX models
  • 26. DBG / Oct 4, 2018 / © 2018 IBM Corporation Summary and Possible Future Directions Current status • 22 models (4 trainable) • Image, audio, text, healthcare, time-series and more • 3 Code Patterns demonstrating how to consume MAX models in a web app • Code Pattern on training an audio classifier using Watson Machine Learning • One-line deployment via Docker and on a Kubernetes cluster Potential Future • More deployable models – breadth and depth • More trainable models - transfer learning in particular • New MAX web portal launching soon • More MAX-related content: • Code Patterns • Conference talks, meetups • Workshops • Enhance production-readiness of MAX models • Improve MAX API framework
  • 27. DBG / Oct 4, 2018 / © 2018 IBM Corporation IBM Developer Model Asset eXchange Free, open-source deep learning models. Wide variety of domains. Multiple deep learning frameworks. Vetted and tested code and IP. http://ibm.biz/model- exchange
  • 28. DBG / Oct 4, 2018 / © 2018 IBM Corporation Thank you! codait.org twitter.com/MLnick github.com/MLnick developer.ibm.com FfDL Sign up for IBM Cloud and try Watson Studio! https://ibm.biz/BdYbTY https://datascience.ibm.com/ MAX
  • 29. DBG / Oct 4, 2018 / © 2018 IBM Corporation