Handwritten Text Recognition for manuscripts and early printed texts
No BS Guide to Deep Learning in the Enterprise
1. A No-BS Guide to Deep
Learning in the Enterprise
Invector Labs
2. About Invector Labs
• Platform for top-class computer science talent
• Uses artificial intelligence to connect enterprises with top freelance
talent around the world
• Focused on deep-tech
• Artificial intelligence
• Blockchain technologies
• Internet of things
• Cybersecurity
• Advanced cloud computing
• ….
• http://invectorlabs.com
3. Agenda
• Challenges of deep learning in the enterprise
• A taxonomy for understanding deep learning technologies in the
enterprise
• Types of deep learning stacks
• Pros/Cons
4. 3 Introductory Questions
• What is deep learning?
• What makes deep learning conceptually challenging?
• What makes deep learning practically challenging?
5. Deep Learning
• Deep learning is a subset of machine learning
• Uses a hierarchy of multiple layers of nonlinear processing units for
feature extraction and transformation. Each successive layer uses the
output from the previous layer as input.
• Learns in supervised (e.g., classification) and/or unsupervised (e.g.,
pattern analysis) manners.
• Learns multiple levels of representations that correspond to different
levels of abstraction; the levels form a hierarchy of concepts.
7. What Makes Deep Learning so Challenging?
Curse of Dimensionality
• Models with millions of nodes
Over/Under Fitting
• Models too tailored to the datasets
Interpretability
• Understanding complex network structures
Bias/Variance
• Preconceptions included in the datasets
10. To Implement Deep Learning Solutions
High Computer Science
Barrier
Different App
Development
Lifecyle
Overcrowded
Market
11. High Computer Science Skills
• Understanding fundamental deep neural network architectures
• Convolutional neural networks
• Recurrent neural networks
• Reinforcement learning
• Adversarial neural networks
• Generative models
• Ensemble/Transfer learning
• ….
• Solid mathematical foundation in areas such as probabilistic theory or
linear algebra
12. We are dealing with a new app lifecycle…
Traditional App Lifecycle Machine Learning App
Lifecycle
Experimentation
Model Creation
Training
Testing
Regularization
Deployment
Monitoring
Optimization
Design Implementation Deployment
Management/
Monitoring
16. The Lifecycle of Deep Learning Applications
Experimentation
Model Creation
Training
Testing
Regularization
Deployment
Monitoring
Optimization
17. A Taxonomy of the Deep Learning Ecosystem
Cloud Deep Learning Runtimes On-Premise Deep Learning Runtimes
High Performance Computing Runtimes
Tier1 Deep Learning Frameworks
Tier2 Deep Learning Frameworks
Cloud ML Platforms Cloud AI APIs
Cloud Deep Learning Experimentation Tools
On-Premise Deep Learning Experimentation
Tools
Deep Learning Optimization Tools
CLOUD On-PREMISE
19. Interactive Data Science Environments
• Good for: Model Experimentation
• Rapid data exploration
• Prototyping of algorithms and neural
network architectures
• Evaluating challenges with models before
they get implemented
• Mostly support R and Python frameworks
• Integrated with cloud and on-premise deep
learning runtimes
20. Pros-Cons
• Test ideas and explore data
• Validate different libraries and
algorithms
• Collaborate with other data
scientists
• Not designed for production
workloads
• Mostly constrained to Python
environmentsVS.
22. Tier 1 Deep Learning Frameworks
• Good for: Model implementation
• Abstract the fundamentals of a
computation graphs in deep neural nets
such as tensors, sessions, placeholders
• Focused mostly on static computation
graphs and low level computation routines
• Great support across different runtimes
23. Pros/Cons
• High performance
• Rich algorithm catalogs
• Large developer communities
• Broad support in deep
learning runtimes
• Embedded versions that run
on mobile and IoT devices
• Hard to modify
• Difficult to debut
• Low level primitives
VS.
24. Tier 2 Deep Learning Runtimes
• Provide higher level APIs for deep
learning models
• Many use tier 1 frameworks as the
underlying runtime mechanism
• Some incorporate dynamic
computation graphs
25. Pros/Cons
• Great for prototyping
• Easier to write deep neural
networks
• Easier to debug
• Some frameworks like
PyTorch enable dynamic
computation graphs
• Sacrifice control
• Constrained to large scale
environments
VS.
26. Tier 2 High Performance ML Runtimes
• Good for: Implementing deep learning
pipelines that are tightly integrated with
big data infrastructures
• Enable the infrastructure to execute deep
learning pipelines at scale using parallel
computation engines
• Combine batch, stream, SQL-based
computations into deep learning solutions
using a single programming model
• Leverage mainstream data computation
engines
27. Pros/Cons
• Executing high performance
computation job
• Leverage your existing big
data infrastructure
• Write code in familiar
languages such as Java or
Scala
• Limited deep learning
capabilities
• Constrained algorithm catalog
VS.
28. Tier 2 Cloud ML Platforms
• Good for: Implementing deep learning
solutions using native cloud services
• Use tools and programming models
optimized for your cloud platform
• Leverage languages such as R or Python
into your cloud deep learning solutions
• Expose deep learning models as cloud
APIs
• Natively leverage cognitive APIs in your
deep learning solution
29. Pros/Cons
• Leverage a native cloud ML
service
• Integrate with other cloud
services
• Minimize the infrastructure to
create and execute your deep
learning applications
• Limited extensibility
• Limited support for on-
premise scenarios
VS.
30. Self-Service Deep Learning Runtimes
• Low-code, graphical user
experience for the creation of deep
learning model
• End to end automation of the deep
learning app lifecycle
• Proprietary runtime server-side
environments
31. Pros/Cons
• Implementation of simple,
well-defined models
• Data exploration and working
with small datasets
• Extensibility
• Custom model authoring
• Operate across different
runtimes
• Sophisticated training cycles
• Integration with existing systems
and APIs
VS.
32. Deep Learning API Suites
• Good for: Using basic deep learning
capabilities via APIs
• Ready to use, pre-trained models
• Focused on established cognitive
domains:
• Image analysis
• Natural language processing
• Speech analysis
• Video analytics
• …
33. Pros/Cons
• Low level of entry to deep
learning
• Optimized for small data,
basic deep learning scenarios
• Extensibility
• Custom model authoring
• Custom training
• Scalability/Pricing ratioVS.
35. Hybrid Deep Learning Runtimes
• Good for: Automate the complete
lifecycle of deep learning
applications
• Combine many open source stacks
into cohesive stacks
• Enable the fundamental building
blocks of deep learning
applications
• Data Loading
• Model Execution
• Performance Monitoring
36. Pros/Cons
• Executing and managing deep
learning applications at scale
• Leverage open source stacks
in an integrated way
• Maintain symmetric hybrid
deep learning runtimes
between cloud and on-
premise environments
• Complex to manage and scale
VS.
37. Cloud Deep Learning Runtimes
• Good for: Running deep learning
models at scale
• Support different deep learning
runtimes
• Include proprietary tools for model
management and optimization
• Integrates with other cloud services
38. Pros/Cons
• Scale deep learning models
with minimum infrastructure
• Enable a common
infrastructure for different
deep learning frameworks
• Build deep learning
applications that integrate
with other cloud services
• Limited support in on-premise
environments
VS.
40. Hyperparameter Optimization Tools
• Good for: Fine tuning and
evaluating models
• Tracking the performance of
models across different versions
• Run experiments with different
hyperparameter configurations
41. Pros/Cons
• Hyperparameter tuning and
optimization
• Correlate model performance
with different objectives
• Integrate with different deep
learning frameworks
• Lack of interoperability with
deep learning runtimes
VS.
42. Other Important Categories
• Specialized frameworks: Bonsai (reinforcement learning)
• Training frameworks: OpenAI Gym, Uber’s Horovod
• ML Databases: MLDB.ai
43. Summary
• Building deep learning solutions in the real world is a tough challenge
• The deep learning space is incredibly crowded
• There are several categories that can help you better navigate the
space:
• Tier 1-2 deep learning frameworks
• Self-service deep learning platforms
• Hybrid-Cloud deep learning runtimes
• Optimization tools
• …
• Start small….iterate fast…