SlideShare uma empresa Scribd logo
1 de 22
Baixar para ler offline
1
Tim Verbelen – imec, Ghent Unversity
DIANNE, A DISTRIBUTED DEEP LEARNING FRAMEWORK ON OSGI
SMART?
THE FALLACIES OF THE SMART EVERYTHING...
CONNECTED!
A TRULY SMART SYSTEM IS ABLE TO LEARN
Image captioning (Vinyals et al)
Speech synthesis (van den Oord et al)
Speech recognition systems
AlphaGo
(Silver et al.)
Robot tasks (Abbeel et al)
MACHINE LEARNING WITH DEEP NEURAL NETWORKS
4
Neural networks are trained to approximate any function
Difficulties:
Requires a lot of computation
Requires a huge amount of data
GPU / CLOUD COMPUTING
INTERNET OF THINGS
WHERE TO DEPLOY?
5
DISTRIBUTED INFRASTRUCTURE REQUIRES DISTRIBUTED SOLUTION
IoT
gateway
Cloud
Sensor/Edge nodes
End-user devices
IMAGE DIVIDER. POSITION
THE TITLE ACCORDING TO
THE IMAGE. USE THE WHITE
TITLE FOR DARK IMAGES.
KEY PRINCIPLES
MODULARITY
7
DECOUPLE INTERFACE FROM IMPLEMENTATION USING SERVICES
MODULARITY IN DIANNE (1)
8
MODULES ARE BASIC BUILDING BLOCKS FOR DEFINING NEURAL NETWORK
MODULARITY IN DIANNE (2)
9
MODULAR BUILDING BLOCKS FOR LEARNING AND EVALUATING NEURAL
NETWORKS
Neural
Network
Repository
Dataset
Learner Evaluator Agent
MODULARITY IN DIANNE (3)
10
USE THE MODULES AS LEGO BLOCKS TO BUILD YOUR NEURAL NETWORK
IMAGE DIVIDER. POSITION
THE TITLE ACCORDING TO
THE IMAGE. USE THE WHITE
TITLE FOR DARK IMAGES.
DEMO TOUR
EXAMPLE CHARTS
WHY OSGI?
REMOTE SERVICES
13
A B
RSA RSA
exportServiceimportService
CALLING OSGI SERVICES ON DISTRIBUTED INFRASTRUCTURE
14
public class
NeuralNetworkInstanceDTO {
public UUID id;
public String description;
public String name;
public Map<UUID,
ModuleInstanceDTO>
modules;
}
public interface NeuralNetwork {
UUID getId();
NeuralNetworkInstanceDTO
getNeuralNetworkInstance();
Promise<NeuralNetworkResult>
forward(...);
Promise<NeuralNetworkResult>
backward(...);
...
}
DATA
BEHAVIOR
DTOSERVICE
DTOS
SPLITTING DATA FROM BEHAVIOR
DTOS (2)
15
GREAT FOR CONFIGURATION
public class SGDConfig {
public float learningRate = 0.01f;
public float minLearningRate = 0.0f;
public float decayRate = 0.0f;
…
}
Map<String, String> config …
SGDConfig c = DianneConfigHandler
.getConfig(config, SGDConfig.class)
SGDProcessor p
= new SGDProcessor(c);
How to provide configuration to objects *
Constructor/method parameters?
DTO?
Map<String, String>?
* for configuring services, use ConfigAdmin
NATIVE LIBRARIES
16
FRAGMENTS PROVIDE THE RIGHT NATIVE LIB FOR YOUR PLATFORM
Tensors are residing only in native (GPU) memory
Build a fragment with Bundle-NativeCode header for each supported
platform
At runtime, the right fragment resolves and is attached to the host
bundle providing the Java objects with native methods
Caveat: correct fragment for GPU still has to be selected manually (not
automatically provided as capability)
OVERHEAD?
17
PROMISES
18
DIANNE Neural network modules are executed asynchronously
NeuralNetwork provides API with promises
final NeuralNetwork nn = ...;
Tensor batch = loadBatch();
Tensor nextBatch;
while(learning){
// do forward-backward pass during training
Promise result = nn.forward(batch,…).then( p → {
Tensor output = p.getValue().tensor;
Tensor grad = calculateGradient(output);
return nn.backward(grad);
}).then(…);
nextBatch = loadBatch(); // already load next batch
result.getValue(); // wait for async completion
… // flip nextBatch and batch
}
CONCIERGE
19
A small footprint OSGi core implementation
All demos shown during this presentation were running on Concierge
Learn more tomorrow: “Getting to the Next Level with Eclipse
Concierge” - Schubartsaal, 17h45
21
http://dianne.intec.ugent.be/
git clone https://github.com/ibcn-cloudlet/dianne.git
THANK YOU!
PUBLIC

Mais conteúdo relacionado

Mais procurados

4 track kinect@Bicocca - skeletal tracking
4   track kinect@Bicocca - skeletal tracking4   track kinect@Bicocca - skeletal tracking
4 track kinect@Bicocca - skeletal tracking
Matteo Valoriani
 
"Using SGEMM and FFTs to Accelerate Deep Learning," a Presentation from ARM
"Using SGEMM and FFTs to Accelerate Deep Learning," a Presentation from ARM"Using SGEMM and FFTs to Accelerate Deep Learning," a Presentation from ARM
"Using SGEMM and FFTs to Accelerate Deep Learning," a Presentation from ARM
Edge AI and Vision Alliance
 
SE-4128, DRM: From software secrets to hardware protection, by Rod Schultz
SE-4128, DRM: From software secrets to hardware protection, by Rod SchultzSE-4128, DRM: From software secrets to hardware protection, by Rod Schultz
SE-4128, DRM: From software secrets to hardware protection, by Rod Schultz
AMD Developer Central
 
Oit And Indirect Illumination Using Dx11 Linked Lists
Oit And Indirect Illumination Using Dx11 Linked ListsOit And Indirect Illumination Using Dx11 Linked Lists
Oit And Indirect Illumination Using Dx11 Linked Lists
Holger Gruen
 
Vpu technology &gpgpu computing
Vpu technology &gpgpu computingVpu technology &gpgpu computing
Vpu technology &gpgpu computing
Arka Ghosh
 

Mais procurados (18)

Gpu Programming With GPUImage and Metal
Gpu Programming With GPUImage and MetalGpu Programming With GPUImage and Metal
Gpu Programming With GPUImage and Metal
 
Shader Programming With Unity
Shader Programming With UnityShader Programming With Unity
Shader Programming With Unity
 
OpenGL NVIDIA Command-List: Approaching Zero Driver Overhead
OpenGL NVIDIA Command-List: Approaching Zero Driver OverheadOpenGL NVIDIA Command-List: Approaching Zero Driver Overhead
OpenGL NVIDIA Command-List: Approaching Zero Driver Overhead
 
Lego mindstorms intro
Lego mindstorms introLego mindstorms intro
Lego mindstorms intro
 
PT-4054, "OpenCL™ Accelerated Compute Libraries" by John Melonakos
PT-4054, "OpenCL™ Accelerated Compute Libraries" by John MelonakosPT-4054, "OpenCL™ Accelerated Compute Libraries" by John Melonakos
PT-4054, "OpenCL™ Accelerated Compute Libraries" by John Melonakos
 
Masked Software Occlusion Culling
Masked Software Occlusion CullingMasked Software Occlusion Culling
Masked Software Occlusion Culling
 
4 track kinect@Bicocca - skeletal tracking
4   track kinect@Bicocca - skeletal tracking4   track kinect@Bicocca - skeletal tracking
4 track kinect@Bicocca - skeletal tracking
 
"Using SGEMM and FFTs to Accelerate Deep Learning," a Presentation from ARM
"Using SGEMM and FFTs to Accelerate Deep Learning," a Presentation from ARM"Using SGEMM and FFTs to Accelerate Deep Learning," a Presentation from ARM
"Using SGEMM and FFTs to Accelerate Deep Learning," a Presentation from ARM
 
Deep learning: Hardware Landscape
Deep learning: Hardware LandscapeDeep learning: Hardware Landscape
Deep learning: Hardware Landscape
 
Hair in Tomb Raider
Hair in Tomb RaiderHair in Tomb Raider
Hair in Tomb Raider
 
GDC 2012: Advanced Procedural Rendering in DX11
GDC 2012: Advanced Procedural Rendering in DX11GDC 2012: Advanced Procedural Rendering in DX11
GDC 2012: Advanced Procedural Rendering in DX11
 
SE-4128, DRM: From software secrets to hardware protection, by Rod Schultz
SE-4128, DRM: From software secrets to hardware protection, by Rod SchultzSE-4128, DRM: From software secrets to hardware protection, by Rod Schultz
SE-4128, DRM: From software secrets to hardware protection, by Rod Schultz
 
Lego NXT: An Introduction
Lego NXT: An IntroductionLego NXT: An Introduction
Lego NXT: An Introduction
 
Oit And Indirect Illumination Using Dx11 Linked Lists
Oit And Indirect Illumination Using Dx11 Linked ListsOit And Indirect Illumination Using Dx11 Linked Lists
Oit And Indirect Illumination Using Dx11 Linked Lists
 
Beyond porting
Beyond portingBeyond porting
Beyond porting
 
Vpu technology &gpgpu computing
Vpu technology &gpgpu computingVpu technology &gpgpu computing
Vpu technology &gpgpu computing
 
Exploring Gpgpu Workloads
Exploring Gpgpu WorkloadsExploring Gpgpu Workloads
Exploring Gpgpu Workloads
 
Intel optimized tensorflow, distributed deep learning
Intel optimized tensorflow, distributed deep learningIntel optimized tensorflow, distributed deep learning
Intel optimized tensorflow, distributed deep learning
 

Destaque

Aspecio - aspect-oriented programming meets the OSGi service model - Simon Ch...
Aspecio - aspect-oriented programming meets the OSGi service model - Simon Ch...Aspecio - aspect-oriented programming meets the OSGi service model - Simon Ch...
Aspecio - aspect-oriented programming meets the OSGi service model - Simon Ch...
mfrancis
 

Destaque (8)

Taming startup dynamics - Magnus Jungsbluth & Domagoj Cosic
Taming startup dynamics - Magnus Jungsbluth & Domagoj CosicTaming startup dynamics - Magnus Jungsbluth & Domagoj Cosic
Taming startup dynamics - Magnus Jungsbluth & Domagoj Cosic
 
How the OSGi Residential Specifications can help to build an ecosystem for sm...
How the OSGi Residential Specifications can help to build an ecosystem for sm...How the OSGi Residential Specifications can help to build an ecosystem for sm...
How the OSGi Residential Specifications can help to build an ecosystem for sm...
 
Aspecio - aspect-oriented programming meets the OSGi service model - Simon Ch...
Aspecio - aspect-oriented programming meets the OSGi service model - Simon Ch...Aspecio - aspect-oriented programming meets the OSGi service model - Simon Ch...
Aspecio - aspect-oriented programming meets the OSGi service model - Simon Ch...
 
OSGi toolchain from the ground up - Matteo Rulli
OSGi toolchain from the ground up - Matteo RulliOSGi toolchain from the ground up - Matteo Rulli
OSGi toolchain from the ground up - Matteo Rulli
 
It's beautiful enRoute - Paul Fraser
It's beautiful enRoute - Paul FraserIt's beautiful enRoute - Paul Fraser
It's beautiful enRoute - Paul Fraser
 
Introduction to TensorFlow
Introduction to TensorFlowIntroduction to TensorFlow
Introduction to TensorFlow
 
OSGi for outsiders - Milen Dyankov
OSGi for outsiders - Milen DyankovOSGi for outsiders - Milen Dyankov
OSGi for outsiders - Milen Dyankov
 
Eclipse + Maven + OSGi has never been so easy - Atllia Kiss
Eclipse + Maven + OSGi has never been so easy - Atllia KissEclipse + Maven + OSGi has never been so easy - Atllia Kiss
Eclipse + Maven + OSGi has never been so easy - Atllia Kiss
 

Semelhante a DIANNE - A distributed deep learning framework on OSGi - Tim Verbelen

Vpu technology &gpgpu computing
Vpu technology &gpgpu computingVpu technology &gpgpu computing
Vpu technology &gpgpu computing
Arka Ghosh
 
Vpu technology &gpgpu computing
Vpu technology &gpgpu computingVpu technology &gpgpu computing
Vpu technology &gpgpu computing
Arka Ghosh
 
Vpu technology &gpgpu computing
Vpu technology &gpgpu computingVpu technology &gpgpu computing
Vpu technology &gpgpu computing
Arka Ghosh
 
Intro to GPGPU Programming with Cuda
Intro to GPGPU Programming with CudaIntro to GPGPU Programming with Cuda
Intro to GPGPU Programming with Cuda
Rob Gillen
 
Cuda introduction
Cuda introductionCuda introduction
Cuda introduction
Hanibei
 
Programming The Real World
Programming The Real WorldProgramming The Real World
Programming The Real World
pauldeng
 

Semelhante a DIANNE - A distributed deep learning framework on OSGi - Tim Verbelen (20)

Vpu technology &gpgpu computing
Vpu technology &gpgpu computingVpu technology &gpgpu computing
Vpu technology &gpgpu computing
 
Vpu technology &gpgpu computing
Vpu technology &gpgpu computingVpu technology &gpgpu computing
Vpu technology &gpgpu computing
 
Vpu technology &gpgpu computing
Vpu technology &gpgpu computingVpu technology &gpgpu computing
Vpu technology &gpgpu computing
 
Introduction to parallel computing using CUDA
Introduction to parallel computing using CUDAIntroduction to parallel computing using CUDA
Introduction to parallel computing using CUDA
 
Intro to GPGPU Programming with Cuda
Intro to GPGPU Programming with CudaIntro to GPGPU Programming with Cuda
Intro to GPGPU Programming with Cuda
 
Parallel and Distributed Computing Chapter 8
Parallel and Distributed Computing Chapter 8Parallel and Distributed Computing Chapter 8
Parallel and Distributed Computing Chapter 8
 
Example uses of gpu compute models
Example uses of gpu compute modelsExample uses of gpu compute models
Example uses of gpu compute models
 
Your Game Needs Direct3D 11, So Get Started Now!
Your Game Needs Direct3D 11, So Get Started Now!Your Game Needs Direct3D 11, So Get Started Now!
Your Game Needs Direct3D 11, So Get Started Now!
 
Using GPUs to handle Big Data with Java by Adam Roberts.
Using GPUs to handle Big Data with Java by Adam Roberts.Using GPUs to handle Big Data with Java by Adam Roberts.
Using GPUs to handle Big Data with Java by Adam Roberts.
 
Intro to GPGPU with CUDA (DevLink)
Intro to GPGPU with CUDA (DevLink)Intro to GPGPU with CUDA (DevLink)
Intro to GPGPU with CUDA (DevLink)
 
Parallel computation
Parallel computationParallel computation
Parallel computation
 
parallel-computation.pdf
parallel-computation.pdfparallel-computation.pdf
parallel-computation.pdf
 
Netflix machine learning
Netflix machine learningNetflix machine learning
Netflix machine learning
 
Training course lect1
Training course lect1Training course lect1
Training course lect1
 
Cuda introduction
Cuda introductionCuda introduction
Cuda introduction
 
Jeff Johnson, Research Engineer, Facebook at MLconf NYC
Jeff Johnson, Research Engineer, Facebook at MLconf NYCJeff Johnson, Research Engineer, Facebook at MLconf NYC
Jeff Johnson, Research Engineer, Facebook at MLconf NYC
 
Programming The Real World
Programming The Real WorldProgramming The Real World
Programming The Real World
 
Gpu computing workshop
Gpu computing workshopGpu computing workshop
Gpu computing workshop
 
Deep Learning Edge
Deep Learning Edge Deep Learning Edge
Deep Learning Edge
 
Cuda 2011
Cuda 2011Cuda 2011
Cuda 2011
 

Mais de mfrancis

Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
mfrancis
 
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
mfrancis
 
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
mfrancis
 
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
mfrancis
 

Mais de mfrancis (20)

Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
 
OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)
 
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
 
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank LyaruuOSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
 
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
 
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
 
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
 
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
 
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
 
OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)
 
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
 
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
 
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
 
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
 
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
 
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
 
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
 
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
 
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
 
How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)
 

Último

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Último (20)

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 

DIANNE - A distributed deep learning framework on OSGi - Tim Verbelen

  • 1. 1 Tim Verbelen – imec, Ghent Unversity DIANNE, A DISTRIBUTED DEEP LEARNING FRAMEWORK ON OSGI
  • 2. SMART? THE FALLACIES OF THE SMART EVERYTHING... CONNECTED!
  • 3. A TRULY SMART SYSTEM IS ABLE TO LEARN Image captioning (Vinyals et al) Speech synthesis (van den Oord et al) Speech recognition systems AlphaGo (Silver et al.) Robot tasks (Abbeel et al)
  • 4. MACHINE LEARNING WITH DEEP NEURAL NETWORKS 4 Neural networks are trained to approximate any function Difficulties: Requires a lot of computation Requires a huge amount of data GPU / CLOUD COMPUTING INTERNET OF THINGS
  • 5. WHERE TO DEPLOY? 5 DISTRIBUTED INFRASTRUCTURE REQUIRES DISTRIBUTED SOLUTION IoT gateway Cloud Sensor/Edge nodes End-user devices
  • 6. IMAGE DIVIDER. POSITION THE TITLE ACCORDING TO THE IMAGE. USE THE WHITE TITLE FOR DARK IMAGES. KEY PRINCIPLES
  • 7. MODULARITY 7 DECOUPLE INTERFACE FROM IMPLEMENTATION USING SERVICES
  • 8. MODULARITY IN DIANNE (1) 8 MODULES ARE BASIC BUILDING BLOCKS FOR DEFINING NEURAL NETWORK
  • 9. MODULARITY IN DIANNE (2) 9 MODULAR BUILDING BLOCKS FOR LEARNING AND EVALUATING NEURAL NETWORKS Neural Network Repository Dataset Learner Evaluator Agent
  • 10. MODULARITY IN DIANNE (3) 10 USE THE MODULES AS LEGO BLOCKS TO BUILD YOUR NEURAL NETWORK
  • 11. IMAGE DIVIDER. POSITION THE TITLE ACCORDING TO THE IMAGE. USE THE WHITE TITLE FOR DARK IMAGES. DEMO TOUR
  • 13. REMOTE SERVICES 13 A B RSA RSA exportServiceimportService CALLING OSGI SERVICES ON DISTRIBUTED INFRASTRUCTURE
  • 14. 14 public class NeuralNetworkInstanceDTO { public UUID id; public String description; public String name; public Map<UUID, ModuleInstanceDTO> modules; } public interface NeuralNetwork { UUID getId(); NeuralNetworkInstanceDTO getNeuralNetworkInstance(); Promise<NeuralNetworkResult> forward(...); Promise<NeuralNetworkResult> backward(...); ... } DATA BEHAVIOR DTOSERVICE DTOS SPLITTING DATA FROM BEHAVIOR
  • 15. DTOS (2) 15 GREAT FOR CONFIGURATION public class SGDConfig { public float learningRate = 0.01f; public float minLearningRate = 0.0f; public float decayRate = 0.0f; … } Map<String, String> config … SGDConfig c = DianneConfigHandler .getConfig(config, SGDConfig.class) SGDProcessor p = new SGDProcessor(c); How to provide configuration to objects * Constructor/method parameters? DTO? Map<String, String>? * for configuring services, use ConfigAdmin
  • 16. NATIVE LIBRARIES 16 FRAGMENTS PROVIDE THE RIGHT NATIVE LIB FOR YOUR PLATFORM Tensors are residing only in native (GPU) memory Build a fragment with Bundle-NativeCode header for each supported platform At runtime, the right fragment resolves and is attached to the host bundle providing the Java objects with native methods Caveat: correct fragment for GPU still has to be selected manually (not automatically provided as capability)
  • 18. PROMISES 18 DIANNE Neural network modules are executed asynchronously NeuralNetwork provides API with promises final NeuralNetwork nn = ...; Tensor batch = loadBatch(); Tensor nextBatch; while(learning){ // do forward-backward pass during training Promise result = nn.forward(batch,…).then( p → { Tensor output = p.getValue().tensor; Tensor grad = calculateGradient(output); return nn.backward(grad); }).then(…); nextBatch = loadBatch(); // already load next batch result.getValue(); // wait for async completion … // flip nextBatch and batch }
  • 19. CONCIERGE 19 A small footprint OSGi core implementation All demos shown during this presentation were running on Concierge Learn more tomorrow: “Getting to the Next Level with Eclipse Concierge” - Schubartsaal, 17h45
  • 20.