SlideShare a Scribd company logo
Introducing Elyra -
Extending JupyterLab
for AI
—
Luciano Resende
IBM - CODAIT
About me - Luciano Resende
Open Source AI Platform Architect – IBM – CODAIT
• Senior Technical Staff Member at IBM, contributing to open source for over 10 years
• Currently contributing to : Jupyter Notebook ecosystem, Apache Bahir, Apache
Toree, Apache Spark among other projects related to AI/ML platforms
lresende@us.ibm.com
https://www.linkedin.com/in/lresende
@lresende1975
https://github.com/lresende
IBM Open Source
Participation
Learn
Open Source @ IBM
Program touches
78,000
IBMers annually
Consume
Virtually all
IBM products
contain some
open source
• 40,363 pkgs
Per Year
Contribute
• >62K OS Certs
per year
• ~10K IBM
commits per
month
Connect
> 1000
active IBM
Contributors
Working in key OS
projects
IBM Open Source
Participation
IBM generated open source innovation
• 137 IBM Open Code projects w/1000+ Github projects
• Projects graduates into full open governance: Node-Red,
OpenWhisk, SystemML, Blockchain fabric among others
• developer.ibm.com/code/open/code/
Community
• IBM focused on 18 strategic communities
• Drive open governance in “Centers of Gravity”
• IBM Leaders drive key technologies and assure freedom of
action
The IBM OS Way is now open sourced
• Training, Recognition, Tooling
• Organization, Consuming, Contributing
IBM’s history of
strong AI leadership
1997: Deep Blue
• Deep Blue became the first machine to beat a world chess champion in
tournament play
2011: Jeopardy!
• Watson beat two top Jeopardy!
champions
1968, 2001: A Space Odyssey
• IBM was a technical
advisor
• HAL is “the latest in
machine intelligence”
2018: Open Tech, AI & emerging standards
• New IBM centers of gravity for AI
• OS projects increasing exponentially
• Emerging global standards in AI
2018: Project Debater
Center for Open Source
Data and AI
Technologies
6
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
CODAIT
http://codait.org
codait (French)
= coder/coded
https://m.interglot.com/fr/en/codait
AI
is everywhere
Home Automation & Security
- Multiple connected or
standalone devices
- Controlled by Voice
- Amazon Echo (Alexa)
- Google Home
- Apple HomePod (Siri)
https://www.dezeen.com/2016/02/12/google-self-driving-car-artficial-intelligence-system-recognised-as-driver-usa/
https://medium.com/@DoorDash/welcoming-our-newest-robots-to-the-doordash-fleet-with-marble-e752a85d6602
Autonomous Driving
In 2016, Google's self-driving car
system has been officially recognized as
a driver in the US, paving the way for
the legalization of autonomous vehicles.
Doordash is currently testing self-
driving robots for food delivery.
AMAZON Go
AMAZON GO – No lines, no checkout,
just grab and go
AI is everywhere…
this means
AI is easy…
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
Building AI
Interactively
Jupyter Notebooks
Notebooks are interactive
computational environments,
in which you can combine
code execution, rich text,
mathematics, plots and rich
media.
14
Jupyter Notebook
Simple, but Powerful
As simple as opening a web
page, with the capabilities of
a powerful, multilingual,
development environment.
Interactive widgets
Code can produce rich
outputs such as images,
videos, markdown, LaTeX
and JavaScript. Interactive
widgets can be used to
manipulate and visualize
data in real-time.
Language of choice
Jupyter Notebooks have
support for over 50
programming languages,
including those popular in
Data Science, Data
Engineer, and AI such as
Python, R, Julia and Scala.
Big Data Integration
Leverage Big Data platforms
such as Apache Spark from
Python, R and Scala.
Explore the same data with
pandas, scikit-learn,
ggplot2, dplyr, etc.
Share Notebooks
Notebooks can be shared
with others using e-mail,
Dropbox, Google Drive,
GitHub, etc
Jupyter Notebook-Classic
Single page web interface:
- File Browser
- Code Console (QT Console)
- Text Editor
The Classic Notebook is starting to move
towards maintenance mode
• Community efforts being concentrated in
the new JupyterLab UI.
• Community continue to deliver bug-fixes
and security updates frequently
JupyterLab
JupyterLab is the next generation
UI for the Jupyter Ecosystem.
Bring all the previous
improvements into a single unified
platform plus more!
Provides a modular, extensible
architecture
Retains backward compatibility
with the old notebook we know
and love
JupyterLab
File Explorer
Widgets / Rich Output
Tabbed
Workspaces
Text Editor
Console/Terminal
Elyra
extends JupyterLab for AI
Elyra source code at GitHub
https://github.com/elyra-ai/elyra
Elyra Documentation
https://github.com/elyra-ai/elyra/blob/master/README.md
Elyra
Elyra is a set of AI centric
extensions to JupyterLab. It
aims to help data scientists,
machine learning engineers
and AI developer’s through the
model development life cycle
complexities.
EL YRA
Hybrid Runtime Support
Notebook Pipelines
JupyterLab Extensions
Hybrid runtime support
It simplifies the task of running the notebooks
interactively on cloud machines, improving productivity by
leveraging the power of cloud-based resources
Versioning using git
Simplify tracking changes, enabling better sharing
among teammates
Elyra provides a visual editor for building Notebook-
based AI pipelines, enabling the conversion of
multiple notebooks into batch jobs or workflows.
Notebook Pipelines editor
Notebook as batch jobs
Elyra extends the notebook UI to simplify the
submission of notebooks as a batch job for model
training
Python script execution
Exposes Python Scripts as first-class citizens allowing
users to locally edit their scripts and execute them
against local or cloud-based resources seamlessly.
Fork me at: github.com/elyra-ai
Pipelines
AI / Deep Learning
Workloads
Resource intensive workloads
Requires expensive hardware (GPU, TPU)
Heterogeneous frameworks
Long Running training jobs
– Simple MNIST takes over one hour
WITHOUT a decent GPU
– Other non complex deep learning model
training can easily take over a day WITH
GPUs
Training/Deploying Models requires a lot of DevOPS
Model
Serving
Monitoring
Resource
Management
Configuration
Hyperparameter
Optimization
Reproducibility
AI / Deep Learning
Workloads Challenges
• How to isolate the training environments to multiple jobs,
based on different deep learning frameworks (and/or
releases) can be submitted/trained on the same time.
• Ability to allocate individual system level resources such as
GPUs, TPUs, etc with different kernels for a period of time.
• Ability to allocate and free up system level resources such as
GPUs, TPUs, etc as they stop being used or when they are idle
for a period of time.
AI / Deep Learning
Workloads
Source: https://github.com/Langhalsdino/Kubernetes-GPU-Guide
Containers and Kubernetes Platform
- Containers simplify management of
complicated and heterogenous AI/Deep
Learning infrastructure providing a required
isolation layer to different pods running
different Deep Learning frameworks
- Containers provides a flexible way to deploy
applications and are here to stay
- Kubernetes enables easy management of
containerized applications and resources
with the benefit of Elasticity and Quality of
Services
AI Platforms
AI/Deep Learning Platforms aim to
abstract the DevOPS tasks from the
Data Scientist providing a consistent
way to develop AI models independent
of the toolkit/framework being used.
Kubeflow
• ML Toolkit for Kubernetes
• Open source and community driven
• Support multiple ML Frameworks
• End-to-end workflows that can be
shared, scaled and deployed
Kubeflow Pipelines
Kubeflow Pipelines is a platform for
building and deploying portable,
scalable machine learning (ML)
workflows based on Docker containers.
• End-to-end orchestration: enabling and simplifying the
orchestration of machine learning pipelines.
• Easy experimentation: making it easy for you to try
numerous ideas and techniques and manage your
various trials/experiments.
• Easy re-use: enabling you to re-use components and
pipelines to quickly create end-to-end solutions
without having to rebuild each time.
Kubeflow Pipelines
Two key takeaways : A Pipeline and a
Pipeline Component
A pipeline is a description of a machine
learning (ML) workflow, including all of
the workflow components and how they
work together.
Kubeflow Pipelines
A pipeline component is an
implementation of a pipeline task.
A component represents a step in the
workflow.
Kubeflow Pipelines
Each pipeline component is a container
that contains a program to perform the
task required for that particular step of
your workflow.
Model
Training
Model
Validation
Model
Deployment
Source A
(Batch)
Data
Ingestion/Pr
eparation
Source B
(Stream)
Data
Ingestion/Pr
eparation
Source C
(Fetch)
Data
Ingestion/Pr
eparation
Model
Testing
Features
(Snapshot)
Decompose Schedule/Run
Kubeflow Pipelines
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
Notebooks
as batch jobs
Notebook as batch jobs
Model training can take
hours, if not days.
Elyra extends the
Notebook UI with a new
“submit notebook”
button that simplify the
submission of a single
notebook as a batch job.
Submit Notebook
Hybrid Runtime
Support
Jupyter Enterprise Gateway website
https://Jupyter.org/enterprise_gateway/
Jupyter Enterprise Gateway source code at GitHub
https://github.com/jupyter/enterprise_gateway
Jupyter Enterprise Gateway Documentation
http://jupyter-enterprise-gateway.readthedocs.io/en/latest/
Supported Kernels
Supported Platforms
Jupyter Enterprise Gateway
Spectrum Conductor
A lightweight, multi-tenant,
scalable and secure gateway
that enables Jupyter
Notebooks to share resources
across an Apache Spark or
Kubernetes cluster for
Enterprise/Cloud use cases
+ +
Jupyter Enterprise
Gateway Features
Optimized Resource Allocation
– Utilize resources on all cluster nodes by running kernels
as Spark applications in YARN Cluster Mode.
– Pluggable architecture to enable support for additional
Resource Managers
Enhanced Security
– End-to-End secure communications
- Secure socket communications
- Encrypted HTTP communication using SSL
Multiuser support with user
impersonation
– Enhance security and sandboxing by enabling user
impersonation when running kernels (using Kerberos).
– Individual HDFS home folder for each notebook user.
– Use the same user ID for notebook and batch jobs.
Kernel
Kernel Kernel
Kernel
Kernel
Kernel
Kernel
16
32
48
64
0
20
40
60
80
4 Nodes 8 Nodes 12 Nodes 16 Nodes
xKernels(4GBHeap) Cluster Size (32GB Nodes)
MAXIMUM NUMBER OF
SIMULTANEOUS KERNELS
Enterprise Gateway
& Kubernetes
Supported Platforms
Before Jupyter Enterprise Gateway …
- Resources required for all kernels needs to
be allocated during Notebook Server pod
creation
- Resources limited to what is physically
available on the host node that runs all
kernels and associated Spark drivers
After Jupyter Enterprise Gateway …
- Gateway pod very lightweight
- Kernels in their own pod, isolation
- Kernel pods built from community images:
Spark-on-K8s, TensorFlow, Keras, etc.
Before Enterprise Gateway After Enterprise Gateway
Bob
Alice
Jupyter
Enterprise
Gateway
Bob
Alice
Container images defined in kernelspec
Community image
Kernel
Spark on Kubernetes
Kernel
Jupyter Enterprise
Gateway - Kubernetes
Bob
Alice
Jupyter
Enterprise
Gateway
Bob
Alice
Container images defined in kernelspec
JupyterHub will provision
custom images containing
Notebook + NB2KG
extension
JupyterLab
Jupyter
Notebook
Community image
Kernel
Spark on Kubernetes
Kernel
Jupyter Enterprise Gateway - Kubernetes
Python script
execution
Python Script
execution
• Create new Python
script from the
workspace launcher
• Navigate trough the
script via Table of
Content outline
• Execute the script
against local or cloud-
based resources
Execute Script Select Environment
Git
Integration
Git Integration
Elyra provides integrated
support for git
repositories simplifying
tracking changes,
allowing rollback to
working versions of the
code, backups
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
Resources
Elyra source code at GitHub
https://github.com/elyra-ai/elyra
Elyra Documentation
https://github.com/elyra-ai/elyra/blob/master/README.md
Jupyter Enterprise Gateway
https://Jupyter.org/enterprise_gateway/
Jupyter Enterprise Gateway source code at GitHub
https://github.com/jupyter/enterprise_gateway
Jupyter Enterprise Gateway Documentation
http://jupyter-enterprise-gateway.readthedocs.io/en/latest/
Jupyter Blog
https://blog.jupyter.org/
STAR
US
&
FORK
US
ON
GITHUB
Thank you!

More Related Content

PDF
The lottery ticket_hypothesis__finding_sparse__trainable_neural_networks
PDF
Drifting Away: Testing ML Models in Production
PDF
"PyTorch Deep Learning Framework: Status and Directions," a Presentation from...
PDF
Real World End to End machine Learning Pipeline
PDF
The A-Z of Data: Introduction to MLOps
PDF
Machine learning ~ Forecasting
PPTX
Expert System Development.pptx
PDF
What is Cloudonomics ?
The lottery ticket_hypothesis__finding_sparse__trainable_neural_networks
Drifting Away: Testing ML Models in Production
"PyTorch Deep Learning Framework: Status and Directions," a Presentation from...
Real World End to End machine Learning Pipeline
The A-Z of Data: Introduction to MLOps
Machine learning ~ Forecasting
Expert System Development.pptx
What is Cloudonomics ?

What's hot (20)

PDF
Big data and analytics
PPTX
Multimodal Interaction
PPTX
Data Visualization.pptx
PDF
Differences Between Machine Learning Ml Artificial Intelligence Ai And Deep L...
PPTX
3 - Finding similar items
PPTX
1.Introduction to deep learning
PDF
Lecture6 introduction to data streams
PPTX
High performance computing for research
PDF
Semi-supervised Machine Learning
PDF
Data Driven Decision을 위한 데이터플랫폼구축기@kakaomobility
PPTX
SPADE -
PPTX
GraphAware: Insights Discovery with KGs: Bringing Archives to Life (GraphSumm...
PDF
Machine learning model to production
PPTX
Data mining concepts and work
PDF
When IoT Meets Artificial Intelligence
PPTX
AI in the Enterprise at Scale
PPTX
PDF
MLOps Using MLflow
PPTX
Wine Quality Analysis Using Machine Learning
PDF
Crime Analysis & Prediction System
Big data and analytics
Multimodal Interaction
Data Visualization.pptx
Differences Between Machine Learning Ml Artificial Intelligence Ai And Deep L...
3 - Finding similar items
1.Introduction to deep learning
Lecture6 introduction to data streams
High performance computing for research
Semi-supervised Machine Learning
Data Driven Decision을 위한 데이터플랫폼구축기@kakaomobility
SPADE -
GraphAware: Insights Discovery with KGs: Bringing Archives to Life (GraphSumm...
Machine learning model to production
Data mining concepts and work
When IoT Meets Artificial Intelligence
AI in the Enterprise at Scale
MLOps Using MLflow
Wine Quality Analysis Using Machine Learning
Crime Analysis & Prediction System
Ad

Similar to Elyra - a set of AI-centric extensions to JupyterLab Notebooks. (20)

PDF
Using Elyra for COVID-19 Analytics
PDF
Scaling AI/ML with Containers and Kubernetes
PPTX
Dev Ops for systems of record - Talk at Agile Australia 2015
PDF
Weave GitOps - continuous delivery for any Kubernetes
PDF
Ai pipelines powered by jupyter notebooks
PDF
Put the Power of Cloud-based Modeling to Work - Spotlight Session
PDF
Tech leaders guide to effective building of machine learning products
PDF
FORWARD 5 Key Highlights and Product Updates - Philadelphia Chapter
PPTX
Perth DevOps Meetup - Introducing the IBM Innovation Lab - 12112015
PDF
DevOps demystified
PPTX
Unleashing the power of AI in UiPath Studio with UiPath Autopilot.
PDF
仕事ではじめる機械学習
PDF
Metaflow: The ML Infrastructure at Netflix
PPTX
Kubeflow: portable and scalable machine learning using Jupyterhub and Kuberne...
PDF
Scilab Enterprises (Numerical Computing)
PDF
Puppet Keynote by Ralph Luchs
PDF
Efficient platform engineering with Microk8s & gopaddle.pdf
PPTX
Kubeflow.pptx
PDF
DevOps-Roadmap
PPTX
DockerCon 15 Keynote - Day 2
Using Elyra for COVID-19 Analytics
Scaling AI/ML with Containers and Kubernetes
Dev Ops for systems of record - Talk at Agile Australia 2015
Weave GitOps - continuous delivery for any Kubernetes
Ai pipelines powered by jupyter notebooks
Put the Power of Cloud-based Modeling to Work - Spotlight Session
Tech leaders guide to effective building of machine learning products
FORWARD 5 Key Highlights and Product Updates - Philadelphia Chapter
Perth DevOps Meetup - Introducing the IBM Innovation Lab - 12112015
DevOps demystified
Unleashing the power of AI in UiPath Studio with UiPath Autopilot.
仕事ではじめる機械学習
Metaflow: The ML Infrastructure at Netflix
Kubeflow: portable and scalable machine learning using Jupyterhub and Kuberne...
Scilab Enterprises (Numerical Computing)
Puppet Keynote by Ralph Luchs
Efficient platform engineering with Microk8s & gopaddle.pdf
Kubeflow.pptx
DevOps-Roadmap
DockerCon 15 Keynote - Day 2
Ad

More from Luciano Resende (20)

PDF
A Jupyter kernel for Scala and Apache Spark.pdf
PDF
From Data to AI - Silicon Valley Open Source projects come to you - Madrid me...
PDF
Strata - Scaling Jupyter with Jupyter Enterprise Gateway
PDF
Scaling notebooks for Deep Learning workloads
PDF
Jupyter Enterprise Gateway Overview
PPTX
Inteligencia artificial, open source e IBM Call for Code
PDF
IoT Applications and Patterns using Apache Spark & Apache Bahir
PDF
Getting insights from IoT data with Apache Spark and Apache Bahir
PDF
Open Source AI - News and examples
PDF
Building analytical microservices powered by jupyter kernels
PDF
Building iot applications with Apache Spark and Apache Bahir
PDF
An Enterprise Analytics Platform with Jupyter Notebooks and Apache Spark
PDF
The Analytic Platform behind IBM’s Watson Data Platform - Big Data Spain 2017
PDF
What's new in Apache SystemML - Declarative Machine Learning
PDF
Big analytics meetup - Extended Jupyter Kernel Gateway
PDF
Jupyter con meetup extended jupyter kernel gateway
PDF
Writing Apache Spark and Apache Flink Applications Using Apache Bahir
PDF
How mentoring can help you start contributing to open source
PDF
SystemML - Declarative Machine Learning
PDF
Luciano Resende's keynote at Apache big data conference
A Jupyter kernel for Scala and Apache Spark.pdf
From Data to AI - Silicon Valley Open Source projects come to you - Madrid me...
Strata - Scaling Jupyter with Jupyter Enterprise Gateway
Scaling notebooks for Deep Learning workloads
Jupyter Enterprise Gateway Overview
Inteligencia artificial, open source e IBM Call for Code
IoT Applications and Patterns using Apache Spark & Apache Bahir
Getting insights from IoT data with Apache Spark and Apache Bahir
Open Source AI - News and examples
Building analytical microservices powered by jupyter kernels
Building iot applications with Apache Spark and Apache Bahir
An Enterprise Analytics Platform with Jupyter Notebooks and Apache Spark
The Analytic Platform behind IBM’s Watson Data Platform - Big Data Spain 2017
What's new in Apache SystemML - Declarative Machine Learning
Big analytics meetup - Extended Jupyter Kernel Gateway
Jupyter con meetup extended jupyter kernel gateway
Writing Apache Spark and Apache Flink Applications Using Apache Bahir
How mentoring can help you start contributing to open source
SystemML - Declarative Machine Learning
Luciano Resende's keynote at Apache big data conference

Recently uploaded (20)

PPTX
Major-Components-ofNKJNNKNKNKNKronment.pptx
PPTX
Introduction to Knowledge Engineering Part 1
PDF
Mega Projects Data Mega Projects Data
PPTX
Data_Analytics_and_PowerBI_Presentation.pptx
PPTX
Computer network topology notes for revision
PPT
Quality review (1)_presentation of this 21
PDF
Foundation of Data Science unit number two notes
PPT
Miokarditis (Inflamasi pada Otot Jantung)
PDF
BF and FI - Blockchain, fintech and Financial Innovation Lesson 2.pdf
PPTX
MODULE 8 - DISASTER risk PREPAREDNESS.pptx
PPTX
STUDY DESIGN details- Lt Col Maksud (21).pptx
PDF
Taxes Foundatisdcsdcsdon Certificate.pdf
PDF
Galatica Smart Energy Infrastructure Startup Pitch Deck
PDF
22.Patil - Early prediction of Alzheimer’s disease using convolutional neural...
PPTX
Business Acumen Training GuidePresentation.pptx
PPTX
climate analysis of Dhaka ,Banglades.pptx
PPTX
advance b rammar.pptxfdgdfgdfsgdfgsdgfdfgdfgsdfgdfgdfg
PDF
TRAFFIC-MANAGEMENT-AND-ACCIDENT-INVESTIGATION-WITH-DRIVING-PDF-FILE.pdf
PPTX
The THESIS FINAL-DEFENSE-PRESENTATION.pptx
Major-Components-ofNKJNNKNKNKNKronment.pptx
Introduction to Knowledge Engineering Part 1
Mega Projects Data Mega Projects Data
Data_Analytics_and_PowerBI_Presentation.pptx
Computer network topology notes for revision
Quality review (1)_presentation of this 21
Foundation of Data Science unit number two notes
Miokarditis (Inflamasi pada Otot Jantung)
BF and FI - Blockchain, fintech and Financial Innovation Lesson 2.pdf
MODULE 8 - DISASTER risk PREPAREDNESS.pptx
STUDY DESIGN details- Lt Col Maksud (21).pptx
Taxes Foundatisdcsdcsdon Certificate.pdf
Galatica Smart Energy Infrastructure Startup Pitch Deck
22.Patil - Early prediction of Alzheimer’s disease using convolutional neural...
Business Acumen Training GuidePresentation.pptx
climate analysis of Dhaka ,Banglades.pptx
advance b rammar.pptxfdgdfgdfsgdfgsdgfdfgdfgsdfgdfgdfg
TRAFFIC-MANAGEMENT-AND-ACCIDENT-INVESTIGATION-WITH-DRIVING-PDF-FILE.pdf
The THESIS FINAL-DEFENSE-PRESENTATION.pptx

Elyra - a set of AI-centric extensions to JupyterLab Notebooks.

  • 1. Introducing Elyra - Extending JupyterLab for AI — Luciano Resende IBM - CODAIT
  • 2. About me - Luciano Resende Open Source AI Platform Architect – IBM – CODAIT • Senior Technical Staff Member at IBM, contributing to open source for over 10 years • Currently contributing to : Jupyter Notebook ecosystem, Apache Bahir, Apache Toree, Apache Spark among other projects related to AI/ML platforms lresende@us.ibm.com https://www.linkedin.com/in/lresende @lresende1975 https://github.com/lresende
  • 3. IBM Open Source Participation Learn Open Source @ IBM Program touches 78,000 IBMers annually Consume Virtually all IBM products contain some open source • 40,363 pkgs Per Year Contribute • >62K OS Certs per year • ~10K IBM commits per month Connect > 1000 active IBM Contributors Working in key OS projects
  • 4. IBM Open Source Participation IBM generated open source innovation • 137 IBM Open Code projects w/1000+ Github projects • Projects graduates into full open governance: Node-Red, OpenWhisk, SystemML, Blockchain fabric among others • developer.ibm.com/code/open/code/ Community • IBM focused on 18 strategic communities • Drive open governance in “Centers of Gravity” • IBM Leaders drive key technologies and assure freedom of action The IBM OS Way is now open sourced • Training, Recognition, Tooling • Organization, Consuming, Contributing
  • 5. IBM’s history of strong AI leadership 1997: Deep Blue • Deep Blue became the first machine to beat a world chess champion in tournament play 2011: Jeopardy! • Watson beat two top Jeopardy! champions 1968, 2001: A Space Odyssey • IBM was a technical advisor • HAL is “the latest in machine intelligence” 2018: Open Tech, AI & emerging standards • New IBM centers of gravity for AI • OS projects increasing exponentially • Emerging global standards in AI 2018: Project Debater
  • 6. Center for Open Source Data and AI Technologies 6 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 CODAIT http://codait.org codait (French) = coder/coded https://m.interglot.com/fr/en/codait
  • 8. Home Automation & Security - Multiple connected or standalone devices - Controlled by Voice - Amazon Echo (Alexa) - Google Home - Apple HomePod (Siri)
  • 9. https://www.dezeen.com/2016/02/12/google-self-driving-car-artficial-intelligence-system-recognised-as-driver-usa/ https://medium.com/@DoorDash/welcoming-our-newest-robots-to-the-doordash-fleet-with-marble-e752a85d6602 Autonomous Driving In 2016, Google's self-driving car system has been officially recognized as a driver in the US, paving the way for the legalization of autonomous vehicles. Doordash is currently testing self- driving robots for food delivery.
  • 10. AMAZON Go AMAZON GO – No lines, no checkout, just grab and go
  • 11. AI is everywhere… this means AI is easy…
  • 14. Jupyter Notebooks Notebooks are interactive computational environments, in which you can combine code execution, rich text, mathematics, plots and rich media. 14
  • 15. Jupyter Notebook Simple, but Powerful As simple as opening a web page, with the capabilities of a powerful, multilingual, development environment. Interactive widgets Code can produce rich outputs such as images, videos, markdown, LaTeX and JavaScript. Interactive widgets can be used to manipulate and visualize data in real-time. Language of choice Jupyter Notebooks have support for over 50 programming languages, including those popular in Data Science, Data Engineer, and AI such as Python, R, Julia and Scala. Big Data Integration Leverage Big Data platforms such as Apache Spark from Python, R and Scala. Explore the same data with pandas, scikit-learn, ggplot2, dplyr, etc. Share Notebooks Notebooks can be shared with others using e-mail, Dropbox, Google Drive, GitHub, etc
  • 16. Jupyter Notebook-Classic Single page web interface: - File Browser - Code Console (QT Console) - Text Editor The Classic Notebook is starting to move towards maintenance mode • Community efforts being concentrated in the new JupyterLab UI. • Community continue to deliver bug-fixes and security updates frequently
  • 17. JupyterLab JupyterLab is the next generation UI for the Jupyter Ecosystem. Bring all the previous improvements into a single unified platform plus more! Provides a modular, extensible architecture Retains backward compatibility with the old notebook we know and love
  • 18. JupyterLab File Explorer Widgets / Rich Output Tabbed Workspaces Text Editor Console/Terminal
  • 20. Elyra source code at GitHub https://github.com/elyra-ai/elyra Elyra Documentation https://github.com/elyra-ai/elyra/blob/master/README.md Elyra Elyra is a set of AI centric extensions to JupyterLab. It aims to help data scientists, machine learning engineers and AI developer’s through the model development life cycle complexities.
  • 21. EL YRA Hybrid Runtime Support Notebook Pipelines JupyterLab Extensions Hybrid runtime support It simplifies the task of running the notebooks interactively on cloud machines, improving productivity by leveraging the power of cloud-based resources Versioning using git Simplify tracking changes, enabling better sharing among teammates Elyra provides a visual editor for building Notebook- based AI pipelines, enabling the conversion of multiple notebooks into batch jobs or workflows. Notebook Pipelines editor Notebook as batch jobs Elyra extends the notebook UI to simplify the submission of notebooks as a batch job for model training Python script execution Exposes Python Scripts as first-class citizens allowing users to locally edit their scripts and execute them against local or cloud-based resources seamlessly. Fork me at: github.com/elyra-ai
  • 23. AI / Deep Learning Workloads Resource intensive workloads Requires expensive hardware (GPU, TPU) Heterogeneous frameworks Long Running training jobs – Simple MNIST takes over one hour WITHOUT a decent GPU – Other non complex deep learning model training can easily take over a day WITH GPUs
  • 24. Training/Deploying Models requires a lot of DevOPS Model Serving Monitoring Resource Management Configuration Hyperparameter Optimization Reproducibility
  • 25. AI / Deep Learning Workloads Challenges • How to isolate the training environments to multiple jobs, based on different deep learning frameworks (and/or releases) can be submitted/trained on the same time. • Ability to allocate individual system level resources such as GPUs, TPUs, etc with different kernels for a period of time. • Ability to allocate and free up system level resources such as GPUs, TPUs, etc as they stop being used or when they are idle for a period of time.
  • 26. AI / Deep Learning Workloads Source: https://github.com/Langhalsdino/Kubernetes-GPU-Guide Containers and Kubernetes Platform - Containers simplify management of complicated and heterogenous AI/Deep Learning infrastructure providing a required isolation layer to different pods running different Deep Learning frameworks - Containers provides a flexible way to deploy applications and are here to stay - Kubernetes enables easy management of containerized applications and resources with the benefit of Elasticity and Quality of Services
  • 27. AI Platforms AI/Deep Learning Platforms aim to abstract the DevOPS tasks from the Data Scientist providing a consistent way to develop AI models independent of the toolkit/framework being used.
  • 28. Kubeflow • ML Toolkit for Kubernetes • Open source and community driven • Support multiple ML Frameworks • End-to-end workflows that can be shared, scaled and deployed
  • 29. Kubeflow Pipelines Kubeflow Pipelines is a platform for building and deploying portable, scalable machine learning (ML) workflows based on Docker containers. • End-to-end orchestration: enabling and simplifying the orchestration of machine learning pipelines. • Easy experimentation: making it easy for you to try numerous ideas and techniques and manage your various trials/experiments. • Easy re-use: enabling you to re-use components and pipelines to quickly create end-to-end solutions without having to rebuild each time.
  • 30. Kubeflow Pipelines Two key takeaways : A Pipeline and a Pipeline Component A pipeline is a description of a machine learning (ML) workflow, including all of the workflow components and how they work together.
  • 31. Kubeflow Pipelines A pipeline component is an implementation of a pipeline task. A component represents a step in the workflow.
  • 32. Kubeflow Pipelines Each pipeline component is a container that contains a program to perform the task required for that particular step of your workflow.
  • 33. Model Training Model Validation Model Deployment Source A (Batch) Data Ingestion/Pr eparation Source B (Stream) Data Ingestion/Pr eparation Source C (Fetch) Data Ingestion/Pr eparation Model Testing Features (Snapshot) Decompose Schedule/Run
  • 37. Notebook as batch jobs Model training can take hours, if not days. Elyra extends the Notebook UI with a new “submit notebook” button that simplify the submission of a single notebook as a batch job. Submit Notebook
  • 39. Jupyter Enterprise Gateway website https://Jupyter.org/enterprise_gateway/ Jupyter Enterprise Gateway source code at GitHub https://github.com/jupyter/enterprise_gateway Jupyter Enterprise Gateway Documentation http://jupyter-enterprise-gateway.readthedocs.io/en/latest/ Supported Kernels Supported Platforms Jupyter Enterprise Gateway Spectrum Conductor A lightweight, multi-tenant, scalable and secure gateway that enables Jupyter Notebooks to share resources across an Apache Spark or Kubernetes cluster for Enterprise/Cloud use cases + +
  • 40. Jupyter Enterprise Gateway Features Optimized Resource Allocation – Utilize resources on all cluster nodes by running kernels as Spark applications in YARN Cluster Mode. – Pluggable architecture to enable support for additional Resource Managers Enhanced Security – End-to-End secure communications - Secure socket communications - Encrypted HTTP communication using SSL Multiuser support with user impersonation – Enhance security and sandboxing by enabling user impersonation when running kernels (using Kerberos). – Individual HDFS home folder for each notebook user. – Use the same user ID for notebook and batch jobs. Kernel Kernel Kernel Kernel Kernel Kernel Kernel 16 32 48 64 0 20 40 60 80 4 Nodes 8 Nodes 12 Nodes 16 Nodes xKernels(4GBHeap) Cluster Size (32GB Nodes) MAXIMUM NUMBER OF SIMULTANEOUS KERNELS
  • 41. Enterprise Gateway & Kubernetes Supported Platforms Before Jupyter Enterprise Gateway … - Resources required for all kernels needs to be allocated during Notebook Server pod creation - Resources limited to what is physically available on the host node that runs all kernels and associated Spark drivers After Jupyter Enterprise Gateway … - Gateway pod very lightweight - Kernels in their own pod, isolation - Kernel pods built from community images: Spark-on-K8s, TensorFlow, Keras, etc. Before Enterprise Gateway After Enterprise Gateway
  • 42. Bob Alice Jupyter Enterprise Gateway Bob Alice Container images defined in kernelspec Community image Kernel Spark on Kubernetes Kernel Jupyter Enterprise Gateway - Kubernetes
  • 43. Bob Alice Jupyter Enterprise Gateway Bob Alice Container images defined in kernelspec JupyterHub will provision custom images containing Notebook + NB2KG extension JupyterLab Jupyter Notebook Community image Kernel Spark on Kubernetes Kernel Jupyter Enterprise Gateway - Kubernetes
  • 45. Python Script execution • Create new Python script from the workspace launcher • Navigate trough the script via Table of Content outline • Execute the script against local or cloud- based resources Execute Script Select Environment
  • 47. Git Integration Elyra provides integrated support for git repositories simplifying tracking changes, allowing rollback to working versions of the code, backups
  • 49. Resources Elyra source code at GitHub https://github.com/elyra-ai/elyra Elyra Documentation https://github.com/elyra-ai/elyra/blob/master/README.md Jupyter Enterprise Gateway https://Jupyter.org/enterprise_gateway/ Jupyter Enterprise Gateway source code at GitHub https://github.com/jupyter/enterprise_gateway Jupyter Enterprise Gateway Documentation http://jupyter-enterprise-gateway.readthedocs.io/en/latest/ Jupyter Blog https://blog.jupyter.org/ STAR US & FORK US ON GITHUB