2019/02/02
fpgax #11 + TFUG ハード部
DNN専用ハードについて語る会
MN-Coreについて
Hiroya Kaneko @Preferred Networks
今日話す内容
• PFNについて
• Deep Learningのアクセラレーション
• PFNのHWに関する取り組み(MN-Core)
• HWを支えるSW群
株式会社Preferred Networks (PFN)
• 設立:2014年3月
• 本社:東京都千代田区大手町(日本)
• Preferred Networks America, Inc.:カリフォルニア州バークレー(米国)
• 取締役:西川 徹、岡野原 大輔、奥田 遼介
• 従業員数:約200名(2019年1月現在)
• ミッション:IoT時代に向けた新しいコンピュータを創造する
あらゆるモノに知能をもたせ、分散知能を実現する
• 事業内容:IoT + 分散機械学習
交通システム、製造業、バイオヘルスケア
Chainer
• PFNで開発を行っているDeep Learning フレームワーク
• Chainerでは動的に計算グラフを構築する”Define-by-Run”を採用している
Define-and-Run Define-by-Run
Deep Learningのアクセラレーション
• Inference (推論)
– 精度を維持したまま速く、省電力に推論を実行する(組み込み寄りの世界)
– 主なアプローチ
• 量子化、スパース化、Distillation(蒸留)など
– 専用ASIC(ex.Mobidius, Cambricon) やTensorRT, モデル特化したFPGAなど
• Inference用にモデルを最適化し、最適化されたモデルの特性を利用し高効率化し
ているため学習用途に転用することは難しい
• Training (学習)
– 精度を維持したままモデルを高速に学習する(HPC寄りの世界)
– 主なアプローチ
• データ/モデル並列による分散学習
– GPUや専用ASIC(TPU)など。Inference向けとは異なり選択肢が少ない
Deep Learningのアクセラレーション
• Inference (推論)
– 精度を維持したまま速く、省電力に推論を実行する(組み込み寄りの世界)
– 主なアプローチ
• 量子化、スパース化、Distillation(蒸留)など
– 専用ASIC(ex.Mobidius, Cambricon) やTensorRT, モデル特化したFPGAなど
• Inference用にモデルを最適化し、最適化されたモデルの特性を利用し高効率化し
ているため学習用途に転用することは難しい
• Training (学習)
– 精度を維持したままモデルを高速に学習する(HPC寄りの世界)
– 主なアプローチ
• データ/モデル並列による分散学習
– GPUや専用ASIC(TPU)など。Inference向けとは異なり選択肢が少ない
PFNとしては
こちらの高速化の
需要が大きい
Trainingにおける演算
• 誤差逆伝播を使った勾配の算出とモデルのアップデー
ト(これを1iterationと呼ぶ)
– Forward時のactivationの値が必要
• 大量の密なFMA演算が必要とされる
– 特にCNNの場合Filterを共有するためメモリアク
セスに対して演算量が大きい
• V100において劇的なピーク性能向上が見られたが、こ
れはfp16 GEMM専用エンジン(TensorCore)によるも
の
図はメディカル AI専門コース オンライン講義資料より
https://japan-medical-ai.github.io/medical-ai-course-materials/
図はCS231n講義資料より
http://cs231n.github.io/convolutional-networks/
データ並列による分散学習
• 1iterationで処理する画像の枚数 (バッチサイズ)を大きく取り各GPUで処理を分担
1. 複数のGPUに画像をばらまき各 GPUで逆伝搬を行う
2. 各GPUで求まった勾配の平均を Allreduceを用いて求める
3. 各GPUにおいてモデルをアップデートする
• 単純にバッチサイズを増やすだけでは精度が劣化するため、様々なテクニックがある(バッチサイズの
調整など)
デバイスの進化と並列分散化によって学習速度は高速化し続けている
Company Processor Date Training time
PFN TITAN X *128 17/1 4h
Facebook P100 *256 17/6 1h
PFN P100 *1024 17/11 15min
SONY V100 *2176 18/11 3.7min
Google TPUv3 *1024 18/11 2.2min
2年弱で100倍以上
高速化している
大規模自社GPUクラスタ
MN-1a & MN-1b
GPU 搭載数
MN-1a NVIDIA Tesla P100 1024
MN-1b NVIDIA Tesla V100 512
Deep Learning 研究の動向
• SoTAな研究においてはモデルサイズは依然として増えていく傾向にある
– 画像から動画/立体へ、画像の巨大化
• 時間方向/空間方向へのConvolution, HD画像処理など
– MoE(Mixture of Experts)
• 複数のサブネットワークで大きなネットワークを構成する
– NAS(Network Architecture Search)
• ネットワークアーキテクチャ自体を自動探索する試み
これから先もまだまだ大規模な計算能力が必要とされている
深層学習用プロセッサ
MN-Core
倍精度 単精度 半精度
TFLOP 32.8 131 524
TFLOP/W 0.066 0.26 1.0
開発中
• Deep LearningのTrainingに特
化した専用設計のASIC
• 特に計算量の多いConvolution
Kernelを高速化するための専用
設計
MN-Core
• 階層メモリ型SIMDアーキテクチャ
によって512MABを1chipに集積
– 各階層のメモリはスクラッチ
パッドとして利用可能
– 各階層間では分配、結合、放
送、縮約といった複数の転送
モードをサポート
• 倍/単/半精度相当及び混合精度の
行列積演算をサポート
• Deep Learningに特化した演算器
を搭載 (ex.ReLUなど) 製造プロセス TSMC 12nm
消費電力 (W、予測値) 500 (4die, 1package合計)
ピーク性能 (TFLOPS) 32.8 (倍精度) / 131 (単精度) / 524 (半精度)
電力性能 (TFLOPS / W、予測値) 0.066 (倍精度) / 0.26 (単精度) / 1.0 (半精度)
MN-Core
• PCIe接続のアクセラレータカードとして提供
• ボード及びサーバも開発中
– MN-Coreを搭載したクラスタを2020年に運用
開始予定(目標)
チップ 1 MN-Core チップ (4die)
インターフェース PCI Express Gen3 x16
メモリサイズ 32 GB (ボード当たり)
消費電力 600 W (予測値)
なぜ自社クラスタ/チップなのか
• 大量の計算機を使って誰にも成し遂げられなかったことをしたい(グランドチャレンジ)
– 計算能力は競争力の源泉(クラウドとて無限ではない)
– NIPS締切直前に大手クラウドサービスのGPUが枯渇
• インフラも含めた最適化によって世界でもトップクラスの成果を出せる再現可能な環境を提供
したい
• 今のハードウェアの制約にとらわれない新しい研究を創出できる環境を提供したい
GPUとMN-Core
• 汎用性と性能のトレードオフ
– GPUとMN-Coreは補完関係にある(全てのjobがMN-Coreにfitするわけではない)
Architecture can be simpler
GPU
MN-Core
Computation intensive
SIMD friendly
Convolution layer
Dense matrix algo.
Particle sim.
Sparse matrix algo.
Finite diff. method
CPU
FFT
Graph algo.Rigid body sim.
new app?
Circuit sim.
HWを支えるSWについて
• ユーザにとってはいつものコードをいつもの方法で動かして、結果速くなるというのが理想(使
うために大きなオーバヘッドは避けるべき)
• 既存のChainerからシームレスに、かつ高効率にMN-Coreを利用可能にするためのソフト
ウェアの研究開発を行っています
– 専用ASICを利用するためのツールチェーン群
– ChainerX
• 高速な自動微分の実装、選択可能なbackend
– Chainer-compiler
• Pythonから拡張ONNXフォーマットへのconvert
• 拡張ONNX上における計算グラフの最適化、自動微分
さいごに
• Preferred NetworksではDeep LearningのTrainingを高速化するMN-Core(専
用ASIC)を開発しています
– GEMMに特化し半精度で524TFlopsを達成
– ワークロードを限定することで高いピーク/電力性能を実現
• ASICを使うためのソフトウェアについても研究開発を行っています
– Chainerからシームレスかつ高効率にMN-Coreを利用するためのソフトウェ
ア群
• 世界最高の計算機環境を作るためにやるべきことはたくさんあります!

fpgax #11+TFUG ハード部:DNN専用ハードについて語る会-2019-02-02 MN-coreについて 金子 紘也