Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

3,801 views

Published on

fpgaxとTFUGハード部の共催イベントでの講演資料です。
https://fpgax.connpass.com/event/115446/
PFNで開発を行っているDeep Learning向けASICであるMN-Coreについてその概要を簡単に紹介しました。

Published in: Technology
  • Be the first to comment

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

  1. 1. 2019/02/02 fpgax #11 + TFUG ハード部 DNN専用ハードについて語る会 MN-Coreについて Hiroya Kaneko @Preferred Networks
  2. 2. 今日話す内容 • PFNについて • Deep Learningのアクセラレーション • PFNのHWに関する取り組み(MN-Core) • HWを支えるSW群
  3. 3. 株式会社Preferred Networks (PFN) • 設立:2014年3月 • 本社:東京都千代田区大手町(日本) • Preferred Networks America, Inc.:カリフォルニア州バークレー(米国) • 取締役:西川 徹、岡野原 大輔、奥田 遼介 • 従業員数:約200名(2019年1月現在) • ミッション:IoT時代に向けた新しいコンピュータを創造する あらゆるモノに知能をもたせ、分散知能を実現する • 事業内容:IoT + 分散機械学習 交通システム、製造業、バイオヘルスケア
  4. 4. Chainer • PFNで開発を行っているDeep Learning フレームワーク • Chainerでは動的に計算グラフを構築する”Define-by-Run”を採用している Define-and-Run Define-by-Run
  5. 5. Deep Learningのアクセラレーション • Inference (推論) – 精度を維持したまま速く、省電力に推論を実行する(組み込み寄りの世界) – 主なアプローチ • 量子化、スパース化、Distillation(蒸留)など – 専用ASIC(ex.Mobidius, Cambricon) やTensorRT, モデル特化したFPGAなど • Inference用にモデルを最適化し、最適化されたモデルの特性を利用し高効率化し ているため学習用途に転用することは難しい • Training (学習) – 精度を維持したままモデルを高速に学習する(HPC寄りの世界) – 主なアプローチ • データ/モデル並列による分散学習 – GPUや専用ASIC(TPU)など。Inference向けとは異なり選択肢が少ない
  6. 6. Deep Learningのアクセラレーション • Inference (推論) – 精度を維持したまま速く、省電力に推論を実行する(組み込み寄りの世界) – 主なアプローチ • 量子化、スパース化、Distillation(蒸留)など – 専用ASIC(ex.Mobidius, Cambricon) やTensorRT, モデル特化したFPGAなど • Inference用にモデルを最適化し、最適化されたモデルの特性を利用し高効率化し ているため学習用途に転用することは難しい • Training (学習) – 精度を維持したままモデルを高速に学習する(HPC寄りの世界) – 主なアプローチ • データ/モデル並列による分散学習 – GPUや専用ASIC(TPU)など。Inference向けとは異なり選択肢が少ない PFNとしては こちらの高速化の 需要が大きい
  7. 7. 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/
  8. 8. データ並列による分散学習 • 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倍以上 高速化している
  9. 9. 大規模自社GPUクラスタ MN-1a & MN-1b GPU 搭載数 MN-1a NVIDIA Tesla P100 1024 MN-1b NVIDIA Tesla V100 512
  10. 10. Deep Learning 研究の動向 • SoTAな研究においてはモデルサイズは依然として増えていく傾向にある – 画像から動画/立体へ、画像の巨大化 • 時間方向/空間方向へのConvolution, HD画像処理など – MoE(Mixture of Experts) • 複数のサブネットワークで大きなネットワークを構成する – NAS(Network Architecture Search) • ネットワークアーキテクチャ自体を自動探索する試み これから先もまだまだ大規模な計算能力が必要とされている
  11. 11. 深層学習用プロセッサ MN-Core 倍精度 単精度 半精度 TFLOP 32.8 131 524 TFLOP/W 0.066 0.26 1.0 開発中 • Deep LearningのTrainingに特 化した専用設計のASIC • 特に計算量の多いConvolution Kernelを高速化するための専用 設計
  12. 12. 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 (半精度)
  13. 13. MN-Core • PCIe接続のアクセラレータカードとして提供 • ボード及びサーバも開発中 – MN-Coreを搭載したクラスタを2020年に運用 開始予定(目標) チップ 1 MN-Core チップ (4die) インターフェース PCI Express Gen3 x16 メモリサイズ 32 GB (ボード当たり) 消費電力 600 W (予測値)
  14. 14. なぜ自社クラスタ/チップなのか • 大量の計算機を使って誰にも成し遂げられなかったことをしたい(グランドチャレンジ) – 計算能力は競争力の源泉(クラウドとて無限ではない) – NIPS締切直前に大手クラウドサービスのGPUが枯渇 • インフラも含めた最適化によって世界でもトップクラスの成果を出せる再現可能な環境を提供 したい • 今のハードウェアの制約にとらわれない新しい研究を創出できる環境を提供したい
  15. 15. 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.
  16. 16. HWを支えるSWについて • ユーザにとってはいつものコードをいつもの方法で動かして、結果速くなるというのが理想(使 うために大きなオーバヘッドは避けるべき) • 既存のChainerからシームレスに、かつ高効率にMN-Coreを利用可能にするためのソフト ウェアの研究開発を行っています – 専用ASICを利用するためのツールチェーン群 – ChainerX • 高速な自動微分の実装、選択可能なbackend – Chainer-compiler • Pythonから拡張ONNXフォーマットへのconvert • 拡張ONNX上における計算グラフの最適化、自動微分
  17. 17. さいごに • Preferred NetworksではDeep LearningのTrainingを高速化するMN-Core(専 用ASIC)を開発しています – GEMMに特化し半精度で524TFlopsを達成 – ワークロードを限定することで高いピーク/電力性能を実現 • ASICを使うためのソフトウェアについても研究開発を行っています – Chainerからシームレスかつ高効率にMN-Coreを利用するためのソフトウェ ア群 • 世界最高の計算機環境を作るためにやるべきことはたくさんあります!

×