SlideShare a Scribd company logo
Mobility Technologies Co., Ltd.
モバイル(エッジ)向け

ニューラルネットワーク推論エンジンの紹介

郭 卓然

Mobility Technologies Co., Ltd.
今日の内容

- 推論エンジンの紹介
- 最適化方法の紹介
- よく用いられる最適化方法の紹介
- ベンチマーク結果の紹介
- 

Mobility Technologies Co., Ltd.


Why we need Neural Networks(NN) inference engine

ニューラルネットワーク( NN)推論をエッジ端末にデプロイする場合の課題
- NN推論のパフォーマンスはエッジ端末の スペックに依存
- NN推論は多くのリソースを消費
- NN推論をエッジ端末にデプロイの 最適化が必要
- 

Mobility Technologies Co., Ltd.


What is NN inference framework

- 

- NN推論フレームワーク : Edge側でNNモデルをロードして推論、予測を行うエンジン
- NN推論エンジンのメリット:
- 最適化による推論速度向上
- モデルサイズ減少、メモリ節約
- モバイル(エッジ)デバイスへのデプロイが容易 

reference:
https://www.bilibili.com/video/BV1fQ4y1Z7Yx/
Mobility Technologies Co., Ltd.


Popular NN inference engine for edge 

その他(ベンチマーク*を元に調査対象から除外)
- TensorRT(nvida)
- Tensorflow lite (Google)
- Paddle lite(Baidu)
- MACE(xiaomi)
- TVM

Developed by Pros Cons
MNN Alibaba Supports direct model
conversion and the most
operator types
Performance is slightly
worse than TNN
ncnn Tencent Little memory footprint during
the model inference process
GPU inference requires
Vulkan API
TNN Tencent Strong performance Model conversion needs to
be based on ONNX
*: https://blog.titanwolf.in/a?ID=2db37403-84e8-47a2-8c90-3e3174e1a51b
Mobility Technologies Co., Ltd.


Introduction of MNN 

- 効率的で軽量なNN推論エンジン
- 特徴:
- 高性能:
- third-party computing librariesを依存せず、多数の 独自実装でcore Opを実現し、ARMのCPUのコンピューティングパワー
を最大限に活用
- Androidは、OpenCL、Vulkan、OpenGLのbackendをサポートして、主流な GPU(AdrenoとMali)向けに最適化
- ARM v8.2の新しいアーキテクチャに最適化した、 FP16半精度を使用して 2倍の推論速度を実現
- 軽量性:
- Android:soサイズは約400KB、OpenCLライブラリは約400KB、Vulkanライブラリは約400KB
- 汎用性:
- Tensorflow、Caffe、ONNXなどのモデルファイルと、 CNN、RNN、GANなどのネットワークをサポート
- 使いやすさ:
- MNNの画像処理モジュールがあり、 OpenCVなどが不要
- ネットワークの一部のみの実行をサポートして、 CPUとGPU間の並列操作を指定可能
- Python APIもあり、C++を書かなくても利用できる
- 
 Github: https://github.com/alibaba/MNN/blob/master/README.md
Document: https://www.yuque.com/mnn/en
Mobility Technologies Co., Ltd.
1. Frontends:

さまざまなトレーニングフレームワークをサ
ポート。

2. Graph Optimize:

演算子のfusion、およびメモリ調整によってグ
ラフを最適化

3. Engine:

モデルのロードとグラフのスケジューリングの
計算を担当

4. Backends:

各コンピューティングデバイスでのメモリ割り
当てとOperatorの実装

Introduction of MNN 

https://github.com/alibaba/MNN
Mobility Technologies Co., Ltd.


Introduction of ncnn 

- ncnnは、モバイルプラットフォーム用に最適化された高性能ニューラルネットワーク推論エンジン
- 特徴:
- オープンソース(2017~、https://github.com/Tencent/ncnn)
- 主要なNNフレームワークをほぼサポート
- PyTorch、TensorFlow、ONNX、など
- 複数のエッジデバイス (CPUとGPU)に対応
- NVIDIA、AMD、Intel、Qualcomm、Apple、など
- third-party computing librariesに非依存
- 100% C++実装、AndroidとiOSをサポート
- 優秀なメモリ管理とデータ構造設計によって省メモリ
- Vulkan APIに基づくGPUアクセラレーションをサポート
- ライブラリ全体のボリュームは 700K(場合によっては300K)未満
- 

reference: https://www.bilibili.com/video/BV1fQ4y1Z7Yx/
Mobility Technologies Co., Ltd.
Introduction of ncnn 

ncnn AI デモ:



● Object detection

● Face parsing 

● Super resolution 

● Frame interpolation 






 refernce:https://github.com/Tencent/ncnn 

Mobility Technologies Co., Ltd.


Introduction of TNN 

- クロスプラットフォーム、高性能、モデル圧縮を備えた軽量の NN推論エンジン
- 特徴:
- オープンソース( https://github.com/Tencent/TNN/blob/master/README.md)
- ncnnがベース
- ncnnに比べ、モバイルデバイスのサポートとパフォーマンスの最適化がさらに強化
- 計算の最適化:
- さまざまなアーキテクチャのハードウェア特性に応じて、 TNNはOpを大幅に最適化し、ハードウェアの計
算能力を最大限に活用
- 主流のハードウェアプラットフォーム( CPU:ARMv7、ARMv8、X86 GPU:Mali、Adreno、Apple、NV
GPU)ディープチューニング
- 効率的なConvolution (Winograd、Tile-GEMM、Direct Conv、など)
- 低精度の最適化:
- INT8、FP16の低精度計算をサポート
- モデルサイズとメモリ消費の削減と計算速度の向上を実現
- INT8 Winogradアルゴリズム(入力 6ビット)をサポート
- 精度を満たしている場合、モデル計算の複雑さをさらに軽減
- 複数精度の混合計算をサポートし
- モデルの精度を確保しながら計算を高速化 

Mobility Technologies Co., Ltd.




TNN Architecture

https://github.com/Tencent/TNN/blob/master/README.md
Mobility Technologies Co., Ltd.
NN frameworks common optimization method

❏ Operator fusion
❏ FP16/BF16 precision
❏ Quantization
Mobility Technologies Co., Ltd.
Operator fusion

blob1
x=min(x,10)
blob2
x=max(x,0)
blob3
min演算子とmax演
算子を1つの演算に
融合することで演算
子の推論速度を高
速化
blob1
x=max(min(x,10),0)
blob3
blob = Binary Large OBject、バイナリデータを表すオブジェクト、格納するための型
Mobility Technologies Co., Ltd.






FP16/BF16 precision

FP32 Tensor
FP16
Tensor
BF16
Tensor
FP16演算子kernel、
A55、A75などのアー
キテクチャをサポート
BF16演算子kernel、
すべてのARMCPUを
サポート
● FP/BF16は16ビットを使用して浮動小数点数を表現
● FP32より、50%のメモリを節約
● 演算子kernelはより効率的な実現
● 推論速度が向上
Mobility Technologies Co., Ltd.






Quantization

convolution
relu
convolution
FP32blob
FP32blob
FP32blob
FP32blob
quantize
int8 convolution
dequantize
quantize
int8 convolution
dequantize
relu
FP32blob
FP32blob
FP32blob
FP32blob
int8 convolution
quantize
int8 convolution
requantize
requantize
FP32blob
INT8blob
INT8blob
Mobility Technologies Co., Ltd.






NN benchmark performance 

https://www.zhihu.com/question/400143354
Snapdragon845 Performance Snapdragon835 Performance
ms
ms
Mobility Technologies Co., Ltd.
Merit and Demerit of the NN inference engines 

- 長所
- アプリケーションへの組み込みがしやすい(依存がすくない、バイナリが軽い)
- モデルの推論速度向上
- モデルサイズ減少、メモリ節約
- 短所
- 推論結果に誤差がある場合がある

More Related Content

What's hot

You Only Look One-level Featureの解説と見せかけた物体検出のよもやま話
You Only Look One-level Featureの解説と見せかけた物体検出のよもやま話You Only Look One-level Featureの解説と見せかけた物体検出のよもやま話
You Only Look One-level Featureの解説と見せかけた物体検出のよもやま話
Yusuke Uchida
 
backbone としての timm 入門
backbone としての timm 入門backbone としての timm 入門
backbone としての timm 入門
Takuji Tahara
 
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
SSII
 
モデルアーキテクチャ観点からのDeep Neural Network高速化
モデルアーキテクチャ観点からのDeep Neural Network高速化モデルアーキテクチャ観点からのDeep Neural Network高速化
モデルアーキテクチャ観点からのDeep Neural Network高速化
Yusuke Uchida
 
MS COCO Dataset Introduction
MS COCO Dataset IntroductionMS COCO Dataset Introduction
MS COCO Dataset Introduction
Shinagawa Seitaro
 
Person Re-Identification におけるRe-ranking のための K reciprocal-encoding
Person Re-Identification におけるRe-ranking のための K reciprocal-encodingPerson Re-Identification におけるRe-ranking のための K reciprocal-encoding
Person Re-Identification におけるRe-ranking のための K reciprocal-encoding
tancoro
 
畳み込みニューラルネットワークの研究動向
畳み込みニューラルネットワークの研究動向畳み込みニューラルネットワークの研究動向
畳み込みニューラルネットワークの研究動向
Yusuke Uchida
 
SSII2018TS: コンピュテーショナルイルミネーション
SSII2018TS: コンピュテーショナルイルミネーションSSII2018TS: コンピュテーショナルイルミネーション
SSII2018TS: コンピュテーショナルイルミネーション
SSII
 
Anomaly detection 系の論文を一言でまとめた
Anomaly detection 系の論文を一言でまとめたAnomaly detection 系の論文を一言でまとめた
Anomaly detection 系の論文を一言でまとめた
ぱんいち すみもと
 
【論文読み会】Self-Attention Generative Adversarial Networks
【論文読み会】Self-Attention Generative  Adversarial Networks【論文読み会】Self-Attention Generative  Adversarial Networks
【論文読み会】Self-Attention Generative Adversarial Networks
ARISE analytics
 
Data-centricなML開発
Data-centricなML開発Data-centricなML開発
Data-centricなML開発
Takeshi Suzuki
 
Data-Centric AIの紹介
Data-Centric AIの紹介Data-Centric AIの紹介
Data-Centric AIの紹介
Kazuyuki Miyazawa
 
RAFT: Recurrent All-Pairs Field Transforms for Optical Flow
RAFT: Recurrent All-Pairs Field Transforms for Optical FlowRAFT: Recurrent All-Pairs Field Transforms for Optical Flow
RAFT: Recurrent All-Pairs Field Transforms for Optical Flow
MasanoriSuganuma
 
[DL輪読会]ICLR2020の分布外検知速報
[DL輪読会]ICLR2020の分布外検知速報[DL輪読会]ICLR2020の分布外検知速報
[DL輪読会]ICLR2020の分布外検知速報
Deep Learning JP
 
[ICML2019読み会in京都] Agnostic Federated Learning
[ICML2019読み会in京都] Agnostic Federated Learning[ICML2019読み会in京都] Agnostic Federated Learning
[ICML2019読み会in京都] Agnostic Federated Learning
Yamato OKAMOTO
 
Transformer 動向調査 in 画像認識(修正版)
Transformer 動向調査 in 画像認識(修正版)Transformer 動向調査 in 画像認識(修正版)
Transformer 動向調査 in 画像認識(修正版)
Kazuki Maeno
 
SSII2019TS: Shall We GANs?​ ~GANの基礎から最近の研究まで~
SSII2019TS: Shall We GANs?​ ~GANの基礎から最近の研究まで~SSII2019TS: Shall We GANs?​ ~GANの基礎から最近の研究まで~
SSII2019TS: Shall We GANs?​ ~GANの基礎から最近の研究まで~
SSII
 
Trend of 3D object detections
Trend of 3D object detectionsTrend of 3D object detections
Trend of 3D object detections
Eiji Sekiya
 
【論文読み会】Deep Clustering for Unsupervised Learning of Visual Features
【論文読み会】Deep Clustering for Unsupervised Learning of Visual Features【論文読み会】Deep Clustering for Unsupervised Learning of Visual Features
【論文読み会】Deep Clustering for Unsupervised Learning of Visual Features
ARISE analytics
 
[DL輪読会]EfficientDet: Scalable and Efficient Object Detection
[DL輪読会]EfficientDet: Scalable and Efficient Object Detection[DL輪読会]EfficientDet: Scalable and Efficient Object Detection
[DL輪読会]EfficientDet: Scalable and Efficient Object Detection
Deep Learning JP
 

What's hot (20)

You Only Look One-level Featureの解説と見せかけた物体検出のよもやま話
You Only Look One-level Featureの解説と見せかけた物体検出のよもやま話You Only Look One-level Featureの解説と見せかけた物体検出のよもやま話
You Only Look One-level Featureの解説と見せかけた物体検出のよもやま話
 
backbone としての timm 入門
backbone としての timm 入門backbone としての timm 入門
backbone としての timm 入門
 
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
 
モデルアーキテクチャ観点からのDeep Neural Network高速化
モデルアーキテクチャ観点からのDeep Neural Network高速化モデルアーキテクチャ観点からのDeep Neural Network高速化
モデルアーキテクチャ観点からのDeep Neural Network高速化
 
MS COCO Dataset Introduction
MS COCO Dataset IntroductionMS COCO Dataset Introduction
MS COCO Dataset Introduction
 
Person Re-Identification におけるRe-ranking のための K reciprocal-encoding
Person Re-Identification におけるRe-ranking のための K reciprocal-encodingPerson Re-Identification におけるRe-ranking のための K reciprocal-encoding
Person Re-Identification におけるRe-ranking のための K reciprocal-encoding
 
畳み込みニューラルネットワークの研究動向
畳み込みニューラルネットワークの研究動向畳み込みニューラルネットワークの研究動向
畳み込みニューラルネットワークの研究動向
 
SSII2018TS: コンピュテーショナルイルミネーション
SSII2018TS: コンピュテーショナルイルミネーションSSII2018TS: コンピュテーショナルイルミネーション
SSII2018TS: コンピュテーショナルイルミネーション
 
Anomaly detection 系の論文を一言でまとめた
Anomaly detection 系の論文を一言でまとめたAnomaly detection 系の論文を一言でまとめた
Anomaly detection 系の論文を一言でまとめた
 
【論文読み会】Self-Attention Generative Adversarial Networks
【論文読み会】Self-Attention Generative  Adversarial Networks【論文読み会】Self-Attention Generative  Adversarial Networks
【論文読み会】Self-Attention Generative Adversarial Networks
 
Data-centricなML開発
Data-centricなML開発Data-centricなML開発
Data-centricなML開発
 
Data-Centric AIの紹介
Data-Centric AIの紹介Data-Centric AIの紹介
Data-Centric AIの紹介
 
RAFT: Recurrent All-Pairs Field Transforms for Optical Flow
RAFT: Recurrent All-Pairs Field Transforms for Optical FlowRAFT: Recurrent All-Pairs Field Transforms for Optical Flow
RAFT: Recurrent All-Pairs Field Transforms for Optical Flow
 
[DL輪読会]ICLR2020の分布外検知速報
[DL輪読会]ICLR2020の分布外検知速報[DL輪読会]ICLR2020の分布外検知速報
[DL輪読会]ICLR2020の分布外検知速報
 
[ICML2019読み会in京都] Agnostic Federated Learning
[ICML2019読み会in京都] Agnostic Federated Learning[ICML2019読み会in京都] Agnostic Federated Learning
[ICML2019読み会in京都] Agnostic Federated Learning
 
Transformer 動向調査 in 画像認識(修正版)
Transformer 動向調査 in 画像認識(修正版)Transformer 動向調査 in 画像認識(修正版)
Transformer 動向調査 in 画像認識(修正版)
 
SSII2019TS: Shall We GANs?​ ~GANの基礎から最近の研究まで~
SSII2019TS: Shall We GANs?​ ~GANの基礎から最近の研究まで~SSII2019TS: Shall We GANs?​ ~GANの基礎から最近の研究まで~
SSII2019TS: Shall We GANs?​ ~GANの基礎から最近の研究まで~
 
Trend of 3D object detections
Trend of 3D object detectionsTrend of 3D object detections
Trend of 3D object detections
 
【論文読み会】Deep Clustering for Unsupervised Learning of Visual Features
【論文読み会】Deep Clustering for Unsupervised Learning of Visual Features【論文読み会】Deep Clustering for Unsupervised Learning of Visual Features
【論文読み会】Deep Clustering for Unsupervised Learning of Visual Features
 
[DL輪読会]EfficientDet: Scalable and Efficient Object Detection
[DL輪読会]EfficientDet: Scalable and Efficient Object Detection[DL輪読会]EfficientDet: Scalable and Efficient Object Detection
[DL輪読会]EfficientDet: Scalable and Efficient Object Detection
 

Similar to モバイル向けニューラルネットワーク推論エンジンの紹介

Ncnn a universal and efficient neural network inference with vulkan
Ncnn  a universal and efficient neural network inference with vulkanNcnn  a universal and efficient neural network inference with vulkan
Ncnn a universal and efficient neural network inference with vulkan
kcnguo
 
GPU と PYTHON と、それから最近の NVIDIA
GPU と PYTHON と、それから最近の NVIDIAGPU と PYTHON と、それから最近の NVIDIA
GPU と PYTHON と、それから最近の NVIDIA
NVIDIA Japan
 
Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編
Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編
Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編
Daiyu Hatakeyama
 
NVIDIA Deep Learning SDK を利用した画像認識
NVIDIA Deep Learning SDK を利用した画像認識NVIDIA Deep Learning SDK を利用した画像認識
NVIDIA Deep Learning SDK を利用した画像認識
NVIDIA Japan
 
マイクロソフトが考えるAI活用のロードマップ
マイクロソフトが考えるAI活用のロードマップマイクロソフトが考えるAI活用のロードマップ
マイクロソフトが考えるAI活用のロードマップ
Deep Learning Lab(ディープラーニング・ラボ)
 
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-
Takashi Sogabe
 
GPU Container as a Service を実現するための最新OSS徹底比較
GPU Container as a Service を実現するための最新OSS徹底比較GPU Container as a Service を実現するための最新OSS徹底比較
GPU Container as a Service を実現するための最新OSS徹底比較
NTT Communications Technology Development
 
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
NTT Communications Technology Development
 
【Interop Tokyo 2016】 Seminar - EA-08 : シスコ データセンターSDN戦略、3本の矢
【Interop Tokyo 2016】 Seminar - EA-08 : シスコ データセンターSDN戦略、3本の矢【Interop Tokyo 2016】 Seminar - EA-08 : シスコ データセンターSDN戦略、3本の矢
【Interop Tokyo 2016】 Seminar - EA-08 : シスコ データセンターSDN戦略、3本の矢
シスコシステムズ合同会社
 
20171206 Sony Neural Network Console 活用テクニック
20171206 Sony Neural Network Console 活用テクニック20171206 Sony Neural Network Console 活用テクニック
20171206 Sony Neural Network Console 活用テクニック
Sony Network Communications Inc.
 
Azure Antenna AI 概要
Azure Antenna AI 概要Azure Antenna AI 概要
Azure Antenna AI 概要
Miho Yamamoto
 
エヌビディアが加速するディープラーニング ~進化するニューラルネットワークとその開発方法について~
エヌビディアが加速するディープラーニング ~進化するニューラルネットワークとその開発方法について~エヌビディアが加速するディープラーニング ~進化するニューラルネットワークとその開発方法について~
エヌビディアが加速するディープラーニング ~進化するニューラルネットワークとその開発方法について~
NVIDIA Japan
 
OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」
OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」
OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」
Nobuyuki Tamaoki
 
NVIDIA cuQuantum SDK による量子回路シミュレーターの高速化
NVIDIA cuQuantum SDK による量子回路シミュレーターの高速化NVIDIA cuQuantum SDK による量子回路シミュレーターの高速化
NVIDIA cuQuantum SDK による量子回路シミュレーターの高速化
NVIDIA Japan
 
MEC (Mobile Edge Computing) + GPUコンピューティングについて
MEC (Mobile Edge Computing) + GPUコンピューティングについてMEC (Mobile Edge Computing) + GPUコンピューティングについて
MEC (Mobile Edge Computing) + GPUコンピューティングについて
VirtualTech Japan Inc.
 
Optimizing Overlay-based Virtual Networking Through Optimistic Interrupts and...
Optimizing Overlay-based Virtual Networking Through Optimistic Interrupts and...Optimizing Overlay-based Virtual Networking Through Optimistic Interrupts and...
Optimizing Overlay-based Virtual Networking Through Optimistic Interrupts and...
Ryousei Takano
 
第14回 KAIM M5StickV(K210)をDNNアクセラレータとして使おうとした試み
第14回 KAIM M5StickV(K210)をDNNアクセラレータとして使おうとした試み第14回 KAIM M5StickV(K210)をDNNアクセラレータとして使おうとした試み
第14回 KAIM M5StickV(K210)をDNNアクセラレータとして使おうとした試み
tomitomi3 tomitomi3
 
Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会
Dai Utsui
 
VIOPS09: 圧倒的なコストパフォーマンスを実現するクラウドアーキテクチャの秘密
VIOPS09: 圧倒的なコストパフォーマンスを実現するクラウドアーキテクチャの秘密VIOPS09: 圧倒的なコストパフォーマンスを実現するクラウドアーキテクチャの秘密
VIOPS09: 圧倒的なコストパフォーマンスを実現するクラウドアーキテクチャの秘密
VIOPS Virtualized Infrastructure Operators group ARCHIVES
 
Okinawa Open Days 2014 OpenStackハンズオンセミナー / OpenStackの機能概要
Okinawa Open Days 2014 OpenStackハンズオンセミナー / OpenStackの機能概要Okinawa Open Days 2014 OpenStackハンズオンセミナー / OpenStackの機能概要
Okinawa Open Days 2014 OpenStackハンズオンセミナー / OpenStackの機能概要Etsuji Nakai
 

Similar to モバイル向けニューラルネットワーク推論エンジンの紹介 (20)

Ncnn a universal and efficient neural network inference with vulkan
Ncnn  a universal and efficient neural network inference with vulkanNcnn  a universal and efficient neural network inference with vulkan
Ncnn a universal and efficient neural network inference with vulkan
 
GPU と PYTHON と、それから最近の NVIDIA
GPU と PYTHON と、それから最近の NVIDIAGPU と PYTHON と、それから最近の NVIDIA
GPU と PYTHON と、それから最近の NVIDIA
 
Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編
Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編
Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編
 
NVIDIA Deep Learning SDK を利用した画像認識
NVIDIA Deep Learning SDK を利用した画像認識NVIDIA Deep Learning SDK を利用した画像認識
NVIDIA Deep Learning SDK を利用した画像認識
 
マイクロソフトが考えるAI活用のロードマップ
マイクロソフトが考えるAI活用のロードマップマイクロソフトが考えるAI活用のロードマップ
マイクロソフトが考えるAI活用のロードマップ
 
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-
 
GPU Container as a Service を実現するための最新OSS徹底比較
GPU Container as a Service を実現するための最新OSS徹底比較GPU Container as a Service を実現するための最新OSS徹底比較
GPU Container as a Service を実現するための最新OSS徹底比較
 
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
 
【Interop Tokyo 2016】 Seminar - EA-08 : シスコ データセンターSDN戦略、3本の矢
【Interop Tokyo 2016】 Seminar - EA-08 : シスコ データセンターSDN戦略、3本の矢【Interop Tokyo 2016】 Seminar - EA-08 : シスコ データセンターSDN戦略、3本の矢
【Interop Tokyo 2016】 Seminar - EA-08 : シスコ データセンターSDN戦略、3本の矢
 
20171206 Sony Neural Network Console 活用テクニック
20171206 Sony Neural Network Console 活用テクニック20171206 Sony Neural Network Console 活用テクニック
20171206 Sony Neural Network Console 活用テクニック
 
Azure Antenna AI 概要
Azure Antenna AI 概要Azure Antenna AI 概要
Azure Antenna AI 概要
 
エヌビディアが加速するディープラーニング ~進化するニューラルネットワークとその開発方法について~
エヌビディアが加速するディープラーニング ~進化するニューラルネットワークとその開発方法について~エヌビディアが加速するディープラーニング ~進化するニューラルネットワークとその開発方法について~
エヌビディアが加速するディープラーニング ~進化するニューラルネットワークとその開発方法について~
 
OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」
OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」
OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」
 
NVIDIA cuQuantum SDK による量子回路シミュレーターの高速化
NVIDIA cuQuantum SDK による量子回路シミュレーターの高速化NVIDIA cuQuantum SDK による量子回路シミュレーターの高速化
NVIDIA cuQuantum SDK による量子回路シミュレーターの高速化
 
MEC (Mobile Edge Computing) + GPUコンピューティングについて
MEC (Mobile Edge Computing) + GPUコンピューティングについてMEC (Mobile Edge Computing) + GPUコンピューティングについて
MEC (Mobile Edge Computing) + GPUコンピューティングについて
 
Optimizing Overlay-based Virtual Networking Through Optimistic Interrupts and...
Optimizing Overlay-based Virtual Networking Through Optimistic Interrupts and...Optimizing Overlay-based Virtual Networking Through Optimistic Interrupts and...
Optimizing Overlay-based Virtual Networking Through Optimistic Interrupts and...
 
第14回 KAIM M5StickV(K210)をDNNアクセラレータとして使おうとした試み
第14回 KAIM M5StickV(K210)をDNNアクセラレータとして使おうとした試み第14回 KAIM M5StickV(K210)をDNNアクセラレータとして使おうとした試み
第14回 KAIM M5StickV(K210)をDNNアクセラレータとして使おうとした試み
 
Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会
 
VIOPS09: 圧倒的なコストパフォーマンスを実現するクラウドアーキテクチャの秘密
VIOPS09: 圧倒的なコストパフォーマンスを実現するクラウドアーキテクチャの秘密VIOPS09: 圧倒的なコストパフォーマンスを実現するクラウドアーキテクチャの秘密
VIOPS09: 圧倒的なコストパフォーマンスを実現するクラウドアーキテクチャの秘密
 
Okinawa Open Days 2014 OpenStackハンズオンセミナー / OpenStackの機能概要
Okinawa Open Days 2014 OpenStackハンズオンセミナー / OpenStackの機能概要Okinawa Open Days 2014 OpenStackハンズオンセミナー / OpenStackの機能概要
Okinawa Open Days 2014 OpenStackハンズオンセミナー / OpenStackの機能概要
 

モバイル向けニューラルネットワーク推論エンジンの紹介

  • 1. Mobility Technologies Co., Ltd. モバイル(エッジ)向け
 ニューラルネットワーク推論エンジンの紹介
 郭 卓然

  • 2. Mobility Technologies Co., Ltd. 今日の内容
 - 推論エンジンの紹介 - 最適化方法の紹介 - よく用いられる最適化方法の紹介 - ベンチマーク結果の紹介 - 

  • 3. Mobility Technologies Co., Ltd. 
 Why we need Neural Networks(NN) inference engine
 ニューラルネットワーク( NN)推論をエッジ端末にデプロイする場合の課題 - NN推論のパフォーマンスはエッジ端末の スペックに依存 - NN推論は多くのリソースを消費 - NN推論をエッジ端末にデプロイの 最適化が必要 - 

  • 4. Mobility Technologies Co., Ltd. 
 What is NN inference framework
 - 
 - NN推論フレームワーク : Edge側でNNモデルをロードして推論、予測を行うエンジン - NN推論エンジンのメリット: - 最適化による推論速度向上 - モデルサイズ減少、メモリ節約 - モバイル(エッジ)デバイスへのデプロイが容易 
 reference: https://www.bilibili.com/video/BV1fQ4y1Z7Yx/
  • 5. Mobility Technologies Co., Ltd. 
 Popular NN inference engine for edge 
 その他(ベンチマーク*を元に調査対象から除外) - TensorRT(nvida) - Tensorflow lite (Google) - Paddle lite(Baidu) - MACE(xiaomi) - TVM
 Developed by Pros Cons MNN Alibaba Supports direct model conversion and the most operator types Performance is slightly worse than TNN ncnn Tencent Little memory footprint during the model inference process GPU inference requires Vulkan API TNN Tencent Strong performance Model conversion needs to be based on ONNX *: https://blog.titanwolf.in/a?ID=2db37403-84e8-47a2-8c90-3e3174e1a51b
  • 6. Mobility Technologies Co., Ltd. 
 Introduction of MNN 
 - 効率的で軽量なNN推論エンジン - 特徴: - 高性能: - third-party computing librariesを依存せず、多数の 独自実装でcore Opを実現し、ARMのCPUのコンピューティングパワー を最大限に活用 - Androidは、OpenCL、Vulkan、OpenGLのbackendをサポートして、主流な GPU(AdrenoとMali)向けに最適化 - ARM v8.2の新しいアーキテクチャに最適化した、 FP16半精度を使用して 2倍の推論速度を実現 - 軽量性: - Android:soサイズは約400KB、OpenCLライブラリは約400KB、Vulkanライブラリは約400KB - 汎用性: - Tensorflow、Caffe、ONNXなどのモデルファイルと、 CNN、RNN、GANなどのネットワークをサポート - 使いやすさ: - MNNの画像処理モジュールがあり、 OpenCVなどが不要 - ネットワークの一部のみの実行をサポートして、 CPUとGPU間の並列操作を指定可能 - Python APIもあり、C++を書かなくても利用できる - 
 Github: https://github.com/alibaba/MNN/blob/master/README.md Document: https://www.yuque.com/mnn/en
  • 7. Mobility Technologies Co., Ltd. 1. Frontends:
 さまざまなトレーニングフレームワークをサ ポート。
 2. Graph Optimize:
 演算子のfusion、およびメモリ調整によってグ ラフを最適化
 3. Engine:
 モデルのロードとグラフのスケジューリングの 計算を担当
 4. Backends:
 各コンピューティングデバイスでのメモリ割り 当てとOperatorの実装
 Introduction of MNN 
 https://github.com/alibaba/MNN
  • 8. Mobility Technologies Co., Ltd. 
 Introduction of ncnn 
 - ncnnは、モバイルプラットフォーム用に最適化された高性能ニューラルネットワーク推論エンジン - 特徴: - オープンソース(2017~、https://github.com/Tencent/ncnn) - 主要なNNフレームワークをほぼサポート - PyTorch、TensorFlow、ONNX、など - 複数のエッジデバイス (CPUとGPU)に対応 - NVIDIA、AMD、Intel、Qualcomm、Apple、など - third-party computing librariesに非依存 - 100% C++実装、AndroidとiOSをサポート - 優秀なメモリ管理とデータ構造設計によって省メモリ - Vulkan APIに基づくGPUアクセラレーションをサポート - ライブラリ全体のボリュームは 700K(場合によっては300K)未満 - 
 reference: https://www.bilibili.com/video/BV1fQ4y1Z7Yx/
  • 9. Mobility Technologies Co., Ltd. Introduction of ncnn 
 ncnn AI デモ:
 
 ● Object detection
 ● Face parsing 
 ● Super resolution 
 ● Frame interpolation 
 
 
 
 refernce:https://github.com/Tencent/ncnn 

  • 10. Mobility Technologies Co., Ltd. 
 Introduction of TNN 
 - クロスプラットフォーム、高性能、モデル圧縮を備えた軽量の NN推論エンジン - 特徴: - オープンソース( https://github.com/Tencent/TNN/blob/master/README.md) - ncnnがベース - ncnnに比べ、モバイルデバイスのサポートとパフォーマンスの最適化がさらに強化 - 計算の最適化: - さまざまなアーキテクチャのハードウェア特性に応じて、 TNNはOpを大幅に最適化し、ハードウェアの計 算能力を最大限に活用 - 主流のハードウェアプラットフォーム( CPU:ARMv7、ARMv8、X86 GPU:Mali、Adreno、Apple、NV GPU)ディープチューニング - 効率的なConvolution (Winograd、Tile-GEMM、Direct Conv、など) - 低精度の最適化: - INT8、FP16の低精度計算をサポート - モデルサイズとメモリ消費の削減と計算速度の向上を実現 - INT8 Winogradアルゴリズム(入力 6ビット)をサポート - 精度を満たしている場合、モデル計算の複雑さをさらに軽減 - 複数精度の混合計算をサポートし - モデルの精度を確保しながら計算を高速化 

  • 11. Mobility Technologies Co., Ltd. 
 
 TNN Architecture
 https://github.com/Tencent/TNN/blob/master/README.md
  • 12. Mobility Technologies Co., Ltd. NN frameworks common optimization method
 ❏ Operator fusion ❏ FP16/BF16 precision ❏ Quantization
  • 13. Mobility Technologies Co., Ltd. Operator fusion
 blob1 x=min(x,10) blob2 x=max(x,0) blob3 min演算子とmax演 算子を1つの演算に 融合することで演算 子の推論速度を高 速化 blob1 x=max(min(x,10),0) blob3 blob = Binary Large OBject、バイナリデータを表すオブジェクト、格納するための型
  • 14. Mobility Technologies Co., Ltd. 
 
 
 FP16/BF16 precision
 FP32 Tensor FP16 Tensor BF16 Tensor FP16演算子kernel、 A55、A75などのアー キテクチャをサポート BF16演算子kernel、 すべてのARMCPUを サポート ● FP/BF16は16ビットを使用して浮動小数点数を表現 ● FP32より、50%のメモリを節約 ● 演算子kernelはより効率的な実現 ● 推論速度が向上
  • 15. Mobility Technologies Co., Ltd. 
 
 
 Quantization
 convolution relu convolution FP32blob FP32blob FP32blob FP32blob quantize int8 convolution dequantize quantize int8 convolution dequantize relu FP32blob FP32blob FP32blob FP32blob int8 convolution quantize int8 convolution requantize requantize FP32blob INT8blob INT8blob
  • 16. Mobility Technologies Co., Ltd. 
 
 
 NN benchmark performance 
 https://www.zhihu.com/question/400143354 Snapdragon845 Performance Snapdragon835 Performance ms ms
  • 17. Mobility Technologies Co., Ltd. Merit and Demerit of the NN inference engines 
 - 長所 - アプリケーションへの組み込みがしやすい(依存がすくない、バイナリが軽い) - モデルの推論速度向上 - モデルサイズ減少、メモリ節約 - 短所 - 推論結果に誤差がある場合がある