SlideShare a Scribd company logo
1 of 40
Download to read offline
FPGA向け
ディープラーニング開発環境
GUINNESSについて
中原啓貴,⽶川晴義,藤井智也,下⽥将之,佐藤真平
東京⼯業⼤学 ⼯学院情報通信系
リコンフ研2017 9⽉
@ドワンゴ
発表内容
• 研究背景
• Convolutional Neural Network (CNN)
• 2値化CNNの最適化⼿法
• FPGA専⽤ディープラーニング開発環境GUINNESS
について
• 実験結果
• まとめ
2
AIはどこにでも
3
クルマで想定されるスペック
4
クラウド エッジ
Many classes (1000s) Few classes (<10)
Large workloads Frame rates (15‐30 FPS)
High efficiency
(Performance/W)
Low cost & low power
(1W‐5W)
Server form factor Custom form factor
J. Freeman (Intel), “FPGA Acceleration in the era of high level design”, 2017
GPUとFPGA
5
サーマルスロットリング
• ⾼負荷による過度な発熱を抑える
• 安全性の向上や機器を熱による破損から守る
• TM2: 電源と周波数が低下, TM1: 間隔実⾏
• CPU, GPU, SSDなどに搭載
• 性能低下→機器停⽌も
6
💭
組込み(エッジ)でディープラーニング
• クラウドでの問題
• ネットワーク遅延
• プライバシー
• セキュリティ
• 学習はオンライン,
推論だけ⾏うことを想定
• 検討事項
• 計算能⼒
• バッテリ
• 冷却ファン
• バッテリ時間
7
発表内容
• 研究背景
• Convolutional Neural Network (CNN)
• 2値化CNNの最適化⼿法
• FPGA専⽤ディープラーニング開発環境GUINNESS
について
• 実験結果
• まとめ
8
Artificial Neuron (AN)
+
x0=1
x1
x2
xN
... w0 (Bias)
w1
w2
wN
f(u)
u y
xi: Input signal
wi: Weight
u: Internal state
f(u): Activation function 
(Sigmoid, ReLU, etc.)
y: Output signal
y  f (u)
u  wi xi
i0
N

9
Deep Neural Network
10
happy
sad
mad
curious
出典: imotionsglobal.com
畳込み演算
1 0 1 1
1 1 1 0
0 1 0 0
1 1 0 1
1 1 1 0
0 1 1 0
0 0 0 0
1 0 1 1
5
x1 x0 x1
x0 x1 x0
x0 x0 x1
x0 x0 x1
x1 x0 x1
x1 x1 x1
+
カーネル
(この例ではK=3) 11
畳込み演算
1 0 1 1
1 1 1 0
0 1 0 0
1 1 0 1
1 1 1 0
0 1 1 0
0 0 0 0
1 0 1 1
5 3
x1 x0 x1
x0 x1 x0
x0 x0 x1
x0 x0 x1
x1 x0 x1
x1 x1 x1
+
12
畳込み演算
1 0 1 1
1 1 1 0
0 1 0 0
1 1 0 1
1 1 1 0
0 1 1 0
0 0 0 0
1 0 1 1
5 3
6
x1 x0 x1
x0 x1 x0
x0 x0 x1
x0 x0 x1
x1 x0 x1
x1 x1 x1
+
13
畳込み演算
1 0 1 1
1 1 1 0
0 1 0 0
1 1 0 1
1 1 1 0
0 1 1 0
0 0 0 0
1 0 1 1
5 3
6 4
x1 x0 x1
x0 x1 x0
x0 x0 x1
x0 x0 x1
x1 x0 x1
x1 x1 x1
+
14
CNNで⾏われている畳込み演算
1 0 1 1
1 1 1 0
0 1 0 0
1 1 0 1
1 1 1 0
0 1 1 0
0 0 0 0
1 0 1 1
5 3
6 4
x1 x0 x1
x0 x1 x0
x0 x0 x1
x0 x0 x1
x1 x0 x1
x1 x1 x1
• ANを2次元に拡張
15
2値化ニューラルネットワーク
• ⼆値(-1/+1)の乗算
• 乗算器をXNORゲートで
16
x1 x2 Y
‐1 ‐1 1
‐1 +1 ‐1
+1 ‐1 ‐1
+1 +1 1
x1 x2 Y
0 0 1
0 1 0
1 0 0
1 1 1
2値化CNNの効果
17
x1
w0 (Bias)
fsgn(Y)
Y
z
w1
x2
w2
xn
wn
...
短精度(4〜8)ビットを2値に置き換え→メモリ帯域の圧縮
乗算器をXNORに置き換え→回路⾯積の削減
メモリ量削減→電⼒効率向上
• メモリと演算器の距離∝電⼒
→FPGAのオンチップメモリに格納できれば電⼒効率↑
E. Joel et al., “Tutorial on Hardware Architectures for Deep Neural Networks,” MICRO‐49, 2016.18
認識精度低下に対して
• バッチ正規化(BatchNormalization)を導⼊
0
20
40
60
80
100
# of epochs
Classification error (%)
(a) float32 bit precision CNN
1                80              160    200
0
20
40
60
80
100
# of epochs
Classification error (%)
(b) Binarized CNN
1                80              160    200
単に2値化した場合
提案⼿法
約6%の誤差(VGG‐16を使⽤)
H. Nakahara et al., “A memory‐based binarized convolutional deep neural network,”
FPT2016, pp285‐288, 2016.
19
• Normalizing the result
of MAC operations
• Batch normalization is
necessary for the
Binarized CNN to
improve its accracy
20
Normalization for Binarized DNN
	 	
Batch
Norm
	 	
0
20
40
60
80
100
1                80              160    200
Error rate[%]
epoch
Without BN
With BN
	
H. Nakahara, H. Yonekawa, T. Sasao, H. Iwamoto, 
and M. Motomura, "A Memory‐Based Realization 
of a Binarized Deep Convolutional Neural 
Network," The International Conference on Field‐
Programmable Technology (FPT 2016), pp.273‐76, 
2016.
mean
variance
Scaling Shift
• Batch Normalization is implemented by fixed
point adders and multipliers
21
バッチ正規化を導⼊した回路
		
	
Adder tree
Batch normalization
Sign bit
XNOR gate
• The output from batch
normalization( ) is the
input to sign function
Constant factor can
be ignored
• The input from batch
normalization( ) is the
integer value
To integer
22
バッチ正規化をバイアスで実現
23
バッチ正規化と等価な回路
	 	
Batch
Norm
2値化CNN専⽤回路
• カスタマイズ演算: 1ビット積和演算
• 専⽤パイプライン
24
x00 x01 x02 x03 x04
x10 x11 x12 x13 x14
x20 x21 x22 x23 x24
x30 x31 x32 x33 x34
x40 x41 x42 x43 x44
x22 x21 x20 x14 x13 x12 x11 x10 x04 x03 x02 x01 x00
+
Binarized
Weight
Mem.
Integer
Bias
Mem.
Write
Ctrl.
Logic
Counter
Binarized Feature Map
(L=5, K=3)
Shift Register (2L+K bits)
9
Binarized MACs
(EXNORs + Adder Tree)
Sign
bit
Bottleneck
• Convolutional layer
→ #MAC operations
• Fully connection layer
→ Weight memory
J. Qiu et al., “Going Deeper with Embedded FPGA Platform for Convolutional Neural Network,”
ISFPGA2016.
25
Replacement Internal FC Layers 
into a Binarized Average Pooling Layer
26
“car”
Input
Image
Feature maps
Repeats of CONV+Max Pooling
Fully connection
...
Max Pooling
“car”
Input
Image
Feature maps
Repeat of CONV+Max Pooling
Fully
connection
...
Binarized Ave. Pooling
Flatten
0
10000
20000
30000
40000
50000
60000
70000
‐1 ‐0.8 ‐0.6 ‐0.4 ‐0.2 0 0.2 0.4 0.6 0.8 1
# of weights Weight value
“‐1” (50%) “+1” (50%)
Distribution of trained weight
Binarized weights are
balanced 
Binarized internal 
values are
balanced 
“car”
Input
Image
Feature maps
Repeats of CONV+Max Pooling
Fully connection
...
Max Pooling Flatten
0
10000
20000
30000
40000
50000
60000
70000
‐1 ‐0.8 ‐0.6 ‐0.4 ‐0.2 0 0.2 0.4 0.6 0.8 1
x w Y
0 0 1
0 1 0
1 0 0
1 1 1
# of weights
Weight value
“‐1” (50%) “+1” (50%)
Distribution of trained weight
Binarized weights are
balanced 
Binarized internal 
values are
balanced 
The outputs are
also balanced
→ 1’s count operation
for a Binarized internal
values
0 0
0 1
1 0
0 1
1 1
0 1
→ 0
→ 1
→ 1
Training:
Binarized
average pooling
Inference(FPGA):
1’s counter
	Σ
x1
w0 (Bias)
fsgn(Y)
Y
z
w1
x2
w2
xn
wn
...
モデルサイズの⽐較
29
Layer
Baseline Proposed
Dim.
In F 
maps
Out F 
maps
Weight
[bits]
Dim.
In F 
maps
Out F 
maps
Weight[bi
ts]
Iconv 32x32 3 64 1.7K 32x32 3 64 1.7K
Bconv 32x32 64 64 36.8K 32x32 64 64 36.8K
Max Pool 16x16 64 64 16x16 64 64
Bconv 16x16 64 128 73.7K 16x16 64 128 73.7K
Bconv 16x16 128 128 147.4K 16x16 128 128 147.4K
Max Pool 8x8 128 128 8x8 128 128
Bconv 8x8 128 256 294.9K 8x8 128 256 294.9K
Bconv 8x8 256 256 589.8K 8x8 256 256 589.8K
Max Pool 4x4 256 256 4x4 256 256
BFC 1x1 4096 4096 16.7M
(Binarized Average Pooling)
BFC 1x1 4096 4096 16.7M
BFC 1x1 4096 10 40.9K 1x1 256 10 2.5K
(fc total) (33.6M) (2.5K)
Total 34.7M 1.5M
Error Rate 18.6% 18.2%
発表内容
• 研究背景
• Convolutional Neural Network (CNN)
• 2値化CNNの最適化⼿法
• FPGA専⽤ディープラーニング開発環境GUINNESS
について
• 実験結果
• まとめ
30
GUINNESSとは
• A GUI based neural network synthesizerの略
• ユーザの準備した画像を学習しFPGA向けの推論回路⽤
ビットストリームを⽣成
• GUIを操作するだけで学習・回路合成ができるので
ハードウェア・アルゴリズムどちらの技術者でも
ディープラーニングを簡単にFPGAに組込み可能
• コードを書く必要は⼀切なし
Tokyo Tech. Nakahara Lab. 31
GUINNESS (現バージョン)
Tokyo Tech. Nakahara Lab. 32
CNNのパラメータ
(深さ・幅)
レイヤの種類
を指定できます
(奨励パラメータを
読み込み可能)
ユーザの学習データを
使えます
学習の再開・保存が可能
学習パラメータも予め
設定済み
ターゲットFPGAボードを指定するだけで
ビットストリームが⾃動⽣成されます
GUINNESS Tool Flow
.model
Training
by 
Chainer
Binarized 
CNN Weight
Chainer
to
C++
Model
to
Text
Binarized 
Weight
.txt
PL code
.cpp
PS code
.cpp gcc
HLS
.elf
.bit
.pkl
Label Data
.txt
CNN Spec.
.py
Image Data
PS
PL
Exe. data
Bit stream
BRAM
Zynq
FPGA
SDSoC
Operated by
the GUI
Generated from
Images
Trained by GPU
GUINNESS奨励環境
• 奨励計算機環境
• GPU (GTX1070以上の性能)+CUDA8.0
• マルチGPU, クラウド環境への対応も可能(要相談)
• 学習済みCNN読み込み可能(要相談)
• メモリ16GB以上
• Ubuntu 14.04 LTSのみサポート
• Xilinx社 SDSoC 2016.3, 2016.4
• Chainer 1.17.0〜1.21.0
• 対応FPGA(今後追加予定、カスタム設計は要相談)
• Digilent社 Zybo, Zedboard
• Xilinx社 ZC702, ZCU102
Tokyo Tech. Nakahara Lab. 34
発表内容
• 研究背景
• Convolutional Neural Network (CNN)
• 2値化CNNの最適化⼿法
• FPGA専⽤ディープラーニング開発環境GUINNESS
について
• 実験結果
• まとめ
35
既存FPGA実現法との⽐較 36
Implementation
(Year)
Zhao et al. [1]
(2017)
FINN [2]
(2017)
Ours
FPGA Board
(FPGA)
Zedboard
(XC7Z020)
PYNQ board
(XC7Z020)
Zedboard
(XC7Z020)
Clock (MHz) 143 166 143
#LUTs
#18Kb BRAMs
#DSP Blocks
46900
94
3
42833
270
32
14509
32
1
Test Error 12.27% 19.90% 18.20%
Time [msec]
(FPS)
5.94
(168)
2.24
(445)
2.37
(420)
Power [W] 4.7 2.5 2.3
FPS/Watt
FPS/LUT
FPS/BRAM
35.7
35.8x10‐4
1.8
178.0
103.9x10‐4
1.6
182.6
289.4x10‐4
13.1
Y. Umuroglu, et al., “FINN: A Framework for Fast, Scalable Binarized Neural Network Inference,” ISFPGA, 2017.
R. Zhao et al., “Accelerating Binarized Convolutional Neural Networks with Software‐Programmable FPGAs,” ISFPGA, 2017.
Comparison with Embedded
Platforms (VGG11 Forwarding)
Platform CPU GPU FPGA
Device
ARM Cortex‐A57 Maxwell GPU Zynq7020
Clock Freq. 1.9 GHz 998 MHz 143.78 MHz
Memory 16 GB eMMC Flash 4 GB LPDDR4 4.9 Mb BRAM
Time [msec]
(FPS)
4210.0
(0.23)
27.23
(36.7)
2.37
(421.9)
Power [W] 7 17 2.3
Efficiency 0.032 2.2 182.6
Design Time [Hours] 72 72 75
まとめ
• ディープラーニング統合開発環境を開発
• 2値化CNNに特化した環境
• 推論専⽤の最適化⼿法
• 学習⽅法
• 組込み向けCPU・GPUと⽐較
• ⾼速かつ電⼒効率に優れる
38
https://github.com/HirokiNakahara/GUINNESS
39
Docker イメージあります
• AzureとかでGUINNESSを実⾏可能︕
40

More Related Content

What's hot

いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例Fixstars Corporation
 
CNNの構造最適化手法について
CNNの構造最適化手法についてCNNの構造最適化手法について
CNNの構造最適化手法についてMasanoriSuganuma
 
ディープラーニングの2値化(Binarized Neural Network)
ディープラーニングの2値化(Binarized Neural Network)ディープラーニングの2値化(Binarized Neural Network)
ディープラーニングの2値化(Binarized Neural Network)Hideo Terada
 
多倍長整数の乗算と高速フーリエ変換
多倍長整数の乗算と高速フーリエ変換多倍長整数の乗算と高速フーリエ変換
多倍長整数の乗算と高速フーリエ変換京大 マイコンクラブ
 
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門Norishige Fukushima
 
オープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステム
オープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステムオープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステム
オープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステムShinya Takamaeda-Y
 
【DL輪読会】ConvNeXt V2: Co-designing and Scaling ConvNets with Masked Autoencoders
【DL輪読会】ConvNeXt V2: Co-designing and Scaling ConvNets with Masked Autoencoders【DL輪読会】ConvNeXt V2: Co-designing and Scaling ConvNets with Masked Autoencoders
【DL輪読会】ConvNeXt V2: Co-designing and Scaling ConvNets with Masked AutoencodersDeep Learning JP
 
LUT-Network ~本物のリアルタイムコンピューティングを目指して~
LUT-Network ~本物のリアルタイムコンピューティングを目指して~LUT-Network ~本物のリアルタイムコンピューティングを目指して~
LUT-Network ~本物のリアルタイムコンピューティングを目指して~ryuz88
 
モデルアーキテクチャ観点からのDeep Neural Network高速化
モデルアーキテクチャ観点からのDeep Neural Network高速化モデルアーキテクチャ観点からのDeep Neural Network高速化
モデルアーキテクチャ観点からのDeep Neural Network高速化Yusuke Uchida
 
Vivado hlsのシミュレーションとhlsストリーム
Vivado hlsのシミュレーションとhlsストリームVivado hlsのシミュレーションとhlsストリーム
Vivado hlsのシミュレーションとhlsストリームmarsee101
 
2015年度GPGPU実践プログラミング 第9回 行列計算(行列-行列積)
2015年度GPGPU実践プログラミング 第9回 行列計算(行列-行列積)2015年度GPGPU実践プログラミング 第9回 行列計算(行列-行列積)
2015年度GPGPU実践プログラミング 第9回 行列計算(行列-行列積)智啓 出川
 
データ爆発時代のネットワークインフラ
データ爆発時代のネットワークインフラデータ爆発時代のネットワークインフラ
データ爆発時代のネットワークインフラNVIDIA Japan
 
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説Takateru Yamagishi
 
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法MITSUNARI Shigeo
 
Batch normalization effectiveness_20190206
Batch normalization effectiveness_20190206Batch normalization effectiveness_20190206
Batch normalization effectiveness_20190206Masakazu Shinoda
 
生成モデルの Deep Learning
生成モデルの Deep Learning生成モデルの Deep Learning
生成モデルの Deep LearningSeiya Tokui
 
0から理解するニューラルネットアーキテクチャサーチ(NAS)
0から理解するニューラルネットアーキテクチャサーチ(NAS)0から理解するニューラルネットアーキテクチャサーチ(NAS)
0から理解するニューラルネットアーキテクチャサーチ(NAS)MasanoriSuganuma
 
ACRiウェビナー:小野様ご講演資料
ACRiウェビナー:小野様ご講演資料ACRiウェビナー:小野様ご講演資料
ACRiウェビナー:小野様ご講演資料直久 住川
 

What's hot (20)

プログラムを高速化する話
プログラムを高速化する話プログラムを高速化する話
プログラムを高速化する話
 
いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例
 
CNNの構造最適化手法について
CNNの構造最適化手法についてCNNの構造最適化手法について
CNNの構造最適化手法について
 
ディープラーニングの2値化(Binarized Neural Network)
ディープラーニングの2値化(Binarized Neural Network)ディープラーニングの2値化(Binarized Neural Network)
ディープラーニングの2値化(Binarized Neural Network)
 
多倍長整数の乗算と高速フーリエ変換
多倍長整数の乗算と高速フーリエ変換多倍長整数の乗算と高速フーリエ変換
多倍長整数の乗算と高速フーリエ変換
 
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門
 
オープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステム
オープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステムオープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステム
オープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステム
 
【DL輪読会】ConvNeXt V2: Co-designing and Scaling ConvNets with Masked Autoencoders
【DL輪読会】ConvNeXt V2: Co-designing and Scaling ConvNets with Masked Autoencoders【DL輪読会】ConvNeXt V2: Co-designing and Scaling ConvNets with Masked Autoencoders
【DL輪読会】ConvNeXt V2: Co-designing and Scaling ConvNets with Masked Autoencoders
 
LUT-Network ~本物のリアルタイムコンピューティングを目指して~
LUT-Network ~本物のリアルタイムコンピューティングを目指して~LUT-Network ~本物のリアルタイムコンピューティングを目指して~
LUT-Network ~本物のリアルタイムコンピューティングを目指して~
 
モデルアーキテクチャ観点からのDeep Neural Network高速化
モデルアーキテクチャ観点からのDeep Neural Network高速化モデルアーキテクチャ観点からのDeep Neural Network高速化
モデルアーキテクチャ観点からのDeep Neural Network高速化
 
Vivado hlsのシミュレーションとhlsストリーム
Vivado hlsのシミュレーションとhlsストリームVivado hlsのシミュレーションとhlsストリーム
Vivado hlsのシミュレーションとhlsストリーム
 
2015年度GPGPU実践プログラミング 第9回 行列計算(行列-行列積)
2015年度GPGPU実践プログラミング 第9回 行列計算(行列-行列積)2015年度GPGPU実践プログラミング 第9回 行列計算(行列-行列積)
2015年度GPGPU実践プログラミング 第9回 行列計算(行列-行列積)
 
FPGAX2019
FPGAX2019FPGAX2019
FPGAX2019
 
データ爆発時代のネットワークインフラ
データ爆発時代のネットワークインフラデータ爆発時代のネットワークインフラ
データ爆発時代のネットワークインフラ
 
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説
 
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
 
Batch normalization effectiveness_20190206
Batch normalization effectiveness_20190206Batch normalization effectiveness_20190206
Batch normalization effectiveness_20190206
 
生成モデルの Deep Learning
生成モデルの Deep Learning生成モデルの Deep Learning
生成モデルの Deep Learning
 
0から理解するニューラルネットアーキテクチャサーチ(NAS)
0から理解するニューラルネットアーキテクチャサーチ(NAS)0から理解するニューラルネットアーキテクチャサーチ(NAS)
0から理解するニューラルネットアーキテクチャサーチ(NAS)
 
ACRiウェビナー:小野様ご講演資料
ACRiウェビナー:小野様ご講演資料ACRiウェビナー:小野様ご講演資料
ACRiウェビナー:小野様ご講演資料
 

Viewers also liked

(公開版)FPGAエクストリームコンピューティング2017
(公開版)FPGAエクストリームコンピューティング2017 (公開版)FPGAエクストリームコンピューティング2017
(公開版)FPGAエクストリームコンピューティング2017 Hiroki Nakahara
 
A Random Forest using a Multi-valued Decision Diagram on an FPGa
A Random Forest using a Multi-valued Decision Diagram on an FPGaA Random Forest using a Multi-valued Decision Diagram on an FPGa
A Random Forest using a Multi-valued Decision Diagram on an FPGaHiroki Nakahara
 
FPGAX2016 ドキュンなFPGA
FPGAX2016 ドキュンなFPGAFPGAX2016 ドキュンなFPGA
FPGAX2016 ドキュンなFPGAHiroki Nakahara
 
私のファミコンのfpsは530000です。もちろんフルパワーで(以下略
私のファミコンのfpsは530000です。もちろんフルパワーで(以下略私のファミコンのfpsは530000です。もちろんフルパワーで(以下略
私のファミコンのfpsは530000です。もちろんフルパワーで(以下略Hiroki Nakahara
 
Tensor flow usergroup 2016 (公開版)
Tensor flow usergroup 2016 (公開版)Tensor flow usergroup 2016 (公開版)
Tensor flow usergroup 2016 (公開版)Hiroki Nakahara
 
Nested RNSを用いたディープニューラルネットワークのFPGA実装
Nested RNSを用いたディープニューラルネットワークのFPGA実装Nested RNSを用いたディープニューラルネットワークのFPGA実装
Nested RNSを用いたディープニューラルネットワークのFPGA実装Hiroki Nakahara
 
FPL15 talk: Deep Convolutional Neural Network on FPGA
FPL15 talk: Deep Convolutional Neural Network on FPGAFPL15 talk: Deep Convolutional Neural Network on FPGA
FPL15 talk: Deep Convolutional Neural Network on FPGAHiroki Nakahara
 
Verilog-HDL Tutorial (14)
Verilog-HDL Tutorial (14)Verilog-HDL Tutorial (14)
Verilog-HDL Tutorial (14)Hiroki Nakahara
 
Verilog-HDL Tutorial (13)
Verilog-HDL Tutorial (13)Verilog-HDL Tutorial (13)
Verilog-HDL Tutorial (13)Hiroki Nakahara
 
Verilog-HDL Tutorial (12)
Verilog-HDL Tutorial (12)Verilog-HDL Tutorial (12)
Verilog-HDL Tutorial (12)Hiroki Nakahara
 
Verilog-HDL Tutorial (15) hardware
Verilog-HDL Tutorial (15) hardwareVerilog-HDL Tutorial (15) hardware
Verilog-HDL Tutorial (15) hardwareHiroki Nakahara
 
Verilog-HDL Tutorial (9)
Verilog-HDL Tutorial (9)Verilog-HDL Tutorial (9)
Verilog-HDL Tutorial (9)Hiroki Nakahara
 
Verilog-HDL Tutorial (11)
Verilog-HDL Tutorial (11)Verilog-HDL Tutorial (11)
Verilog-HDL Tutorial (11)Hiroki Nakahara
 
Verilog-HDL Tutorial (15) software
Verilog-HDL Tutorial (15) softwareVerilog-HDL Tutorial (15) software
Verilog-HDL Tutorial (15) softwareHiroki Nakahara
 
最近のSingle Shot系の物体検出のアーキテクチャまとめ
最近のSingle Shot系の物体検出のアーキテクチャまとめ最近のSingle Shot系の物体検出のアーキテクチャまとめ
最近のSingle Shot系の物体検出のアーキテクチャまとめYusuke Uchida
 
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみたHiroki Nakahara
 
Altera sdk for open cl アンケート集計結果(公開版)
Altera sdk for open cl アンケート集計結果(公開版)Altera sdk for open cl アンケート集計結果(公開版)
Altera sdk for open cl アンケート集計結果(公開版)Hiroki Nakahara
 
Polyphony: Python ではじめる FPGA
Polyphony: Python ではじめる FPGAPolyphony: Python ではじめる FPGA
Polyphony: Python ではじめる FPGAryos36
 
cocos2d-x で PlugAir を 使えるようにしてみた
cocos2d-x で PlugAir を 使えるようにしてみたcocos2d-x で PlugAir を 使えるようにしてみた
cocos2d-x で PlugAir を 使えるようにしてみたHideyuki TAKEI
 

Viewers also liked (20)

(公開版)FPGAエクストリームコンピューティング2017
(公開版)FPGAエクストリームコンピューティング2017 (公開版)FPGAエクストリームコンピューティング2017
(公開版)FPGAエクストリームコンピューティング2017
 
A Random Forest using a Multi-valued Decision Diagram on an FPGa
A Random Forest using a Multi-valued Decision Diagram on an FPGaA Random Forest using a Multi-valued Decision Diagram on an FPGa
A Random Forest using a Multi-valued Decision Diagram on an FPGa
 
FPGAX2016 ドキュンなFPGA
FPGAX2016 ドキュンなFPGAFPGAX2016 ドキュンなFPGA
FPGAX2016 ドキュンなFPGA
 
私のファミコンのfpsは530000です。もちろんフルパワーで(以下略
私のファミコンのfpsは530000です。もちろんフルパワーで(以下略私のファミコンのfpsは530000です。もちろんフルパワーで(以下略
私のファミコンのfpsは530000です。もちろんフルパワーで(以下略
 
Tensor flow usergroup 2016 (公開版)
Tensor flow usergroup 2016 (公開版)Tensor flow usergroup 2016 (公開版)
Tensor flow usergroup 2016 (公開版)
 
Nested RNSを用いたディープニューラルネットワークのFPGA実装
Nested RNSを用いたディープニューラルネットワークのFPGA実装Nested RNSを用いたディープニューラルネットワークのFPGA実装
Nested RNSを用いたディープニューラルネットワークのFPGA実装
 
Naist2015 dec ver1
Naist2015 dec ver1Naist2015 dec ver1
Naist2015 dec ver1
 
FPL15 talk: Deep Convolutional Neural Network on FPGA
FPL15 talk: Deep Convolutional Neural Network on FPGAFPL15 talk: Deep Convolutional Neural Network on FPGA
FPL15 talk: Deep Convolutional Neural Network on FPGA
 
Verilog-HDL Tutorial (14)
Verilog-HDL Tutorial (14)Verilog-HDL Tutorial (14)
Verilog-HDL Tutorial (14)
 
Verilog-HDL Tutorial (13)
Verilog-HDL Tutorial (13)Verilog-HDL Tutorial (13)
Verilog-HDL Tutorial (13)
 
Verilog-HDL Tutorial (12)
Verilog-HDL Tutorial (12)Verilog-HDL Tutorial (12)
Verilog-HDL Tutorial (12)
 
Verilog-HDL Tutorial (15) hardware
Verilog-HDL Tutorial (15) hardwareVerilog-HDL Tutorial (15) hardware
Verilog-HDL Tutorial (15) hardware
 
Verilog-HDL Tutorial (9)
Verilog-HDL Tutorial (9)Verilog-HDL Tutorial (9)
Verilog-HDL Tutorial (9)
 
Verilog-HDL Tutorial (11)
Verilog-HDL Tutorial (11)Verilog-HDL Tutorial (11)
Verilog-HDL Tutorial (11)
 
Verilog-HDL Tutorial (15) software
Verilog-HDL Tutorial (15) softwareVerilog-HDL Tutorial (15) software
Verilog-HDL Tutorial (15) software
 
最近のSingle Shot系の物体検出のアーキテクチャまとめ
最近のSingle Shot系の物体検出のアーキテクチャまとめ最近のSingle Shot系の物体検出のアーキテクチャまとめ
最近のSingle Shot系の物体検出のアーキテクチャまとめ
 
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
 
Altera sdk for open cl アンケート集計結果(公開版)
Altera sdk for open cl アンケート集計結果(公開版)Altera sdk for open cl アンケート集計結果(公開版)
Altera sdk for open cl アンケート集計結果(公開版)
 
Polyphony: Python ではじめる FPGA
Polyphony: Python ではじめる FPGAPolyphony: Python ではじめる FPGA
Polyphony: Python ではじめる FPGA
 
cocos2d-x で PlugAir を 使えるようにしてみた
cocos2d-x で PlugAir を 使えるようにしてみたcocos2d-x で PlugAir を 使えるようにしてみた
cocos2d-x で PlugAir を 使えるようにしてみた
 

Similar to (公開版)Reconf研2017GUINNESS

An Experimental Study of Bitmap Compression vs. Inverted List Compression
An Experimental Study of Bitmap Compression vs. Inverted List CompressionAn Experimental Study of Bitmap Compression vs. Inverted List Compression
An Experimental Study of Bitmap Compression vs. Inverted List CompressionTakeshi Yamamuro
 
LUT-Network Revision2
LUT-Network Revision2LUT-Network Revision2
LUT-Network Revision2ryuz88
 
「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化
「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化
「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化marsee101
 
畳み込みニューラルネットワークの研究動向
畳み込みニューラルネットワークの研究動向畳み込みニューラルネットワークの研究動向
畳み込みニューラルネットワークの研究動向Yusuke Uchida
 
【A-1】AIを支えるGPUコンピューティングの今
【A-1】AIを支えるGPUコンピューティングの今【A-1】AIを支えるGPUコンピューティングの今
【A-1】AIを支えるGPUコンピューティングの今Developers Summit
 
論文紹介 Pixel Recurrent Neural Networks
論文紹介 Pixel Recurrent Neural Networks論文紹介 Pixel Recurrent Neural Networks
論文紹介 Pixel Recurrent Neural NetworksSeiya Tokui
 
2019年7月3日 AITCオープンラボ 量子コンピューティング シリーズ第3回 ~日立製作所様における取り組み紹介~
2019年7月3日 AITCオープンラボ 量子コンピューティング シリーズ第3回 ~日立製作所様における取り組み紹介~ 2019年7月3日 AITCオープンラボ 量子コンピューティング シリーズ第3回 ~日立製作所様における取り組み紹介~
2019年7月3日 AITCオープンラボ 量子コンピューティング シリーズ第3回 ~日立製作所様における取り組み紹介~ aitc_jp
 
200625material naruse
200625material naruse200625material naruse
200625material naruseRCCSRENKEI
 
機械学習とこれを支える並列計算: ディープラーニング・スーパーコンピューターの応用について
機械学習とこれを支える並列計算: ディープラーニング・スーパーコンピューターの応用について機械学習とこれを支える並列計算: ディープラーニング・スーパーコンピューターの応用について
機械学習とこれを支える並列計算: ディープラーニング・スーパーコンピューターの応用についてハイシンク創研 / Laboratory of Hi-Think Corporation
 
[DL輪読会]Pervasive Attention: 2D Convolutional Neural Networks for Sequence-to-...
[DL輪読会]Pervasive Attention: 2D Convolutional Neural Networks for Sequence-to-...[DL輪読会]Pervasive Attention: 2D Convolutional Neural Networks for Sequence-to-...
[DL輪読会]Pervasive Attention: 2D Convolutional Neural Networks for Sequence-to-...Deep Learning JP
 
[Track2-2] 最新のNVIDIA AmpereアーキテクチャによるNVIDIA A100 TensorコアGPUの特長とその性能を引き出す方法
[Track2-2] 最新のNVIDIA AmpereアーキテクチャによるNVIDIA A100 TensorコアGPUの特長とその性能を引き出す方法[Track2-2] 最新のNVIDIA AmpereアーキテクチャによるNVIDIA A100 TensorコアGPUの特長とその性能を引き出す方法
[Track2-2] 最新のNVIDIA AmpereアーキテクチャによるNVIDIA A100 TensorコアGPUの特長とその性能を引き出す方法Deep Learning Lab(ディープラーニング・ラボ)
 
DAシンポジウム2019招待講演「深層学習モデルの高速なTraining/InferenceのためのHW/SW技術」 金子紘也hare
DAシンポジウム2019招待講演「深層学習モデルの高速なTraining/InferenceのためのHW/SW技術」 金子紘也hareDAシンポジウム2019招待講演「深層学習モデルの高速なTraining/InferenceのためのHW/SW技術」 金子紘也hare
DAシンポジウム2019招待講演「深層学習モデルの高速なTraining/InferenceのためのHW/SW技術」 金子紘也harePreferred Networks
 
Icml2019 kyoto ohno_ver20190805
Icml2019 kyoto ohno_ver20190805Icml2019 kyoto ohno_ver20190805
Icml2019 kyoto ohno_ver20190805Shuntaro Ohno
 
ディープラーニング基礎.pptx
ディープラーニング基礎.pptxディープラーニング基礎.pptx
ディープラーニング基礎.pptxnorimatsu5
 
High speed-pc-router 201505
High speed-pc-router 201505High speed-pc-router 201505
High speed-pc-router 201505ykuga
 
GPUディープラーニング最新情報
GPUディープラーニング最新情報GPUディープラーニング最新情報
GPUディープラーニング最新情報ReNom User Group
 
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)Takeshi Yamamuro
 
Deep Learning Lab MeetUp 学習編 AzureインフラとBatch AI
Deep Learning Lab MeetUp 学習編 AzureインフラとBatch AIDeep Learning Lab MeetUp 学習編 AzureインフラとBatch AI
Deep Learning Lab MeetUp 学習編 AzureインフラとBatch AI喜智 大井
 

Similar to (公開版)Reconf研2017GUINNESS (20)

An Experimental Study of Bitmap Compression vs. Inverted List Compression
An Experimental Study of Bitmap Compression vs. Inverted List CompressionAn Experimental Study of Bitmap Compression vs. Inverted List Compression
An Experimental Study of Bitmap Compression vs. Inverted List Compression
 
LUT-Network Revision2
LUT-Network Revision2LUT-Network Revision2
LUT-Network Revision2
 
「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化
「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化
「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化
 
Wssit slide
Wssit slideWssit slide
Wssit slide
 
畳み込みニューラルネットワークの研究動向
畳み込みニューラルネットワークの研究動向畳み込みニューラルネットワークの研究動向
畳み込みニューラルネットワークの研究動向
 
【A-1】AIを支えるGPUコンピューティングの今
【A-1】AIを支えるGPUコンピューティングの今【A-1】AIを支えるGPUコンピューティングの今
【A-1】AIを支えるGPUコンピューティングの今
 
論文紹介 Pixel Recurrent Neural Networks
論文紹介 Pixel Recurrent Neural Networks論文紹介 Pixel Recurrent Neural Networks
論文紹介 Pixel Recurrent Neural Networks
 
2019年7月3日 AITCオープンラボ 量子コンピューティング シリーズ第3回 ~日立製作所様における取り組み紹介~
2019年7月3日 AITCオープンラボ 量子コンピューティング シリーズ第3回 ~日立製作所様における取り組み紹介~ 2019年7月3日 AITCオープンラボ 量子コンピューティング シリーズ第3回 ~日立製作所様における取り組み紹介~
2019年7月3日 AITCオープンラボ 量子コンピューティング シリーズ第3回 ~日立製作所様における取り組み紹介~
 
200625material naruse
200625material naruse200625material naruse
200625material naruse
 
機械学習とこれを支える並列計算: ディープラーニング・スーパーコンピューターの応用について
機械学習とこれを支える並列計算: ディープラーニング・スーパーコンピューターの応用について機械学習とこれを支える並列計算: ディープラーニング・スーパーコンピューターの応用について
機械学習とこれを支える並列計算: ディープラーニング・スーパーコンピューターの応用について
 
[DL輪読会]Pervasive Attention: 2D Convolutional Neural Networks for Sequence-to-...
[DL輪読会]Pervasive Attention: 2D Convolutional Neural Networks for Sequence-to-...[DL輪読会]Pervasive Attention: 2D Convolutional Neural Networks for Sequence-to-...
[DL輪読会]Pervasive Attention: 2D Convolutional Neural Networks for Sequence-to-...
 
[Track2-2] 最新のNVIDIA AmpereアーキテクチャによるNVIDIA A100 TensorコアGPUの特長とその性能を引き出す方法
[Track2-2] 最新のNVIDIA AmpereアーキテクチャによるNVIDIA A100 TensorコアGPUの特長とその性能を引き出す方法[Track2-2] 最新のNVIDIA AmpereアーキテクチャによるNVIDIA A100 TensorコアGPUの特長とその性能を引き出す方法
[Track2-2] 最新のNVIDIA AmpereアーキテクチャによるNVIDIA A100 TensorコアGPUの特長とその性能を引き出す方法
 
DAシンポジウム2019招待講演「深層学習モデルの高速なTraining/InferenceのためのHW/SW技術」 金子紘也hare
DAシンポジウム2019招待講演「深層学習モデルの高速なTraining/InferenceのためのHW/SW技術」 金子紘也hareDAシンポジウム2019招待講演「深層学習モデルの高速なTraining/InferenceのためのHW/SW技術」 金子紘也hare
DAシンポジウム2019招待講演「深層学習モデルの高速なTraining/InferenceのためのHW/SW技術」 金子紘也hare
 
Icml2019 kyoto ohno_ver20190805
Icml2019 kyoto ohno_ver20190805Icml2019 kyoto ohno_ver20190805
Icml2019 kyoto ohno_ver20190805
 
ディープラーニング基礎.pptx
ディープラーニング基礎.pptxディープラーニング基礎.pptx
ディープラーニング基礎.pptx
 
High speed-pc-router 201505
High speed-pc-router 201505High speed-pc-router 201505
High speed-pc-router 201505
 
GPUディープラーニング最新情報
GPUディープラーニング最新情報GPUディープラーニング最新情報
GPUディープラーニング最新情報
 
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
 
Deep Learning Lab MeetUp 学習編 AzureインフラとBatch AI
Deep Learning Lab MeetUp 学習編 AzureインフラとBatch AIDeep Learning Lab MeetUp 学習編 AzureインフラとBatch AI
Deep Learning Lab MeetUp 学習編 AzureインフラとBatch AI
 
Japanino Workshop #2
Japanino Workshop #2Japanino Workshop #2
Japanino Workshop #2
 

More from Hiroki Nakahara

FCCM2020: High-Throughput Convolutional Neural Network on an FPGA by Customiz...
FCCM2020: High-Throughput Convolutional Neural Network on an FPGA by Customiz...FCCM2020: High-Throughput Convolutional Neural Network on an FPGA by Customiz...
FCCM2020: High-Throughput Convolutional Neural Network on an FPGA by Customiz...Hiroki Nakahara
 
ROS User Group Meeting #28 マルチ深層学習とROS
ROS User Group Meeting #28 マルチ深層学習とROSROS User Group Meeting #28 マルチ深層学習とROS
ROS User Group Meeting #28 マルチ深層学習とROSHiroki Nakahara
 
DSF2018講演スライド
DSF2018講演スライドDSF2018講演スライド
DSF2018講演スライドHiroki Nakahara
 
ISCAS'18: A Deep Neural Network on the Nested RNS (NRNS) on an FPGA: Applied ...
ISCAS'18: A Deep Neural Network on the Nested RNS (NRNS) on an FPGA: Applied ...ISCAS'18: A Deep Neural Network on the Nested RNS (NRNS) on an FPGA: Applied ...
ISCAS'18: A Deep Neural Network on the Nested RNS (NRNS) on an FPGA: Applied ...Hiroki Nakahara
 
ISMVL2018: A Ternary Weight Binary Input Convolutional Neural Network
ISMVL2018: A Ternary Weight Binary Input Convolutional Neural NetworkISMVL2018: A Ternary Weight Binary Input Convolutional Neural Network
ISMVL2018: A Ternary Weight Binary Input Convolutional Neural NetworkHiroki Nakahara
 
FPGA2018: A Lightweight YOLOv2: A binarized CNN with a parallel support vecto...
FPGA2018: A Lightweight YOLOv2: A binarized CNN with a parallel support vecto...FPGA2018: A Lightweight YOLOv2: A binarized CNN with a parallel support vecto...
FPGA2018: A Lightweight YOLOv2: A binarized CNN with a parallel support vecto...Hiroki Nakahara
 
FPT17: An object detector based on multiscale sliding window search using a f...
FPT17: An object detector based on multiscale sliding window search using a f...FPT17: An object detector based on multiscale sliding window search using a f...
FPT17: An object detector based on multiscale sliding window search using a f...Hiroki Nakahara
 
Verilog-HDL Tutorial (8)
Verilog-HDL Tutorial (8)Verilog-HDL Tutorial (8)
Verilog-HDL Tutorial (8)Hiroki Nakahara
 
Verilog-HDL Tutorial (7)
Verilog-HDL Tutorial (7)Verilog-HDL Tutorial (7)
Verilog-HDL Tutorial (7)Hiroki Nakahara
 

More from Hiroki Nakahara (10)

FCCM2020: High-Throughput Convolutional Neural Network on an FPGA by Customiz...
FCCM2020: High-Throughput Convolutional Neural Network on an FPGA by Customiz...FCCM2020: High-Throughput Convolutional Neural Network on an FPGA by Customiz...
FCCM2020: High-Throughput Convolutional Neural Network on an FPGA by Customiz...
 
ROS User Group Meeting #28 マルチ深層学習とROS
ROS User Group Meeting #28 マルチ深層学習とROSROS User Group Meeting #28 マルチ深層学習とROS
ROS User Group Meeting #28 マルチ深層学習とROS
 
SBRA2018講演資料
SBRA2018講演資料SBRA2018講演資料
SBRA2018講演資料
 
DSF2018講演スライド
DSF2018講演スライドDSF2018講演スライド
DSF2018講演スライド
 
ISCAS'18: A Deep Neural Network on the Nested RNS (NRNS) on an FPGA: Applied ...
ISCAS'18: A Deep Neural Network on the Nested RNS (NRNS) on an FPGA: Applied ...ISCAS'18: A Deep Neural Network on the Nested RNS (NRNS) on an FPGA: Applied ...
ISCAS'18: A Deep Neural Network on the Nested RNS (NRNS) on an FPGA: Applied ...
 
ISMVL2018: A Ternary Weight Binary Input Convolutional Neural Network
ISMVL2018: A Ternary Weight Binary Input Convolutional Neural NetworkISMVL2018: A Ternary Weight Binary Input Convolutional Neural Network
ISMVL2018: A Ternary Weight Binary Input Convolutional Neural Network
 
FPGA2018: A Lightweight YOLOv2: A binarized CNN with a parallel support vecto...
FPGA2018: A Lightweight YOLOv2: A binarized CNN with a parallel support vecto...FPGA2018: A Lightweight YOLOv2: A binarized CNN with a parallel support vecto...
FPGA2018: A Lightweight YOLOv2: A binarized CNN with a parallel support vecto...
 
FPT17: An object detector based on multiscale sliding window search using a f...
FPT17: An object detector based on multiscale sliding window search using a f...FPT17: An object detector based on multiscale sliding window search using a f...
FPT17: An object detector based on multiscale sliding window search using a f...
 
Verilog-HDL Tutorial (8)
Verilog-HDL Tutorial (8)Verilog-HDL Tutorial (8)
Verilog-HDL Tutorial (8)
 
Verilog-HDL Tutorial (7)
Verilog-HDL Tutorial (7)Verilog-HDL Tutorial (7)
Verilog-HDL Tutorial (7)
 

(公開版)Reconf研2017GUINNESS