SlideShare a Scribd company logo
1 of 34
May 22-25, 2017 | San Francisco
May 22-25, 2017
San Francisco
A Flexible Framework for
Complex Neural Networks
@ OpenPOWER Developer Congress, May 24th, 2017
Nobuyuki Ota
Preferred Networks, Inc.
May 22-25, 2017
San Francisco
Simple neural networks:
“Just deep” convolutional neural network
3
AlexNet, Kryzyevsky+, 2012 ImageNet winner
GoogLeNet, Szegedy+, 2014 ImageNet winner
Residual Network, He+, 2015 ImageNet winner
May 22-25, 2017
San Francisco
Complex neural networks:
Stochastic, densely-connected, hierarchical, recurrent
4
Stochastic Residual Net, Huang+, 2016 FractalNet, Larsson+, 2016
Recurrent NN (LSTM)RoR, Zhang+, 2016Dense CNN, Huang+, 2016
May 22-25, 2017
San Francisco
▶ Chainer is one of the NVIDIA-supported DL frameworks
▶ Chainer uses a unique scheme named Define-by-Run
http://chainer.org/
5
Chainer fits very well to complex neural networks
May 22-25, 2017
San Francisco
Preferred Networks (PFN)
A startup that applies deep learning to industrial IoT
▶ Founded: March 2014
▶ Headquarter:Tokyo, Japan
▶ US subsidiary: SF bay area, California
▶ Company size: 80 engineers & researchers
▶ Investors:Toyota, FANUC, NTT
Deep learning Industrial IoT
Manufacturing
Automotive
Healthcare
May 22-25, 2017
San Francisco
What we do with Chainer:
Partnering with world-leading companies
▶ Applying deep learning to industrial problems with real-world data
▶ Specific requirements, modification to algorithms, many trial-and-errors
▶ Completely different from making general-purpose recognition systems
▶ A proof: PFN won the 2nd prize @ Amazon Picking Challenge 2016
May 22-25, 2017
San Francisco
Two types of background behind DL frameworks
1. Scalability-oriented
▶ Use-cases in mind
▶ Image/speech recognition
system
▶ Fast DL as a service in cloud
▶ Problem type
▶ A few general applications
▶ 10+ million training samples
▶ 10+ nodes cluster w/ fast
network
▶ Possible bottleneck
▶ Tuning of well-known
algorithms
▶ Distributed computation for
model/data-parallel training
2. Flexibility-oriented
▶ Use-cases in mind
▶ New algorithm research
▶ R&D projects for AI products
▶ Problem type
▶ Various specific applications
▶ 10+ k training samples
▶ 1 node with multiple GPUs
▶ Possible bottleneck
▶ Trial-and-error in prototyping
▶ Debugging, profiling &
refactoring
▶ (wait time during compilation)
May 22-25, 2017
San Francisco
Designed for efficient research & development
▶ Flexible: new kinds of complex models for various applications
▶ Intuitive: rapid prototyping and efficient trial-and-error
▶ Powerful: comparable performance for 1 node & multi-GPUs
9
Scalability-oriented Flexibility-oriented
May 22-25, 2017
San Francisco
ChainerMN: Distributed Deep Learning with Chainer
10
May 22-25, 2017
San Francisco
ChainerMN: Distributed Deep Learning with Chainer
▶ Scalable: it makes full use of the latest technologies such as NVIDIA NCCL and CUDA-Aware MPI
▶ Flexible: even dynamic neural networks can be trained in parallel thanks to Chainer's flexibility
▶ Easy: comparable performance for 1 node & multi-GPUs
11
Scalability-oriented Flexibility-oriented
May 22-25, 2017
San Francisco
Agenda
▶ Deep learning framework basics
▶ Basics of Chainer
▶ Chainer features
12
May 22-25, 2017
San Francisco
Neural network and computation
x
1
x
N
・
・
h1
hH
・・・・
k
M
k1
y
M
y1
Forward computation
Backward computation
(backpropagation)
・・
・・
Input Hidden units Output
Text
Image
Sensor
Object:
Tulip
Anomaly score:
0.35
Category:
Sports・
・
・・・・
13
May 22-25, 2017
San Francisco
Building and training neural networks:
Computational graph construction is the key
1. Construct a computational graph
▶ Based on network definition given by users
▶ Chains of functions and operations on input variables
2. Compute loss and gradients
▶ Forward computation to calculate loss for a minibatch
▶ Backpropagation gives gradients to all of parameters
3. Optimize model
▶ Update each parameter with the gradient
▶ Repeat until convergence
Step 1. is the most important and there are many approaches
14
May 22-25, 2017
San Francisco
Building blocks
▶ These functionalities are very similar between frameworks
▶ But the structure, abstraction level, and interface are different
▶ It comes to the design of domain-specific language for NN
Array data structure
(vector/matrix/tensor)
Operations & functions
Network
(computational graph)
Optimizer
(SGD/AdaGrad/Adam)
15
May 22-25, 2017
San Francisco
3 types of domain-specific language:
Network definition to computational graph construction
16
▶ Text DSL
▶ Ex. Caffe (prototxt)
▶ Ex. CNTK (NDL)
# Symbolic definition
A = Variable(‘A’)
B = Variable(‘B’)
C = B * A
D = C + Constant(1)
# Compile
f = compile(D)
d = f(A=np.ones(10),
B=np.ones(10) * 2)
# Imperative declaration
a = np.ones(10)
b = np.ones(10) * 2
c = b * a
d = c + 1
%% Definition in text
f: {
“A”: “Variable”,
“B”: “Variable”,
“C”: [“B”, “*”, “A”],
“ret”: [“C”, “+”, 1]
}
# Compile
f = compile(“f.txt”)
d = f(A=np.ones(10),
B=np.ones(10) * 2)
▶ Symbolic program
▶ Operations on
symbols
▶ Ex.Theano
▶ Ex.TensorFlow
▶ Imperative program
▶ Direct computations
on raw data arrays
▶ Ex.Torch.nn
▶ Ex. Chainer
▶ Ex. MXNet
May 22-25, 2017
San Francisco
Comparison of DSL type
DSL type Pros. Cons.
Text DSL
• Human-readable definition
• Non-programmer can easily edit the
network
• Users must study the format
• Format might have to be extended for
new algorithms
InternalDSL
Symbolic
• Static analysis at compile
• Optimization before training
• Easy to parallelize
• Users must study special syntax
• May need more efforts to implement
new algorithms
Imperative
• Less efforts to learn syntax
• Easy debugging and profiling
• Suitable for new algorithms with
complex logic
• Hard to optimize in advance
• Less efficient in memory allocation
and parallelization
Chainer is at the extreme end of imperative program for high flexibility
17
May 22-25, 2017
San Francisco
Agenda
▶ Deep learning framework basics
▶ Basics of Chainer
▶ Chainer features
18
May 22-25, 2017
San Francisco
Chainer as an open-source project
▶ https://github.com/pfnet/chainer
▶ 115 contributors
▶ 2,504 stars & 643 forks
▶ 8,886 commits
▶ Actively developed
▶ 43 releases from v1.0.0 (June 2015) to v1.24.0 (May 2017)
▶ Average #commits per week > 70
▶ V2.0.0 is planned on May 30th.
19
May 22-25, 2017
San Francisco
CuPy
Chainer software stack
CPU NVIDIA GPU
CUDA
cuDNN
BLAS
NumPy
Chainer
▶ Chainer is built on top of NumPy and CUDA
▶ CuPy is also introduced as an equivalent of NumPy on GPU
20
May 22-25, 2017
San Francisco
Graph build scheme (1/2) - Define-and-Run:
Most of frameworks use this (Chainer does not)
21
Run
Define
▶ Define: build a computational graph based on definition
▶ Run: update the model (parameters) using training dataset
Network
definition
Computational
graph
Gradient
function
Parameters
Computational
graph
Gradient
function
Parameters
Training
data
Update
Loss & gradient
Auto differentiation
21
May 22-25, 2017
San Francisco
Define-by-Run
Graph build scheme (2/2) - Define-by-Run:
Computational graph construction on the fly
▶ No graph is constructed before training
▶ Instead, the graph is built at each forward computation
▶ Computational graph can be modified dynamically
for each iteration/sample or depending on some conditions
Model
definition
Computational
graph
Gradient
function
Parameters
Training
data
Update
Dynamic change
Conditions
May 22-25, 2017
San Francisco
Define-by-Run example: MLP for MNIST
▶ Only transformations between units are set before training
▶ Connection is given as forward computation
l1 = Linear(784, n_units)
l2 = Linear(n_units, 10))
Linear l2Linear l1
x yh1
W
bia
s
0
5
9
W
bia
s
ReLU
def forward(x):
h1 = ReLU(l1(x))
return l2(h1)
23
May 22-25, 2017
San Francisco
Define-by-Run:
An interpreted language for neural network
▶ Advantage
▶ Flexibility for new algorithms with complex components
▶ Ex. recurrent, recursive, densely-connected, dilated, etc
▶ Intuitive coding with highly imperative network definition
▶ Ex. stochastic network of which graph changes for each iteration
▶ Current drawbacks
▶ Graph is generated every time also for fixed networks
▶ No optimization even for static part of graphs
▶ JIT-like analysis and subgraph cache might be useful
May 22-25, 2017
San Francisco
Backpropagation through computational graph
▶ Consider an objective (Link.Linear): L = f(x * w + b)
▶ This computes the value of L in forward computation, and
simultaneously builds the following computational graph
▶ The gradient of L can be computed with respect to
any variables by backpropagation
▶ Then the optimizer updates the value of parameters
*x
W
+
b
f L
is Variable
is Function
25
May 22-25, 2017
San Francisco
Code sample (1/3): Convolutional neural network
class AlexNet(Chain):
def __init__(self):
super(AlexNet, self).__init__(
conv1=L.Convolution2D(3, 96, 11, stride=4),
conv2=L.Convolution2D(96, 256, 5, pad=2),
conv3=L.Convolution2D(256, 384, 3, pad=1),
conv4=L.Convolution2D(384, 384, 3, pad=1),
conv5=L.Convolution2D(384, 256, 3, pad=1),
fc6=L.Linear(9216, 4096),
fc7=L.Linear(4096, 4096),
fc8=L.Linear(4096, 1000),
)
def __call__(self, x, t):
h = F.max_pooling_2d(F.relu(
F.local_response_normalization(self.conv1(x))), 3,stride=2)
h = F.max_pooling_2d(F.relu(
F.local_response_normalization(self.conv2(h))), 3,stride=2)
h = F.relu(self.conv3(h))
h = F.relu(self.conv4(h))
h = F.max_pooling_2d(F.relu(self.conv5(h)), 3, stride=2)
h = F.dropout(F.relu(self.fc6(h)), train=self.train)
h = F.dropout(F.relu(self.fc7(h)), train=self.train)
y = self.fc8(h)
return y
* ImageNet Classification with Deep Convolutional Neural Networks
http://www.image-net.org/challenges/LSVRC/2012/supervision.pdf
conv2d
conv2d
conv2d
conv2d
conv2d
linear
linear
26
linear
May 22-25, 2017
San Francisco
Code sample (2/3): Recurrent neural network
class SimpleRNN(Chain):
def __init__(self, n_vocab, n_units):
super(SimpleRNN, self).__init__(
embed=L.EmbedID(n_vocab, n_units)
x2h=L.Linear(n_units, n_units),
h2h=L.Linear(n_units, n_units),
h2y=L.Linear(n_units, n_vocab),)
self.h = None
def __call__(self, x):
y, h_new = self.fwd_one_step(x, self.h)
self.h = h_new
return y
def fwd_one_step(self, x, h):
x = F.tanh(self.embed(x))
if h is None:
h = F.tanh(self.x2h(x))
else:
h = F.tanh(self.x2h(x) + self.h2h(h))
y = F.softmax(self.h2y(h))
return y, h
x_1 h y_1
x_2 h y_2
x_3 h y_3
t=1
t=2
t=3
x_4 h y_4t=4
BPTT length = 3
Input word OutputRecurrent state
# Truncated BPTT (length=3)
for i in range(0, datasize, batchsize):
...
accum_loss += model(x, t)
if i % bptt_length == 0:
model.zerograds()
accum_loss.backward()
accum_loss.unchain_backward()
optimizer.update()
27
May 22-25, 2017
San Francisco
Code sample (3/3): Stochastic Residual Network
28
▶ A variant of Residual Net that skips connections stochastically
▶ Outperformed the original Residual Net (ImageNet 2015 winner, MSR)
▶ Stochastic skip:
Taken from http://arxiv.org/abs/1603.09382v2
G. Huang et al.
# Mock code in Chainer
class StochasticResNet(Chain):
def __init__(self, prob, size, …):
super(StochasticResNet, size, …).__init__(
## Define f[i] as same for Residual Net )
self.p = prob # Survival probabilities
def __call__(self, h):
for i in range(self.size):
b = numpy.random.binomial(1, self.p[i])
c = self.f[i](h) + h if b == 1 else h
h = F.relu(c)
return h
w/ survival probability:
May 22-25, 2017
San Francisco
Agenda
▶ Deep learning framework basics
▶ Basics of Chainer
▶ Chainer features
29
May 22-25, 2017
San Francisco
Easy to debug during forward computation
# MNIST input has 784 dimensions, not 748
def __init__(self):
super(MLP3Wrong, self).__init__(
l1=L.Linear(748, 100),
l2=L.Linear(100, 100),
l3=L.Linear(100, 10)
)
Error stack trace in IPython
(Will be more clean soon)
Where the error actually happened in forward computation
Type is checked at the numpy array level
May 22-25, 2017
San Francisco
CuPy: (partially-)NumPy-compatible GPU library
▶ Motivation: NumPy + CUDA = CuPy
▶ NumPy is the standard library in Python for
numerical computation
▶ Unfortunately NumPy does NOT work with CUDA,
instead CuPy does it
▶ CuPy supports:
▶ NVIDIA cuBLAS and cuDNN for faster computation
▶ User-defined functions and CUDA kernels
▶ Array indexing, slicing, transpose, and reshape
▶ All dtypes, broadcasting, memory pool, etc
31
May 22-25, 2017
San Francisco
Use CuPy just like NumPy
▶ Conversion between numpy.ndarray and cupy.ndarray
▶ Speed-up by CuPy over NumPy: 5 to 25 times
32
msec speed up
NumPy 2,929 1.0
CuPy 585 5.0
CuPy + Memory Pool 123 23.8
Intel Core i7-4790 @3.60GHz, 32GB, GeForce GTX 970
def test(xp):
a = xp.arange(1000000).reshape(1000, -1)
return a.T * 2
for i in range(1000):
test(numpy)
for i in range(1000):
test(cupy)
w_c = cupy.asarray(numpy.ones(10)) # cupy.ndarray
w_n = cupy.asnumpy(cupy.ones(10)) # numpy.ndarray
May 22-25, 2017
San Francisco
Training loop abstraction (from v1.11.0):
Manual training loop is not necessary
▶ Dataset & Iterator: dataset manipulation over iterations
▶ Trainer & Updater: execute training loops w/ settings
▶ Extension: do something else during training loops
▶ Ex. dump_graph(), snapshot, LogReport, ProgressBar,
33Progress & estimate
Reporting
for each epoch
Training dataset
& loop settings
May 22-25, 2017
San Francisco
Summary
▶ Chainer is a Python-based deep learning framework
with dynamic network construction scheme and CuPy
▶ It is designed for efficient research and prototyping while
keeping comparable performance and actively improving
▶ Official web: http://chainer.org/
▶ Github: https://github.com/pfnet/chainer
Your contributions will be appreciated & we are hiring!
34

More Related Content

What's hot

AWS re:Invent 2016: Using MXNet for Recommendation Modeling at Scale (MAC306)
AWS re:Invent 2016: Using MXNet for Recommendation Modeling at Scale (MAC306)AWS re:Invent 2016: Using MXNet for Recommendation Modeling at Scale (MAC306)
AWS re:Invent 2016: Using MXNet for Recommendation Modeling at Scale (MAC306)Amazon Web Services
 
[Thomas chamberlain] learning_om_ne_t++(z-lib.org)
[Thomas chamberlain] learning_om_ne_t++(z-lib.org)[Thomas chamberlain] learning_om_ne_t++(z-lib.org)
[Thomas chamberlain] learning_om_ne_t++(z-lib.org)wissem hammouda
 
Deep Learning with TensorFlow: Understanding Tensors, Computations Graphs, Im...
Deep Learning with TensorFlow: Understanding Tensors, Computations Graphs, Im...Deep Learning with TensorFlow: Understanding Tensors, Computations Graphs, Im...
Deep Learning with TensorFlow: Understanding Tensors, Computations Graphs, Im...Altoros
 
Common Design of Deep Learning Frameworks
Common Design of Deep Learning FrameworksCommon Design of Deep Learning Frameworks
Common Design of Deep Learning FrameworksKenta Oono
 
Basic ideas on keras framework
Basic ideas on keras frameworkBasic ideas on keras framework
Basic ideas on keras frameworkAlison Marczewski
 
Deep learning with TensorFlow
Deep learning with TensorFlowDeep learning with TensorFlow
Deep learning with TensorFlowNdjido Ardo BAR
 
Anomaly Detection at Scale
Anomaly Detection at ScaleAnomaly Detection at Scale
Anomaly Detection at ScaleJeff Henrikson
 
Introduction to Recurrent Neural Network
Introduction to Recurrent Neural NetworkIntroduction to Recurrent Neural Network
Introduction to Recurrent Neural NetworkYan Xu
 
Koss Lab 세미나 오픈소스 인공지능(AI) 프레임웍파헤치기
Koss Lab 세미나 오픈소스 인공지능(AI) 프레임웍파헤치기 Koss Lab 세미나 오픈소스 인공지능(AI) 프레임웍파헤치기
Koss Lab 세미나 오픈소스 인공지능(AI) 프레임웍파헤치기 Mario Cho
 
Large Scale Deep Learning with TensorFlow
Large Scale Deep Learning with TensorFlow Large Scale Deep Learning with TensorFlow
Large Scale Deep Learning with TensorFlow Jen Aman
 
Diving into Deep Learning (Silicon Valley Code Camp 2017)
Diving into Deep Learning (Silicon Valley Code Camp 2017)Diving into Deep Learning (Silicon Valley Code Camp 2017)
Diving into Deep Learning (Silicon Valley Code Camp 2017)Oswald Campesato
 
First steps with Keras 2: A tutorial with Examples
First steps with Keras 2: A tutorial with ExamplesFirst steps with Keras 2: A tutorial with Examples
First steps with Keras 2: A tutorial with ExamplesFelipe
 
Convolutional Neural Networks for Computer vision Applications
Convolutional Neural Networks for Computer vision ApplicationsConvolutional Neural Networks for Computer vision Applications
Convolutional Neural Networks for Computer vision ApplicationsAlex Conway
 
Applying your Convolutional Neural Networks
Applying your Convolutional Neural NetworksApplying your Convolutional Neural Networks
Applying your Convolutional Neural NetworksDatabricks
 
Mastering Computer Vision Problems with State-of-the-art Deep Learning
Mastering Computer Vision Problems with State-of-the-art Deep LearningMastering Computer Vision Problems with State-of-the-art Deep Learning
Mastering Computer Vision Problems with State-of-the-art Deep LearningMiguel González-Fierro
 
Getting Started with OpenStack from Hong Kong Summit Session November 5
Getting Started with OpenStack from Hong Kong Summit Session November 5Getting Started with OpenStack from Hong Kong Summit Session November 5
Getting Started with OpenStack from Hong Kong Summit Session November 5Niki Acosta
 
Introduction to Neural Networks in Tensorflow
Introduction to Neural Networks in TensorflowIntroduction to Neural Networks in Tensorflow
Introduction to Neural Networks in TensorflowNicholas McClure
 

What's hot (20)

TensorFlow
TensorFlowTensorFlow
TensorFlow
 
AWS re:Invent 2016: Using MXNet for Recommendation Modeling at Scale (MAC306)
AWS re:Invent 2016: Using MXNet for Recommendation Modeling at Scale (MAC306)AWS re:Invent 2016: Using MXNet for Recommendation Modeling at Scale (MAC306)
AWS re:Invent 2016: Using MXNet for Recommendation Modeling at Scale (MAC306)
 
[Thomas chamberlain] learning_om_ne_t++(z-lib.org)
[Thomas chamberlain] learning_om_ne_t++(z-lib.org)[Thomas chamberlain] learning_om_ne_t++(z-lib.org)
[Thomas chamberlain] learning_om_ne_t++(z-lib.org)
 
Deep Learning with TensorFlow: Understanding Tensors, Computations Graphs, Im...
Deep Learning with TensorFlow: Understanding Tensors, Computations Graphs, Im...Deep Learning with TensorFlow: Understanding Tensors, Computations Graphs, Im...
Deep Learning with TensorFlow: Understanding Tensors, Computations Graphs, Im...
 
Common Design of Deep Learning Frameworks
Common Design of Deep Learning FrameworksCommon Design of Deep Learning Frameworks
Common Design of Deep Learning Frameworks
 
Basic ideas on keras framework
Basic ideas on keras frameworkBasic ideas on keras framework
Basic ideas on keras framework
 
Deep learning with TensorFlow
Deep learning with TensorFlowDeep learning with TensorFlow
Deep learning with TensorFlow
 
Anomaly Detection at Scale
Anomaly Detection at ScaleAnomaly Detection at Scale
Anomaly Detection at Scale
 
Introduction to Recurrent Neural Network
Introduction to Recurrent Neural NetworkIntroduction to Recurrent Neural Network
Introduction to Recurrent Neural Network
 
Koss Lab 세미나 오픈소스 인공지능(AI) 프레임웍파헤치기
Koss Lab 세미나 오픈소스 인공지능(AI) 프레임웍파헤치기 Koss Lab 세미나 오픈소스 인공지능(AI) 프레임웍파헤치기
Koss Lab 세미나 오픈소스 인공지능(AI) 프레임웍파헤치기
 
Large Scale Deep Learning with TensorFlow
Large Scale Deep Learning with TensorFlow Large Scale Deep Learning with TensorFlow
Large Scale Deep Learning with TensorFlow
 
Intro to Python
Intro to PythonIntro to Python
Intro to Python
 
Diving into Deep Learning (Silicon Valley Code Camp 2017)
Diving into Deep Learning (Silicon Valley Code Camp 2017)Diving into Deep Learning (Silicon Valley Code Camp 2017)
Diving into Deep Learning (Silicon Valley Code Camp 2017)
 
First steps with Keras 2: A tutorial with Examples
First steps with Keras 2: A tutorial with ExamplesFirst steps with Keras 2: A tutorial with Examples
First steps with Keras 2: A tutorial with Examples
 
Convolutional Neural Networks for Computer vision Applications
Convolutional Neural Networks for Computer vision ApplicationsConvolutional Neural Networks for Computer vision Applications
Convolutional Neural Networks for Computer vision Applications
 
Applying your Convolutional Neural Networks
Applying your Convolutional Neural NetworksApplying your Convolutional Neural Networks
Applying your Convolutional Neural Networks
 
Mastering Computer Vision Problems with State-of-the-art Deep Learning
Mastering Computer Vision Problems with State-of-the-art Deep LearningMastering Computer Vision Problems with State-of-the-art Deep Learning
Mastering Computer Vision Problems with State-of-the-art Deep Learning
 
TensorFlow in 3 sentences
TensorFlow in 3 sentencesTensorFlow in 3 sentences
TensorFlow in 3 sentences
 
Getting Started with OpenStack from Hong Kong Summit Session November 5
Getting Started with OpenStack from Hong Kong Summit Session November 5Getting Started with OpenStack from Hong Kong Summit Session November 5
Getting Started with OpenStack from Hong Kong Summit Session November 5
 
Introduction to Neural Networks in Tensorflow
Introduction to Neural Networks in TensorflowIntroduction to Neural Networks in Tensorflow
Introduction to Neural Networks in Tensorflow
 

Viewers also liked

Lecture univ.tokyo 2017_okanohara
Lecture univ.tokyo 2017_okanoharaLecture univ.tokyo 2017_okanohara
Lecture univ.tokyo 2017_okanoharaPreferred Networks
 
20171024 DLLab#04_PFN_Hiroshi Maruyama
20171024 DLLab#04_PFN_Hiroshi Maruyama20171024 DLLab#04_PFN_Hiroshi Maruyama
20171024 DLLab#04_PFN_Hiroshi MaruyamaPreferred Networks
 
Gatsby kaken-2017-pfn okanohara
Gatsby kaken-2017-pfn okanoharaGatsby kaken-2017-pfn okanohara
Gatsby kaken-2017-pfn okanoharaPreferred Networks
 
20170419PFNオープンハウス リサーチャーの仕事_公開用
20170419PFNオープンハウス リサーチャーの仕事_公開用20170419PFNオープンハウス リサーチャーの仕事_公開用
20170419PFNオープンハウス リサーチャーの仕事_公開用Preferred Networks
 
文法圧縮入門:超高速テキスト処理のためのデータ圧縮(NLP2014チュートリアル)
文法圧縮入門:超高速テキスト処理のためのデータ圧縮(NLP2014チュートリアル)文法圧縮入門:超高速テキスト処理のためのデータ圧縮(NLP2014チュートリアル)
文法圧縮入門:超高速テキスト処理のためのデータ圧縮(NLP2014チュートリアル)Shirou Maruyama
 
Deep Learning Lab: DIMo & Chainer
Deep Learning Lab: DIMo & ChainerDeep Learning Lab: DIMo & Chainer
Deep Learning Lab: DIMo & ChainerPreferred Networks
 
20170419PFNオープンハウス インターンと採用 公開用
20170419PFNオープンハウス  インターンと採用 公開用20170419PFNオープンハウス  インターンと採用 公開用
20170419PFNオープンハウス インターンと採用 公開用Preferred Networks
 
IPAB2017 深層学習を使った新薬の探索から創造へ
IPAB2017 深層学習を使った新薬の探索から創造へIPAB2017 深層学習を使った新薬の探索から創造へ
IPAB2017 深層学習を使った新薬の探索から創造へPreferred Networks
 

Viewers also liked (11)

Lecture univ.tokyo 2017_okanohara
Lecture univ.tokyo 2017_okanoharaLecture univ.tokyo 2017_okanohara
Lecture univ.tokyo 2017_okanohara
 
20171024 DLLab#04_PFN_Hiroshi Maruyama
20171024 DLLab#04_PFN_Hiroshi Maruyama20171024 DLLab#04_PFN_Hiroshi Maruyama
20171024 DLLab#04_PFN_Hiroshi Maruyama
 
comp_pfiseminar
comp_pfiseminarcomp_pfiseminar
comp_pfiseminar
 
Gatsby kaken-2017-pfn okanohara
Gatsby kaken-2017-pfn okanoharaGatsby kaken-2017-pfn okanohara
Gatsby kaken-2017-pfn okanohara
 
20170419PFNオープンハウス リサーチャーの仕事_公開用
20170419PFNオープンハウス リサーチャーの仕事_公開用20170419PFNオープンハウス リサーチャーの仕事_公開用
20170419PFNオープンハウス リサーチャーの仕事_公開用
 
文法圧縮入門:超高速テキスト処理のためのデータ圧縮(NLP2014チュートリアル)
文法圧縮入門:超高速テキスト処理のためのデータ圧縮(NLP2014チュートリアル)文法圧縮入門:超高速テキスト処理のためのデータ圧縮(NLP2014チュートリアル)
文法圧縮入門:超高速テキスト処理のためのデータ圧縮(NLP2014チュートリアル)
 
Deep Learning Lab: DIMo & Chainer
Deep Learning Lab: DIMo & ChainerDeep Learning Lab: DIMo & Chainer
Deep Learning Lab: DIMo & Chainer
 
Introduction to Chainer
Introduction to ChainerIntroduction to Chainer
Introduction to Chainer
 
20170419PFNオープンハウス インターンと採用 公開用
20170419PFNオープンハウス  インターンと採用 公開用20170419PFNオープンハウス  インターンと採用 公開用
20170419PFNオープンハウス インターンと採用 公開用
 
IPAB2017 深層学習を使った新薬の探索から創造へ
IPAB2017 深層学習を使った新薬の探索から創造へIPAB2017 深層学習を使った新薬の探索から創造へ
IPAB2017 深層学習を使った新薬の探索から創造へ
 
Deep parking
Deep parkingDeep parking
Deep parking
 

Similar to Chainer OpenPOWER developer congress HandsON 20170522_ota

Update on the Mont-Blanc Project for ARM-based HPC
Update on the Mont-Blanc Project for ARM-based HPCUpdate on the Mont-Blanc Project for ARM-based HPC
Update on the Mont-Blanc Project for ARM-based HPCinside-BigData.com
 
Deep learning: challenges and applications
Deep learning: challenges and  applicationsDeep learning: challenges and  applications
Deep learning: challenges and applicationsAboul Ella Hassanien
 
Accelerating TensorFlow with RDMA for high-performance deep learning
Accelerating TensorFlow with RDMA for high-performance deep learningAccelerating TensorFlow with RDMA for high-performance deep learning
Accelerating TensorFlow with RDMA for high-performance deep learningDataWorks Summit
 
SDN :: Software Defined Networking –2017 Executive Overview
SDN :: Software Defined Networking –2017 Executive OverviewSDN :: Software Defined Networking –2017 Executive Overview
SDN :: Software Defined Networking –2017 Executive OverviewChristian Esteve Rothenberg
 
OpenACC Highlights - March
OpenACC Highlights - MarchOpenACC Highlights - March
OpenACC Highlights - MarchNVIDIA
 
OpenACC Monthly Highlights: February 2021
OpenACC Monthly Highlights: February 2021OpenACC Monthly Highlights: February 2021
OpenACC Monthly Highlights: February 2021OpenACC
 
Convolutional Neural Networks - Xavier Giro - UPC TelecomBCN Barcelona 2020
Convolutional Neural Networks - Xavier Giro - UPC TelecomBCN Barcelona 2020Convolutional Neural Networks - Xavier Giro - UPC TelecomBCN Barcelona 2020
Convolutional Neural Networks - Xavier Giro - UPC TelecomBCN Barcelona 2020Universitat Politècnica de Catalunya
 
OpenACC and Open Hackathons Monthly Highlights: July 2022.pptx
OpenACC and Open Hackathons Monthly Highlights: July 2022.pptxOpenACC and Open Hackathons Monthly Highlights: July 2022.pptx
OpenACC and Open Hackathons Monthly Highlights: July 2022.pptxOpenACC
 
Automatic image moderation in classifieds
Automatic image moderation in classifiedsAutomatic image moderation in classifieds
Automatic image moderation in classifiedsJaroslaw Szymczak
 
Automatic image moderation in classifieds, Jarosław Szymczak
Automatic image moderation in classifieds, Jarosław SzymczakAutomatic image moderation in classifieds, Jarosław Szymczak
Automatic image moderation in classifieds, Jarosław SzymczakPôle Systematic Paris-Region
 
DLD meetup 2017, Efficient Deep Learning
DLD meetup 2017, Efficient Deep LearningDLD meetup 2017, Efficient Deep Learning
DLD meetup 2017, Efficient Deep LearningBrodmann17
 
No More Cumbersomeness: Automatic Predictive Modeling on Apache Spark with Ma...
No More Cumbersomeness: Automatic Predictive Modeling on Apache Spark with Ma...No More Cumbersomeness: Automatic Predictive Modeling on Apache Spark with Ma...
No More Cumbersomeness: Automatic Predictive Modeling on Apache Spark with Ma...Databricks
 
Machine Learning with JavaScript
Machine Learning with JavaScriptMachine Learning with JavaScript
Machine Learning with JavaScriptIvo Andreev
 
Top 10 present and future innovations in the NoSQL Cassandra ecosystem (2022)
Top 10 present and future innovations in the NoSQL Cassandra ecosystem (2022)Top 10 present and future innovations in the NoSQL Cassandra ecosystem (2022)
Top 10 present and future innovations in the NoSQL Cassandra ecosystem (2022)Cédrick Lunven
 
No More Cumbersomeness: Automatic Predictive Modeling on Apache Spark with Ma...
No More Cumbersomeness: Automatic Predictive Modeling on Apache Spark with Ma...No More Cumbersomeness: Automatic Predictive Modeling on Apache Spark with Ma...
No More Cumbersomeness: Automatic Predictive Modeling on Apache Spark with Ma...Databricks
 
OpenACC and Open Hackathons Monthly Highlights June 2022.pdf
OpenACC and Open Hackathons Monthly Highlights June 2022.pdfOpenACC and Open Hackathons Monthly Highlights June 2022.pdf
OpenACC and Open Hackathons Monthly Highlights June 2022.pdfOpenACC
 
OpenACC Monthly Highlights: January 2021
OpenACC Monthly Highlights: January 2021OpenACC Monthly Highlights: January 2021
OpenACC Monthly Highlights: January 2021OpenACC
 
Readinggroup xiang 24112016
Readinggroup xiang 24112016Readinggroup xiang 24112016
Readinggroup xiang 24112016Xiang Zhang
 
CV_Virendra
CV_VirendraCV_Virendra
CV_Virendratiet
 
"Demystifying Deep Neural Networks," a Presentation from BDTI
"Demystifying Deep Neural Networks," a Presentation from BDTI"Demystifying Deep Neural Networks," a Presentation from BDTI
"Demystifying Deep Neural Networks," a Presentation from BDTIEdge AI and Vision Alliance
 

Similar to Chainer OpenPOWER developer congress HandsON 20170522_ota (20)

Update on the Mont-Blanc Project for ARM-based HPC
Update on the Mont-Blanc Project for ARM-based HPCUpdate on the Mont-Blanc Project for ARM-based HPC
Update on the Mont-Blanc Project for ARM-based HPC
 
Deep learning: challenges and applications
Deep learning: challenges and  applicationsDeep learning: challenges and  applications
Deep learning: challenges and applications
 
Accelerating TensorFlow with RDMA for high-performance deep learning
Accelerating TensorFlow with RDMA for high-performance deep learningAccelerating TensorFlow with RDMA for high-performance deep learning
Accelerating TensorFlow with RDMA for high-performance deep learning
 
SDN :: Software Defined Networking –2017 Executive Overview
SDN :: Software Defined Networking –2017 Executive OverviewSDN :: Software Defined Networking –2017 Executive Overview
SDN :: Software Defined Networking –2017 Executive Overview
 
OpenACC Highlights - March
OpenACC Highlights - MarchOpenACC Highlights - March
OpenACC Highlights - March
 
OpenACC Monthly Highlights: February 2021
OpenACC Monthly Highlights: February 2021OpenACC Monthly Highlights: February 2021
OpenACC Monthly Highlights: February 2021
 
Convolutional Neural Networks - Xavier Giro - UPC TelecomBCN Barcelona 2020
Convolutional Neural Networks - Xavier Giro - UPC TelecomBCN Barcelona 2020Convolutional Neural Networks - Xavier Giro - UPC TelecomBCN Barcelona 2020
Convolutional Neural Networks - Xavier Giro - UPC TelecomBCN Barcelona 2020
 
OpenACC and Open Hackathons Monthly Highlights: July 2022.pptx
OpenACC and Open Hackathons Monthly Highlights: July 2022.pptxOpenACC and Open Hackathons Monthly Highlights: July 2022.pptx
OpenACC and Open Hackathons Monthly Highlights: July 2022.pptx
 
Automatic image moderation in classifieds
Automatic image moderation in classifiedsAutomatic image moderation in classifieds
Automatic image moderation in classifieds
 
Automatic image moderation in classifieds, Jarosław Szymczak
Automatic image moderation in classifieds, Jarosław SzymczakAutomatic image moderation in classifieds, Jarosław Szymczak
Automatic image moderation in classifieds, Jarosław Szymczak
 
DLD meetup 2017, Efficient Deep Learning
DLD meetup 2017, Efficient Deep LearningDLD meetup 2017, Efficient Deep Learning
DLD meetup 2017, Efficient Deep Learning
 
No More Cumbersomeness: Automatic Predictive Modeling on Apache Spark with Ma...
No More Cumbersomeness: Automatic Predictive Modeling on Apache Spark with Ma...No More Cumbersomeness: Automatic Predictive Modeling on Apache Spark with Ma...
No More Cumbersomeness: Automatic Predictive Modeling on Apache Spark with Ma...
 
Machine Learning with JavaScript
Machine Learning with JavaScriptMachine Learning with JavaScript
Machine Learning with JavaScript
 
Top 10 present and future innovations in the NoSQL Cassandra ecosystem (2022)
Top 10 present and future innovations in the NoSQL Cassandra ecosystem (2022)Top 10 present and future innovations in the NoSQL Cassandra ecosystem (2022)
Top 10 present and future innovations in the NoSQL Cassandra ecosystem (2022)
 
No More Cumbersomeness: Automatic Predictive Modeling on Apache Spark with Ma...
No More Cumbersomeness: Automatic Predictive Modeling on Apache Spark with Ma...No More Cumbersomeness: Automatic Predictive Modeling on Apache Spark with Ma...
No More Cumbersomeness: Automatic Predictive Modeling on Apache Spark with Ma...
 
OpenACC and Open Hackathons Monthly Highlights June 2022.pdf
OpenACC and Open Hackathons Monthly Highlights June 2022.pdfOpenACC and Open Hackathons Monthly Highlights June 2022.pdf
OpenACC and Open Hackathons Monthly Highlights June 2022.pdf
 
OpenACC Monthly Highlights: January 2021
OpenACC Monthly Highlights: January 2021OpenACC Monthly Highlights: January 2021
OpenACC Monthly Highlights: January 2021
 
Readinggroup xiang 24112016
Readinggroup xiang 24112016Readinggroup xiang 24112016
Readinggroup xiang 24112016
 
CV_Virendra
CV_VirendraCV_Virendra
CV_Virendra
 
"Demystifying Deep Neural Networks," a Presentation from BDTI
"Demystifying Deep Neural Networks," a Presentation from BDTI"Demystifying Deep Neural Networks," a Presentation from BDTI
"Demystifying Deep Neural Networks," a Presentation from BDTI
 

More from Preferred Networks

PodSecurityPolicy からGatekeeper に移行しました / Kubernetes Meetup Tokyo #57
PodSecurityPolicy からGatekeeper に移行しました / Kubernetes Meetup Tokyo #57PodSecurityPolicy からGatekeeper に移行しました / Kubernetes Meetup Tokyo #57
PodSecurityPolicy からGatekeeper に移行しました / Kubernetes Meetup Tokyo #57Preferred Networks
 
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3Preferred Networks
 
Kubernetes + containerd で cgroup v2 に移行したら "failed to create fsnotify watcher...
Kubernetes + containerd で cgroup v2 に移行したら "failed to create fsnotify watcher...Kubernetes + containerd で cgroup v2 に移行したら "failed to create fsnotify watcher...
Kubernetes + containerd で cgroup v2 に移行したら "failed to create fsnotify watcher...Preferred Networks
 
深層学習の新しい応用と、 それを支える計算機の進化 - Preferred Networks CEO 西川徹 (SEMICON Japan 2022 Ke...
深層学習の新しい応用と、 それを支える計算機の進化 - Preferred Networks CEO 西川徹 (SEMICON Japan 2022 Ke...深層学習の新しい応用と、 それを支える計算機の進化 - Preferred Networks CEO 西川徹 (SEMICON Japan 2022 Ke...
深層学習の新しい応用と、 それを支える計算機の進化 - Preferred Networks CEO 西川徹 (SEMICON Japan 2022 Ke...Preferred Networks
 
Kubernetes ControllerをScale-Outさせる方法 / Kubernetes Meetup Tokyo #55
Kubernetes ControllerをScale-Outさせる方法 / Kubernetes Meetup Tokyo #55Kubernetes ControllerをScale-Outさせる方法 / Kubernetes Meetup Tokyo #55
Kubernetes ControllerをScale-Outさせる方法 / Kubernetes Meetup Tokyo #55Preferred Networks
 
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2Preferred Networks
 
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2Preferred Networks
 
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2Preferred Networks
 
スタートアップが提案する2030年の材料開発 - 2022/11/11 QPARC講演
スタートアップが提案する2030年の材料開発 - 2022/11/11 QPARC講演スタートアップが提案する2030年の材料開発 - 2022/11/11 QPARC講演
スタートアップが提案する2030年の材料開発 - 2022/11/11 QPARC講演Preferred Networks
 
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)Preferred Networks
 
PFNにおける研究開発(2022/10/19 東大大学院「融合情報学特別講義Ⅲ」)
PFNにおける研究開発(2022/10/19 東大大学院「融合情報学特別講義Ⅲ」)PFNにおける研究開発(2022/10/19 東大大学院「融合情報学特別講義Ⅲ」)
PFNにおける研究開発(2022/10/19 東大大学院「融合情報学特別講義Ⅲ」)Preferred Networks
 
自然言語処理を 役立てるのはなぜ難しいのか(2022/10/25東大大学院「自然言語処理応用」)
自然言語処理を 役立てるのはなぜ難しいのか(2022/10/25東大大学院「自然言語処理応用」)自然言語処理を 役立てるのはなぜ難しいのか(2022/10/25東大大学院「自然言語処理応用」)
自然言語処理を 役立てるのはなぜ難しいのか(2022/10/25東大大学院「自然言語処理応用」)Preferred Networks
 
Kubernetes にこれから入るかもしれない注目機能!(2022年11月版) / TechFeed Experts Night #7 〜 コンテナ技術を語る
Kubernetes にこれから入るかもしれない注目機能!(2022年11月版) / TechFeed Experts Night #7 〜 コンテナ技術を語るKubernetes にこれから入るかもしれない注目機能!(2022年11月版) / TechFeed Experts Night #7 〜 コンテナ技術を語る
Kubernetes にこれから入るかもしれない注目機能!(2022年11月版) / TechFeed Experts Night #7 〜 コンテナ技術を語るPreferred Networks
 
Matlantis™のニューラルネットワークポテンシャルPFPの適用範囲拡張
Matlantis™のニューラルネットワークポテンシャルPFPの適用範囲拡張Matlantis™のニューラルネットワークポテンシャルPFPの適用範囲拡張
Matlantis™のニューラルネットワークポテンシャルPFPの適用範囲拡張Preferred Networks
 
PFNのオンプレ計算機クラスタの取り組み_第55回情報科学若手の会
PFNのオンプレ計算機クラスタの取り組み_第55回情報科学若手の会PFNのオンプレ計算機クラスタの取り組み_第55回情報科学若手の会
PFNのオンプレ計算機クラスタの取り組み_第55回情報科学若手の会Preferred Networks
 
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2Preferred Networks
 
Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...
Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...
Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...Preferred Networks
 
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...Preferred Networks
 
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...Preferred Networks
 
独断と偏見で選んだ Kubernetes 1.24 の注目機能と今後! / Kubernetes Meetup Tokyo 50
独断と偏見で選んだ Kubernetes 1.24 の注目機能と今後! / Kubernetes Meetup Tokyo 50独断と偏見で選んだ Kubernetes 1.24 の注目機能と今後! / Kubernetes Meetup Tokyo 50
独断と偏見で選んだ Kubernetes 1.24 の注目機能と今後! / Kubernetes Meetup Tokyo 50Preferred Networks
 

More from Preferred Networks (20)

PodSecurityPolicy からGatekeeper に移行しました / Kubernetes Meetup Tokyo #57
PodSecurityPolicy からGatekeeper に移行しました / Kubernetes Meetup Tokyo #57PodSecurityPolicy からGatekeeper に移行しました / Kubernetes Meetup Tokyo #57
PodSecurityPolicy からGatekeeper に移行しました / Kubernetes Meetup Tokyo #57
 
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3
 
Kubernetes + containerd で cgroup v2 に移行したら "failed to create fsnotify watcher...
Kubernetes + containerd で cgroup v2 に移行したら "failed to create fsnotify watcher...Kubernetes + containerd で cgroup v2 に移行したら "failed to create fsnotify watcher...
Kubernetes + containerd で cgroup v2 に移行したら "failed to create fsnotify watcher...
 
深層学習の新しい応用と、 それを支える計算機の進化 - Preferred Networks CEO 西川徹 (SEMICON Japan 2022 Ke...
深層学習の新しい応用と、 それを支える計算機の進化 - Preferred Networks CEO 西川徹 (SEMICON Japan 2022 Ke...深層学習の新しい応用と、 それを支える計算機の進化 - Preferred Networks CEO 西川徹 (SEMICON Japan 2022 Ke...
深層学習の新しい応用と、 それを支える計算機の進化 - Preferred Networks CEO 西川徹 (SEMICON Japan 2022 Ke...
 
Kubernetes ControllerをScale-Outさせる方法 / Kubernetes Meetup Tokyo #55
Kubernetes ControllerをScale-Outさせる方法 / Kubernetes Meetup Tokyo #55Kubernetes ControllerをScale-Outさせる方法 / Kubernetes Meetup Tokyo #55
Kubernetes ControllerをScale-Outさせる方法 / Kubernetes Meetup Tokyo #55
 
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2
 
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
 
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
 
スタートアップが提案する2030年の材料開発 - 2022/11/11 QPARC講演
スタートアップが提案する2030年の材料開発 - 2022/11/11 QPARC講演スタートアップが提案する2030年の材料開発 - 2022/11/11 QPARC講演
スタートアップが提案する2030年の材料開発 - 2022/11/11 QPARC講演
 
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
 
PFNにおける研究開発(2022/10/19 東大大学院「融合情報学特別講義Ⅲ」)
PFNにおける研究開発(2022/10/19 東大大学院「融合情報学特別講義Ⅲ」)PFNにおける研究開発(2022/10/19 東大大学院「融合情報学特別講義Ⅲ」)
PFNにおける研究開発(2022/10/19 東大大学院「融合情報学特別講義Ⅲ」)
 
自然言語処理を 役立てるのはなぜ難しいのか(2022/10/25東大大学院「自然言語処理応用」)
自然言語処理を 役立てるのはなぜ難しいのか(2022/10/25東大大学院「自然言語処理応用」)自然言語処理を 役立てるのはなぜ難しいのか(2022/10/25東大大学院「自然言語処理応用」)
自然言語処理を 役立てるのはなぜ難しいのか(2022/10/25東大大学院「自然言語処理応用」)
 
Kubernetes にこれから入るかもしれない注目機能!(2022年11月版) / TechFeed Experts Night #7 〜 コンテナ技術を語る
Kubernetes にこれから入るかもしれない注目機能!(2022年11月版) / TechFeed Experts Night #7 〜 コンテナ技術を語るKubernetes にこれから入るかもしれない注目機能!(2022年11月版) / TechFeed Experts Night #7 〜 コンテナ技術を語る
Kubernetes にこれから入るかもしれない注目機能!(2022年11月版) / TechFeed Experts Night #7 〜 コンテナ技術を語る
 
Matlantis™のニューラルネットワークポテンシャルPFPの適用範囲拡張
Matlantis™のニューラルネットワークポテンシャルPFPの適用範囲拡張Matlantis™のニューラルネットワークポテンシャルPFPの適用範囲拡張
Matlantis™のニューラルネットワークポテンシャルPFPの適用範囲拡張
 
PFNのオンプレ計算機クラスタの取り組み_第55回情報科学若手の会
PFNのオンプレ計算機クラスタの取り組み_第55回情報科学若手の会PFNのオンプレ計算機クラスタの取り組み_第55回情報科学若手の会
PFNのオンプレ計算機クラスタの取り組み_第55回情報科学若手の会
 
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
 
Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...
Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...
Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...
 
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
 
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
 
独断と偏見で選んだ Kubernetes 1.24 の注目機能と今後! / Kubernetes Meetup Tokyo 50
独断と偏見で選んだ Kubernetes 1.24 の注目機能と今後! / Kubernetes Meetup Tokyo 50独断と偏見で選んだ Kubernetes 1.24 の注目機能と今後! / Kubernetes Meetup Tokyo 50
独断と偏見で選んだ Kubernetes 1.24 の注目機能と今後! / Kubernetes Meetup Tokyo 50
 

Recently uploaded

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
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 Scriptwesley chun
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
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...Miguel Araújo
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
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 RobisonAnna Loughnan Colquhoun
 
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 2024The Digital Insurer
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
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 organizationRadu Cotescu
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 

Recently uploaded (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
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
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
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...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
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
 
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
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
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
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 

Chainer OpenPOWER developer congress HandsON 20170522_ota

  • 1. May 22-25, 2017 | San Francisco
  • 2. May 22-25, 2017 San Francisco A Flexible Framework for Complex Neural Networks @ OpenPOWER Developer Congress, May 24th, 2017 Nobuyuki Ota Preferred Networks, Inc.
  • 3. May 22-25, 2017 San Francisco Simple neural networks: “Just deep” convolutional neural network 3 AlexNet, Kryzyevsky+, 2012 ImageNet winner GoogLeNet, Szegedy+, 2014 ImageNet winner Residual Network, He+, 2015 ImageNet winner
  • 4. May 22-25, 2017 San Francisco Complex neural networks: Stochastic, densely-connected, hierarchical, recurrent 4 Stochastic Residual Net, Huang+, 2016 FractalNet, Larsson+, 2016 Recurrent NN (LSTM)RoR, Zhang+, 2016Dense CNN, Huang+, 2016
  • 5. May 22-25, 2017 San Francisco ▶ Chainer is one of the NVIDIA-supported DL frameworks ▶ Chainer uses a unique scheme named Define-by-Run http://chainer.org/ 5 Chainer fits very well to complex neural networks
  • 6. May 22-25, 2017 San Francisco Preferred Networks (PFN) A startup that applies deep learning to industrial IoT ▶ Founded: March 2014 ▶ Headquarter:Tokyo, Japan ▶ US subsidiary: SF bay area, California ▶ Company size: 80 engineers & researchers ▶ Investors:Toyota, FANUC, NTT Deep learning Industrial IoT Manufacturing Automotive Healthcare
  • 7. May 22-25, 2017 San Francisco What we do with Chainer: Partnering with world-leading companies ▶ Applying deep learning to industrial problems with real-world data ▶ Specific requirements, modification to algorithms, many trial-and-errors ▶ Completely different from making general-purpose recognition systems ▶ A proof: PFN won the 2nd prize @ Amazon Picking Challenge 2016
  • 8. May 22-25, 2017 San Francisco Two types of background behind DL frameworks 1. Scalability-oriented ▶ Use-cases in mind ▶ Image/speech recognition system ▶ Fast DL as a service in cloud ▶ Problem type ▶ A few general applications ▶ 10+ million training samples ▶ 10+ nodes cluster w/ fast network ▶ Possible bottleneck ▶ Tuning of well-known algorithms ▶ Distributed computation for model/data-parallel training 2. Flexibility-oriented ▶ Use-cases in mind ▶ New algorithm research ▶ R&D projects for AI products ▶ Problem type ▶ Various specific applications ▶ 10+ k training samples ▶ 1 node with multiple GPUs ▶ Possible bottleneck ▶ Trial-and-error in prototyping ▶ Debugging, profiling & refactoring ▶ (wait time during compilation)
  • 9. May 22-25, 2017 San Francisco Designed for efficient research & development ▶ Flexible: new kinds of complex models for various applications ▶ Intuitive: rapid prototyping and efficient trial-and-error ▶ Powerful: comparable performance for 1 node & multi-GPUs 9 Scalability-oriented Flexibility-oriented
  • 10. May 22-25, 2017 San Francisco ChainerMN: Distributed Deep Learning with Chainer 10
  • 11. May 22-25, 2017 San Francisco ChainerMN: Distributed Deep Learning with Chainer ▶ Scalable: it makes full use of the latest technologies such as NVIDIA NCCL and CUDA-Aware MPI ▶ Flexible: even dynamic neural networks can be trained in parallel thanks to Chainer's flexibility ▶ Easy: comparable performance for 1 node & multi-GPUs 11 Scalability-oriented Flexibility-oriented
  • 12. May 22-25, 2017 San Francisco Agenda ▶ Deep learning framework basics ▶ Basics of Chainer ▶ Chainer features 12
  • 13. May 22-25, 2017 San Francisco Neural network and computation x 1 x N ・ ・ h1 hH ・・・・ k M k1 y M y1 Forward computation Backward computation (backpropagation) ・・ ・・ Input Hidden units Output Text Image Sensor Object: Tulip Anomaly score: 0.35 Category: Sports・ ・ ・・・・ 13
  • 14. May 22-25, 2017 San Francisco Building and training neural networks: Computational graph construction is the key 1. Construct a computational graph ▶ Based on network definition given by users ▶ Chains of functions and operations on input variables 2. Compute loss and gradients ▶ Forward computation to calculate loss for a minibatch ▶ Backpropagation gives gradients to all of parameters 3. Optimize model ▶ Update each parameter with the gradient ▶ Repeat until convergence Step 1. is the most important and there are many approaches 14
  • 15. May 22-25, 2017 San Francisco Building blocks ▶ These functionalities are very similar between frameworks ▶ But the structure, abstraction level, and interface are different ▶ It comes to the design of domain-specific language for NN Array data structure (vector/matrix/tensor) Operations & functions Network (computational graph) Optimizer (SGD/AdaGrad/Adam) 15
  • 16. May 22-25, 2017 San Francisco 3 types of domain-specific language: Network definition to computational graph construction 16 ▶ Text DSL ▶ Ex. Caffe (prototxt) ▶ Ex. CNTK (NDL) # Symbolic definition A = Variable(‘A’) B = Variable(‘B’) C = B * A D = C + Constant(1) # Compile f = compile(D) d = f(A=np.ones(10), B=np.ones(10) * 2) # Imperative declaration a = np.ones(10) b = np.ones(10) * 2 c = b * a d = c + 1 %% Definition in text f: { “A”: “Variable”, “B”: “Variable”, “C”: [“B”, “*”, “A”], “ret”: [“C”, “+”, 1] } # Compile f = compile(“f.txt”) d = f(A=np.ones(10), B=np.ones(10) * 2) ▶ Symbolic program ▶ Operations on symbols ▶ Ex.Theano ▶ Ex.TensorFlow ▶ Imperative program ▶ Direct computations on raw data arrays ▶ Ex.Torch.nn ▶ Ex. Chainer ▶ Ex. MXNet
  • 17. May 22-25, 2017 San Francisco Comparison of DSL type DSL type Pros. Cons. Text DSL • Human-readable definition • Non-programmer can easily edit the network • Users must study the format • Format might have to be extended for new algorithms InternalDSL Symbolic • Static analysis at compile • Optimization before training • Easy to parallelize • Users must study special syntax • May need more efforts to implement new algorithms Imperative • Less efforts to learn syntax • Easy debugging and profiling • Suitable for new algorithms with complex logic • Hard to optimize in advance • Less efficient in memory allocation and parallelization Chainer is at the extreme end of imperative program for high flexibility 17
  • 18. May 22-25, 2017 San Francisco Agenda ▶ Deep learning framework basics ▶ Basics of Chainer ▶ Chainer features 18
  • 19. May 22-25, 2017 San Francisco Chainer as an open-source project ▶ https://github.com/pfnet/chainer ▶ 115 contributors ▶ 2,504 stars & 643 forks ▶ 8,886 commits ▶ Actively developed ▶ 43 releases from v1.0.0 (June 2015) to v1.24.0 (May 2017) ▶ Average #commits per week > 70 ▶ V2.0.0 is planned on May 30th. 19
  • 20. May 22-25, 2017 San Francisco CuPy Chainer software stack CPU NVIDIA GPU CUDA cuDNN BLAS NumPy Chainer ▶ Chainer is built on top of NumPy and CUDA ▶ CuPy is also introduced as an equivalent of NumPy on GPU 20
  • 21. May 22-25, 2017 San Francisco Graph build scheme (1/2) - Define-and-Run: Most of frameworks use this (Chainer does not) 21 Run Define ▶ Define: build a computational graph based on definition ▶ Run: update the model (parameters) using training dataset Network definition Computational graph Gradient function Parameters Computational graph Gradient function Parameters Training data Update Loss & gradient Auto differentiation 21
  • 22. May 22-25, 2017 San Francisco Define-by-Run Graph build scheme (2/2) - Define-by-Run: Computational graph construction on the fly ▶ No graph is constructed before training ▶ Instead, the graph is built at each forward computation ▶ Computational graph can be modified dynamically for each iteration/sample or depending on some conditions Model definition Computational graph Gradient function Parameters Training data Update Dynamic change Conditions
  • 23. May 22-25, 2017 San Francisco Define-by-Run example: MLP for MNIST ▶ Only transformations between units are set before training ▶ Connection is given as forward computation l1 = Linear(784, n_units) l2 = Linear(n_units, 10)) Linear l2Linear l1 x yh1 W bia s 0 5 9 W bia s ReLU def forward(x): h1 = ReLU(l1(x)) return l2(h1) 23
  • 24. May 22-25, 2017 San Francisco Define-by-Run: An interpreted language for neural network ▶ Advantage ▶ Flexibility for new algorithms with complex components ▶ Ex. recurrent, recursive, densely-connected, dilated, etc ▶ Intuitive coding with highly imperative network definition ▶ Ex. stochastic network of which graph changes for each iteration ▶ Current drawbacks ▶ Graph is generated every time also for fixed networks ▶ No optimization even for static part of graphs ▶ JIT-like analysis and subgraph cache might be useful
  • 25. May 22-25, 2017 San Francisco Backpropagation through computational graph ▶ Consider an objective (Link.Linear): L = f(x * w + b) ▶ This computes the value of L in forward computation, and simultaneously builds the following computational graph ▶ The gradient of L can be computed with respect to any variables by backpropagation ▶ Then the optimizer updates the value of parameters *x W + b f L is Variable is Function 25
  • 26. May 22-25, 2017 San Francisco Code sample (1/3): Convolutional neural network class AlexNet(Chain): def __init__(self): super(AlexNet, self).__init__( conv1=L.Convolution2D(3, 96, 11, stride=4), conv2=L.Convolution2D(96, 256, 5, pad=2), conv3=L.Convolution2D(256, 384, 3, pad=1), conv4=L.Convolution2D(384, 384, 3, pad=1), conv5=L.Convolution2D(384, 256, 3, pad=1), fc6=L.Linear(9216, 4096), fc7=L.Linear(4096, 4096), fc8=L.Linear(4096, 1000), ) def __call__(self, x, t): h = F.max_pooling_2d(F.relu( F.local_response_normalization(self.conv1(x))), 3,stride=2) h = F.max_pooling_2d(F.relu( F.local_response_normalization(self.conv2(h))), 3,stride=2) h = F.relu(self.conv3(h)) h = F.relu(self.conv4(h)) h = F.max_pooling_2d(F.relu(self.conv5(h)), 3, stride=2) h = F.dropout(F.relu(self.fc6(h)), train=self.train) h = F.dropout(F.relu(self.fc7(h)), train=self.train) y = self.fc8(h) return y * ImageNet Classification with Deep Convolutional Neural Networks http://www.image-net.org/challenges/LSVRC/2012/supervision.pdf conv2d conv2d conv2d conv2d conv2d linear linear 26 linear
  • 27. May 22-25, 2017 San Francisco Code sample (2/3): Recurrent neural network class SimpleRNN(Chain): def __init__(self, n_vocab, n_units): super(SimpleRNN, self).__init__( embed=L.EmbedID(n_vocab, n_units) x2h=L.Linear(n_units, n_units), h2h=L.Linear(n_units, n_units), h2y=L.Linear(n_units, n_vocab),) self.h = None def __call__(self, x): y, h_new = self.fwd_one_step(x, self.h) self.h = h_new return y def fwd_one_step(self, x, h): x = F.tanh(self.embed(x)) if h is None: h = F.tanh(self.x2h(x)) else: h = F.tanh(self.x2h(x) + self.h2h(h)) y = F.softmax(self.h2y(h)) return y, h x_1 h y_1 x_2 h y_2 x_3 h y_3 t=1 t=2 t=3 x_4 h y_4t=4 BPTT length = 3 Input word OutputRecurrent state # Truncated BPTT (length=3) for i in range(0, datasize, batchsize): ... accum_loss += model(x, t) if i % bptt_length == 0: model.zerograds() accum_loss.backward() accum_loss.unchain_backward() optimizer.update() 27
  • 28. May 22-25, 2017 San Francisco Code sample (3/3): Stochastic Residual Network 28 ▶ A variant of Residual Net that skips connections stochastically ▶ Outperformed the original Residual Net (ImageNet 2015 winner, MSR) ▶ Stochastic skip: Taken from http://arxiv.org/abs/1603.09382v2 G. Huang et al. # Mock code in Chainer class StochasticResNet(Chain): def __init__(self, prob, size, …): super(StochasticResNet, size, …).__init__( ## Define f[i] as same for Residual Net ) self.p = prob # Survival probabilities def __call__(self, h): for i in range(self.size): b = numpy.random.binomial(1, self.p[i]) c = self.f[i](h) + h if b == 1 else h h = F.relu(c) return h w/ survival probability:
  • 29. May 22-25, 2017 San Francisco Agenda ▶ Deep learning framework basics ▶ Basics of Chainer ▶ Chainer features 29
  • 30. May 22-25, 2017 San Francisco Easy to debug during forward computation # MNIST input has 784 dimensions, not 748 def __init__(self): super(MLP3Wrong, self).__init__( l1=L.Linear(748, 100), l2=L.Linear(100, 100), l3=L.Linear(100, 10) ) Error stack trace in IPython (Will be more clean soon) Where the error actually happened in forward computation Type is checked at the numpy array level
  • 31. May 22-25, 2017 San Francisco CuPy: (partially-)NumPy-compatible GPU library ▶ Motivation: NumPy + CUDA = CuPy ▶ NumPy is the standard library in Python for numerical computation ▶ Unfortunately NumPy does NOT work with CUDA, instead CuPy does it ▶ CuPy supports: ▶ NVIDIA cuBLAS and cuDNN for faster computation ▶ User-defined functions and CUDA kernels ▶ Array indexing, slicing, transpose, and reshape ▶ All dtypes, broadcasting, memory pool, etc 31
  • 32. May 22-25, 2017 San Francisco Use CuPy just like NumPy ▶ Conversion between numpy.ndarray and cupy.ndarray ▶ Speed-up by CuPy over NumPy: 5 to 25 times 32 msec speed up NumPy 2,929 1.0 CuPy 585 5.0 CuPy + Memory Pool 123 23.8 Intel Core i7-4790 @3.60GHz, 32GB, GeForce GTX 970 def test(xp): a = xp.arange(1000000).reshape(1000, -1) return a.T * 2 for i in range(1000): test(numpy) for i in range(1000): test(cupy) w_c = cupy.asarray(numpy.ones(10)) # cupy.ndarray w_n = cupy.asnumpy(cupy.ones(10)) # numpy.ndarray
  • 33. May 22-25, 2017 San Francisco Training loop abstraction (from v1.11.0): Manual training loop is not necessary ▶ Dataset & Iterator: dataset manipulation over iterations ▶ Trainer & Updater: execute training loops w/ settings ▶ Extension: do something else during training loops ▶ Ex. dump_graph(), snapshot, LogReport, ProgressBar, 33Progress & estimate Reporting for each epoch Training dataset & loop settings
  • 34. May 22-25, 2017 San Francisco Summary ▶ Chainer is a Python-based deep learning framework with dynamic network construction scheme and CuPy ▶ It is designed for efficient research and prototyping while keeping comparable performance and actively improving ▶ Official web: http://chainer.org/ ▶ Github: https://github.com/pfnet/chainer Your contributions will be appreciated & we are hiring! 34