urs köster - convolutional and recurrent neural networks

24
Deep Learning Deep Dive & Workshop on Convolutional and Recurrent Neural Networks Urs Köster San Diego Deep Learning Meetup December 2, 2015

Upload: nervana-systems

Post on 13-Apr-2017

5.441 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Urs Köster - Convolutional and Recurrent Neural Networks

Deep Learning Deep Dive & Workshop on Convolutional and Recurrent

Neural Networks

Urs Köster

San Diego Deep Learning Meetup December 2, 2015

Page 2: Urs Köster - Convolutional and Recurrent Neural Networks

Outline

2

• Deep Learning

• Nervana

• Neon

• Convolutional Network Demo (meetup.nervanasys.com)

• Recurrent Network Demo (meetup.nervanasys.com)

Page 3: Urs Köster - Convolutional and Recurrent Neural Networks

INTRO TO DEEP LEARNING

3

Page 4: Urs Köster - Convolutional and Recurrent Neural Networks

4

Scene Parsing

*Yann LeCun https://www.youtube.com/watch?v=ZJMtDRbqH40

Page 5: Urs Köster - Convolutional and Recurrent Neural Networks

5

Speech Translation

*Skype https://www.youtube.com/watch?v=eu9kMIeS0wQ

Page 6: Urs Köster - Convolutional and Recurrent Neural Networks

6

Understanding Images

*Karpathy http://cs.stanford.edu/people/karpathy/deepimagesent/

Page 7: Urs Köster - Convolutional and Recurrent Neural Networks

7

What is deep learning?

Historical perspective:

• Input → designed features → output

• Input → designed features → SVM → output

• Input → learned features → SVM → output

• Input → levels of learned features → output

Page 8: Urs Köster - Convolutional and Recurrent Neural Networks

8

What is deep learning?

A method for extracting features at

multiple levels of abstraction

• Features are discovered from data

• Performance improves with more data

• Network can express complex transformations

• High degree of representational power

Page 9: Urs Köster - Convolutional and Recurrent Neural Networks

9

What is deep learning?

No free lunch:

• lots of data

• flexible models

• powerful priors

Page 10: Urs Köster - Convolutional and Recurrent Neural Networks

10

Imagenet ILSVRC ChallengeError rate1

Source: ImageNet1: ImageNet top 5 error rate

0%

10%

20%

30%

2010 2011 2012 2013 2014 2015

Deep learning techniques human performance

Page 11: Urs Köster - Convolutional and Recurrent Neural Networks

NERVANA PLATFORM

11

Page 12: Urs Köster - Convolutional and Recurrent Neural Networks

12

nervana platform for deep learning

neon deep learning

framework

train deploy

nervana cloud

explore

GPUs

CPUs

nervana engine

AWS

VM

S3 S3

Web

VM VM

VM VM VM

S3

Page 13: Urs Köster - Convolutional and Recurrent Neural Networks

13

Deep learning as a core technology

DL

Photos Maps

Voice Search

Self-driving car

Ad Targeting

Machine Translation

‘Google Brain’ model

DL

Image classification

Image localization

Speech recognition

Video indexing Sentiment

analysis

Machine Translation

Nervana Platform

Page 14: Urs Köster - Convolutional and Recurrent Neural Networks

• Architecture optimized for

algorithm

14

Core technology

• Unprecedented compute density

• Scalable distributed architecture

• Learning and inference

Page 15: Urs Köster - Convolutional and Recurrent Neural Networks

15

Markets

Pharma Oil&Gas AgricultureMedical

$Finance Internet Govt

Page 16: Urs Köster - Convolutional and Recurrent Neural Networks

NEON

16

Page 17: Urs Köster - Convolutional and Recurrent Neural Networks

neon: nervana python deep learning library

17

• User-friendly, extensible, abstracts parallelism & data caching

• Support for many deep learning models

• Interface to nervana cloud

• Multiple backends

• nervana engine

• GPU (optimized on assembler level)

• CPU clusterOpen source (Apache 2.0) on github.com/nervanaSystems/neon

Page 18: Urs Köster - Convolutional and Recurrent Neural Networks

18

Image classification (VGG-D) speed comparison

Speed for one full forward/backward pass on VGG model D

Imag

es p

er s

econ

d

0

20

40

60

80

100

120

Neon Caffe

• Neon trains networks about 2x

faster! • Caffe uses CuDNN v3 (NVidia’s

own optimized library) • Same holds for other models

(GoogLeNet, AlexNet) • And other Frameworks (Torch7,

TensorFlow)

Page 19: Urs Köster - Convolutional and Recurrent Neural Networks

1 Soumith Chintala, github.com/soumith/convnet-benchmarks

Benchmarks for convnets1

19

Benchmarks compiled by Facebook. Smaller is better.

Page 20: Urs Köster - Convolutional and Recurrent Neural Networks

20

End-to-end optimized

• GPU Kernels:

Written in SASS

Assembler, near full

utilization for most

layers • Data Loader: neon

never blocks waiting

for data

LibraryWrapper

DataLoader DataLoader DecodeThreads

start

IOThreads

destroythreadpoolstop

next

...

next

createthreadpool

createthreadpool

destroythreadpool

readmacrobatchfile

decode

decode

decode

macrobatchbuffers

minibatchbuffers(pinned)

rawfilebuffers

Control Codes

Dual issue instr.

Fused fp32 multiply add

Load from shared

Barrier sync

Set barrier

Page 21: Urs Köster - Convolutional and Recurrent Neural Networks

Proprietary and confidential. Do not distribute.

21

Running locally:

% python rnn.py # or neon rnn.yaml

Running in nervana cloud:

% ncloud submit rnn.py # or rnn.yaml

% ncloud show <model_id>

% ncloud list

% ncloud deploy <model_id>

% ncloud predict <model_id> <data> # or use REST api

Page 22: Urs Köster - Convolutional and Recurrent Neural Networks

22

HANDS ON!

• Option 1: Interactive ipython notebook in your

browser without installing anything (you should have

paper slip with your URL and password)

• Option 2: Use your linux or mac laptop to download

neon and try our examples. Get the notebooks and

data from meetup.nervanasys.com

Page 24: Urs Köster - Convolutional and Recurrent Neural Networks

\