SlideShare a Scribd company logo
© DeNA Co., Ltd.
AutoTVMの紹介
Halide勉強会 LT
July 28, 2018
Tomohiro Kato
AI System Dept.
DeNA Co., Ltd.
© DeNA Co., Ltd.
2
© DeNA Co., Ltd.
3
© DeNA Co., Ltd.
自己紹介
 加藤 倫弘 (かとう ともひろ)
 ㈱ DeNA システム本部 AIシステム部
 Computer Vision関連のプロジェクトを担当
 最近書いた(link)
 Chainer → NNVM/TVM → Androidの話
 NN DistillerでPytorchモデルのpruningする
 DeepLearningのモデル軽量化 (ICLR2018)
 Efficient Neural Network Architecture Serach論文紹介
4
@_tkato_Twitter
© DeNA Co., Ltd.
背景
 DeepLearning技術をプロダクトで利用したい
 サーバーサイドGPUだけでなく、モバイルCPU/GPUで動かしたい
 多様なデバイスに対応したい
⁃ でも高速に動かしたい
⁃ でも精度は保ちたい
• でも開発コストを抑えたい
 Tensorflow Lite, Caffe2, OpenCVなど選択肢が増えては来たが、
速度とデプロイ周りのtoolchain的にTVMには期待し、調査中
5
© DeNA Co., Ltd.
TVM Stack overview
 DeepLearningモデル → ターゲットHWで動くlow-level codeを生成
 推論用
6from [1]
計算グラフの最適化
実装の最適化
ONNXなど経由して
モデルをインポート
ターゲット向けビルド
© DeNA Co., Ltd.
TVMのspeed
 cuDNN等は使わず、直接GPUカーネルを生成できる
 workload毎にScheduleを最適化でき、End-to-Endの推論も高速化
7
ひとえにconv2dと言っても
入出力サイズやカーネルサイズに応じて
ハードウェアを効率よく使うために
実装の最適化が必要
人手でやるのは、とてもつらい
from [1]
© DeNA Co., Ltd.
Schedule
 ScheduleはPythonで記述するが、ハイパーパラメータチューニングは必須
⁃ 以下、行列の積和演算がScheduleによってどんなlow level codeになるかの例
⁃ これはまだ単純だが、convとかになると複雑に...
8from [2] Figue.1
© DeNA Co., Ltd.
9
AutoTVM
機械学習により、高速なScheduleを獲得する
© DeNA Co., Ltd.
AutoTVM overview
 “Learning to Optimize Tensor Programs” [2]
⁃ 問題を定式化しAutoTVMの提案、各コンポーネントの設計戦略を実験的に評価
⁃ コストモデルでlow level codeの実行時間を推定し、速いcodeを探索
⁃ 探索を重ねる毎に、高速化されていく
⁃ あるモデルについて既存DeepLearningフレームワークより x1.2 ~ x3.8 高速化
 [AUTOTVM] Auto-tuning module for tvm #1311
⁃ https://github.com/dmlc/tvm/issues/1311
⁃ コアコンポーネントはマージ済
• https://github.com/dmlc/tvm/tree/master/python/tvm/autotvm
⁃ Tutorialもあるので、本日デモします
10
© DeNA Co., Ltd.
AutoTVM components
11アルゴリズムの詳細は[2]、または autotvm/tuner/tuner.py#L67-L131 参照
数式とScheduleからlow level code生成
そのコスト(実行時間)を最小化するScheduleを探索
while n_trials < max_trials:
コストモデルが推定するコストが低いscheduleをサンプル
デバイスでscheduleを実測
実測結果でコストモデルを更新(学習)
trialの履歴から最速のscheduleを選択
from [2] Figure.2
© DeNA Co., Ltd.
Demo
 Tuning High Performance Convolution on NVIDIA GPUs
 https://docs.tvm.ai/tutorials/autotvm/tune_cuda_conv2d.html
⁃ TVMが公式に提供するAutoTVMの簡単なtutorial
⁃ 仕組みを把握するのに便利
⁃ AutoTVMのAPIは、ローカルのGPUだけでなく、
RPCでAndroidやRaspberry Piでも使えるように対応されているので
あとで試してみたい
12
© DeNA Co., Ltd.
statistical cost model
 モデル
⁃ XGBoost or TreeGRU
 特徴量
⁃ loop length, annotation(unrollなど), メモリのアクセス回数など
⁃ workloadによらない汎用的な特徴とすることで、転移学習もできる
⁃ 詳細は [2] appendix or 実装
 Loss関数
⁃ 実行時間の回帰より、rank lossが性能が良かった
13
© DeNA Co., Ltd.
実験結果: コストモデルの比較
 提案のGBT, TreeGRUが最終的な性能も収束の速さでも優れている
⁃ C1などはconvolutionの異なるworkload
⁃ C3はconv1x1。差がないのは実装的に最適化しやすいから?
14from [2]
© DeNA Co., Ltd.
実験結果: 転移学習の有無
 学習したコストモデルを異なるworkload探索時の初期値としてつかう
⁃ コストモデルの併用もできる
 転移学習したほうが収束が速い
 convで学習したモデルがfully connectedにも有効
15from [2]
© DeNA Co., Ltd.
実験結果: End-to-Endの性能
 DeepLearningモデル全体の推論においても、既存フレームワークより高速
16from [2]
© DeNA Co., Ltd.
まとめと所感
 まとめ
⁃ AutoTVMにより、scheduleの自動調整が可能になってきた
 所感
⁃ End-to-Endで数倍速くなるのは嬉しい
⁃ 実装が遅いからXXXレイヤーは使えないね!と言ったモデル設計からの開放
⁃ DeepLearningモデルとデバイスだけ用意したら、
あとは勝手に最適化してくれる世界がくるんでしょうか...? 期待
⁃ ResNetなど一般的なモデルの全WorkloadのEnd-to-Endな最適化には
どれくらい時間がかかるんだろうか?試してみたい
17
© DeNA Co., Ltd.
Reference
1. Tianqi Chen. TVM: An Automated End-to-End Optimizing Compiler for Deep Learning.
arXiv:1802.04799
⁃ https://arxiv.org/abs/1802.04799
2. Tianqi Chen. Learning to Optimize Tensor Programs. arXiv:1805.08166
⁃ https://arxiv.org/abs/1805.08166
18

More Related Content

What's hot

プログラムを高速化する話
プログラムを高速化する話プログラムを高速化する話
プログラムを高速化する話
京大 マイコンクラブ
 
【DL輪読会】The Forward-Forward Algorithm: Some Preliminary
【DL輪読会】The Forward-Forward Algorithm: Some Preliminary【DL輪読会】The Forward-Forward Algorithm: Some Preliminary
【DL輪読会】The Forward-Forward Algorithm: Some Preliminary
Deep Learning JP
 
冬のLock free祭り safe
冬のLock free祭り safe冬のLock free祭り safe
冬のLock free祭り safeKumazaki Hiroki
 
Active Learning の基礎と最近の研究
Active Learning の基礎と最近の研究Active Learning の基礎と最近の研究
Active Learning の基礎と最近の研究
Fumihiko Takahashi
 
SSE4.2の文字列処理命令の紹介
SSE4.2の文字列処理命令の紹介SSE4.2の文字列処理命令の紹介
SSE4.2の文字列処理命令の紹介
MITSUNARI Shigeo
 
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門Norishige Fukushima
 
TVMの次期グラフIR Relayの紹介
TVMの次期グラフIR Relayの紹介TVMの次期グラフIR Relayの紹介
TVMの次期グラフIR Relayの紹介
Takeo Imai
 
AIチップ戦国時代における深層学習モデルの推論の最適化と実用的な運用を可能にするソフトウェア技術について
AIチップ戦国時代における深層学習モデルの推論の最適化と実用的な運用を可能にするソフトウェア技術についてAIチップ戦国時代における深層学習モデルの推論の最適化と実用的な運用を可能にするソフトウェア技術について
AIチップ戦国時代における深層学習モデルの推論の最適化と実用的な運用を可能にするソフトウェア技術について
Fixstars Corporation
 
動作認識の最前線:手法,タスク,データセット
動作認識の最前線:手法,タスク,データセット動作認識の最前線:手法,タスク,データセット
動作認識の最前線:手法,タスク,データセット
Toru Tamaki
 
SSII2022 [OS3-02] Federated Learningの基礎と応用
SSII2022 [OS3-02] Federated Learningの基礎と応用SSII2022 [OS3-02] Federated Learningの基礎と応用
SSII2022 [OS3-02] Federated Learningの基礎と応用
SSII
 
MASTERING ATARI WITH DISCRETE WORLD MODELS (DreamerV2)
MASTERING ATARI WITH DISCRETE WORLD MODELS (DreamerV2)MASTERING ATARI WITH DISCRETE WORLD MODELS (DreamerV2)
MASTERING ATARI WITH DISCRETE WORLD MODELS (DreamerV2)
harmonylab
 
【チュートリアル】コンピュータビジョンによる動画認識
【チュートリアル】コンピュータビジョンによる動画認識【チュートリアル】コンピュータビジョンによる動画認識
【チュートリアル】コンピュータビジョンによる動画認識
Hirokatsu Kataoka
 
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
 
DockerコンテナでGitを使う
DockerコンテナでGitを使うDockerコンテナでGitを使う
DockerコンテナでGitを使う
Kazuhiro Suga
 
全力解説!Transformer
全力解説!Transformer全力解説!Transformer
全力解説!Transformer
Arithmer Inc.
 
Automatic Mixed Precision の紹介
Automatic Mixed Precision の紹介Automatic Mixed Precision の紹介
Automatic Mixed Precision の紹介
Kuninobu SaSaki
 
強化学習アルゴリズムPPOの解説と実験
強化学習アルゴリズムPPOの解説と実験強化学習アルゴリズムPPOの解説と実験
強化学習アルゴリズムPPOの解説と実験
克海 納谷
 
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門
Fixstars Corporation
 
AVX-512(フォーマット)詳解
AVX-512(フォーマット)詳解AVX-512(フォーマット)詳解
AVX-512(フォーマット)詳解
MITSUNARI Shigeo
 
HalideでつくるDomain Specific Architectureの世界
HalideでつくるDomain Specific Architectureの世界HalideでつくるDomain Specific Architectureの世界
HalideでつくるDomain Specific Architectureの世界
Fixstars Corporation
 

What's hot (20)

プログラムを高速化する話
プログラムを高速化する話プログラムを高速化する話
プログラムを高速化する話
 
【DL輪読会】The Forward-Forward Algorithm: Some Preliminary
【DL輪読会】The Forward-Forward Algorithm: Some Preliminary【DL輪読会】The Forward-Forward Algorithm: Some Preliminary
【DL輪読会】The Forward-Forward Algorithm: Some Preliminary
 
冬のLock free祭り safe
冬のLock free祭り safe冬のLock free祭り safe
冬のLock free祭り safe
 
Active Learning の基礎と最近の研究
Active Learning の基礎と最近の研究Active Learning の基礎と最近の研究
Active Learning の基礎と最近の研究
 
SSE4.2の文字列処理命令の紹介
SSE4.2の文字列処理命令の紹介SSE4.2の文字列処理命令の紹介
SSE4.2の文字列処理命令の紹介
 
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門
 
TVMの次期グラフIR Relayの紹介
TVMの次期グラフIR Relayの紹介TVMの次期グラフIR Relayの紹介
TVMの次期グラフIR Relayの紹介
 
AIチップ戦国時代における深層学習モデルの推論の最適化と実用的な運用を可能にするソフトウェア技術について
AIチップ戦国時代における深層学習モデルの推論の最適化と実用的な運用を可能にするソフトウェア技術についてAIチップ戦国時代における深層学習モデルの推論の最適化と実用的な運用を可能にするソフトウェア技術について
AIチップ戦国時代における深層学習モデルの推論の最適化と実用的な運用を可能にするソフトウェア技術について
 
動作認識の最前線:手法,タスク,データセット
動作認識の最前線:手法,タスク,データセット動作認識の最前線:手法,タスク,データセット
動作認識の最前線:手法,タスク,データセット
 
SSII2022 [OS3-02] Federated Learningの基礎と応用
SSII2022 [OS3-02] Federated Learningの基礎と応用SSII2022 [OS3-02] Federated Learningの基礎と応用
SSII2022 [OS3-02] Federated Learningの基礎と応用
 
MASTERING ATARI WITH DISCRETE WORLD MODELS (DreamerV2)
MASTERING ATARI WITH DISCRETE WORLD MODELS (DreamerV2)MASTERING ATARI WITH DISCRETE WORLD MODELS (DreamerV2)
MASTERING ATARI WITH DISCRETE WORLD MODELS (DreamerV2)
 
【チュートリアル】コンピュータビジョンによる動画認識
【チュートリアル】コンピュータビジョンによる動画認識【チュートリアル】コンピュータビジョンによる動画認識
【チュートリアル】コンピュータビジョンによる動画認識
 
You Only Look One-level Featureの解説と見せかけた物体検出のよもやま話
You Only Look One-level Featureの解説と見せかけた物体検出のよもやま話You Only Look One-level Featureの解説と見せかけた物体検出のよもやま話
You Only Look One-level Featureの解説と見せかけた物体検出のよもやま話
 
DockerコンテナでGitを使う
DockerコンテナでGitを使うDockerコンテナでGitを使う
DockerコンテナでGitを使う
 
全力解説!Transformer
全力解説!Transformer全力解説!Transformer
全力解説!Transformer
 
Automatic Mixed Precision の紹介
Automatic Mixed Precision の紹介Automatic Mixed Precision の紹介
Automatic Mixed Precision の紹介
 
強化学習アルゴリズムPPOの解説と実験
強化学習アルゴリズムPPOの解説と実験強化学習アルゴリズムPPOの解説と実験
強化学習アルゴリズムPPOの解説と実験
 
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門
 
AVX-512(フォーマット)詳解
AVX-512(フォーマット)詳解AVX-512(フォーマット)詳解
AVX-512(フォーマット)詳解
 
HalideでつくるDomain Specific Architectureの世界
HalideでつくるDomain Specific Architectureの世界HalideでつくるDomain Specific Architectureの世界
HalideでつくるDomain Specific Architectureの世界
 

Similar to AutoTVM紹介

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
 
OSS光と闇
OSS光と闇OSS光と闇
OSS光と闇
Hirofumi Ichihara
 
キャリア網の完全なソフトウェア制御化への取り組み (沖縄オープンデイズ 2017) / Telecommunication Infrastructure ...
キャリア網の完全なソフトウェア制御化への取り組み (沖縄オープンデイズ 2017) / Telecommunication Infrastructure ...キャリア網の完全なソフトウェア制御化への取り組み (沖縄オープンデイズ 2017) / Telecommunication Infrastructure ...
キャリア網の完全なソフトウェア制御化への取り組み (沖縄オープンデイズ 2017) / Telecommunication Infrastructure ...
KenzoOkuda
 
AI/MLシステムにおけるビッグデータとの付き合い方
AI/MLシステムにおけるビッグデータとの付き合い方AI/MLシステムにおけるビッグデータとの付き合い方
AI/MLシステムにおけるビッグデータとの付き合い方
Shota Suzuki
 
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
NTT DATA Technology & Innovation
 
de:code2018 登壇資料
de:code2018 登壇資料de:code2018 登壇資料
de:code2018 登壇資料
Hiroshi Senga
 
Rancher/k8sを利用した運用改善の取り組み
Rancher/k8sを利用した運用改善の取り組みRancher/k8sを利用した運用改善の取り組み
Rancher/k8sを利用した運用改善の取り組み
Michitaka Terada
 
Jazug-8th: Azure AKS & FIWARE & Robot
Jazug-8th: Azure AKS & FIWARE & RobotJazug-8th: Azure AKS & FIWARE & Robot
Jazug-8th: Azure AKS & FIWARE & Robot
Nobuyuki Matsui
 
【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
Developers Summit
 
openstack_neutron-dvr_os5thaniv_20150713
openstack_neutron-dvr_os5thaniv_20150713openstack_neutron-dvr_os5thaniv_20150713
openstack_neutron-dvr_os5thaniv_20150713
Takehiro Kudou
 
L2延伸を利用したクラウド移行とクラウド活用術
L2延伸を利用したクラウド移行とクラウド活用術L2延伸を利用したクラウド移行とクラウド活用術
L2延伸を利用したクラウド移行とクラウド活用術
富士通クラウドテクノロジーズ株式会社
 
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
NTT DATA Technology & Innovation
 
Aws summits2014 nttデータaws上のシステムはこう作る!
Aws summits2014 nttデータaws上のシステムはこう作る!Aws summits2014 nttデータaws上のシステムはこう作る!
Aws summits2014 nttデータaws上のシステムはこう作る!Boss4434
 
Rails on GKEで運用するWebアプリケーションの紹介
Rails on GKEで運用するWebアプリケーションの紹介Rails on GKEで運用するWebアプリケーションの紹介
Rails on GKEで運用するWebアプリケーションの紹介
Makoto Haruyama
 
20180817 azure antenna_iot central hands-on
20180817 azure antenna_iot central hands-on20180817 azure antenna_iot central hands-on
20180817 azure antenna_iot central hands-on
Minoru Naito
 
Desktop app dev strategy for .net core 3.0
Desktop app dev strategy for .net core 3.0Desktop app dev strategy for .net core 3.0
Desktop app dev strategy for .net core 3.0
Atsushi Nakamura
 
DLLAB Engineer Days:AIチームが履歴やリソース管理で疲弊してたので開発基盤作ってOSS化した話
DLLAB Engineer Days:AIチームが履歴やリソース管理で疲弊してたので開発基盤作ってOSS化した話DLLAB Engineer Days:AIチームが履歴やリソース管理で疲弊してたので開発基盤作ってOSS化した話
DLLAB Engineer Days:AIチームが履歴やリソース管理で疲弊してたので開発基盤作ってOSS化した話
Kamonohashi
 
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)
VirtualTech Japan Inc.
 
注目の最新技術「WebRTC」とは? -技術概要と事例紹介-
注目の最新技術「WebRTC」とは? -技術概要と事例紹介-注目の最新技術「WebRTC」とは? -技術概要と事例紹介-
注目の最新技術「WebRTC」とは? -技術概要と事例紹介-
Yusuke Naka
 
10/2勉強会資料 ~IaaSを知る前にサーバを知ろう~
10/2勉強会資料 ~IaaSを知る前にサーバを知ろう~10/2勉強会資料 ~IaaSを知る前にサーバを知ろう~
10/2勉強会資料 ~IaaSを知る前にサーバを知ろう~
Dai Iwai
 

Similar to AutoTVM紹介 (20)

GPU Container as a Service を実現するための最新OSS徹底比較
GPU Container as a Service を実現するための最新OSS徹底比較GPU Container as a Service を実現するための最新OSS徹底比較
GPU Container as a Service を実現するための最新OSS徹底比較
 
OSS光と闇
OSS光と闇OSS光と闇
OSS光と闇
 
キャリア網の完全なソフトウェア制御化への取り組み (沖縄オープンデイズ 2017) / Telecommunication Infrastructure ...
キャリア網の完全なソフトウェア制御化への取り組み (沖縄オープンデイズ 2017) / Telecommunication Infrastructure ...キャリア網の完全なソフトウェア制御化への取り組み (沖縄オープンデイズ 2017) / Telecommunication Infrastructure ...
キャリア網の完全なソフトウェア制御化への取り組み (沖縄オープンデイズ 2017) / Telecommunication Infrastructure ...
 
AI/MLシステムにおけるビッグデータとの付き合い方
AI/MLシステムにおけるビッグデータとの付き合い方AI/MLシステムにおけるビッグデータとの付き合い方
AI/MLシステムにおけるビッグデータとの付き合い方
 
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
 
de:code2018 登壇資料
de:code2018 登壇資料de:code2018 登壇資料
de:code2018 登壇資料
 
Rancher/k8sを利用した運用改善の取り組み
Rancher/k8sを利用した運用改善の取り組みRancher/k8sを利用した運用改善の取り組み
Rancher/k8sを利用した運用改善の取り組み
 
Jazug-8th: Azure AKS & FIWARE & Robot
Jazug-8th: Azure AKS & FIWARE & RobotJazug-8th: Azure AKS & FIWARE & Robot
Jazug-8th: Azure AKS & FIWARE & Robot
 
【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
 
openstack_neutron-dvr_os5thaniv_20150713
openstack_neutron-dvr_os5thaniv_20150713openstack_neutron-dvr_os5thaniv_20150713
openstack_neutron-dvr_os5thaniv_20150713
 
L2延伸を利用したクラウド移行とクラウド活用術
L2延伸を利用したクラウド移行とクラウド活用術L2延伸を利用したクラウド移行とクラウド活用術
L2延伸を利用したクラウド移行とクラウド活用術
 
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
 
Aws summits2014 nttデータaws上のシステムはこう作る!
Aws summits2014 nttデータaws上のシステムはこう作る!Aws summits2014 nttデータaws上のシステムはこう作る!
Aws summits2014 nttデータaws上のシステムはこう作る!
 
Rails on GKEで運用するWebアプリケーションの紹介
Rails on GKEで運用するWebアプリケーションの紹介Rails on GKEで運用するWebアプリケーションの紹介
Rails on GKEで運用するWebアプリケーションの紹介
 
20180817 azure antenna_iot central hands-on
20180817 azure antenna_iot central hands-on20180817 azure antenna_iot central hands-on
20180817 azure antenna_iot central hands-on
 
Desktop app dev strategy for .net core 3.0
Desktop app dev strategy for .net core 3.0Desktop app dev strategy for .net core 3.0
Desktop app dev strategy for .net core 3.0
 
DLLAB Engineer Days:AIチームが履歴やリソース管理で疲弊してたので開発基盤作ってOSS化した話
DLLAB Engineer Days:AIチームが履歴やリソース管理で疲弊してたので開発基盤作ってOSS化した話DLLAB Engineer Days:AIチームが履歴やリソース管理で疲弊してたので開発基盤作ってOSS化した話
DLLAB Engineer Days:AIチームが履歴やリソース管理で疲弊してたので開発基盤作ってOSS化した話
 
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)
 
注目の最新技術「WebRTC」とは? -技術概要と事例紹介-
注目の最新技術「WebRTC」とは? -技術概要と事例紹介-注目の最新技術「WebRTC」とは? -技術概要と事例紹介-
注目の最新技術「WebRTC」とは? -技術概要と事例紹介-
 
10/2勉強会資料 ~IaaSを知る前にサーバを知ろう~
10/2勉強会資料 ~IaaSを知る前にサーバを知ろう~10/2勉強会資料 ~IaaSを知る前にサーバを知ろう~
10/2勉強会資料 ~IaaSを知る前にサーバを知ろう~
 

Recently uploaded

TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
Matsushita Laboratory
 
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
t m
 
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさJSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
0207sukipio
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
chiefujita1
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
Yuuitirou528 default
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
Toru Tamaki
 

Recently uploaded (8)

TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
 
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
 
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさJSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
 

AutoTVM紹介

  • 1. © DeNA Co., Ltd. AutoTVMの紹介 Halide勉強会 LT July 28, 2018 Tomohiro Kato AI System Dept. DeNA Co., Ltd.
  • 2. © DeNA Co., Ltd. 2
  • 3. © DeNA Co., Ltd. 3
  • 4. © DeNA Co., Ltd. 自己紹介  加藤 倫弘 (かとう ともひろ)  ㈱ DeNA システム本部 AIシステム部  Computer Vision関連のプロジェクトを担当  最近書いた(link)  Chainer → NNVM/TVM → Androidの話  NN DistillerでPytorchモデルのpruningする  DeepLearningのモデル軽量化 (ICLR2018)  Efficient Neural Network Architecture Serach論文紹介 4 @_tkato_Twitter
  • 5. © DeNA Co., Ltd. 背景  DeepLearning技術をプロダクトで利用したい  サーバーサイドGPUだけでなく、モバイルCPU/GPUで動かしたい  多様なデバイスに対応したい ⁃ でも高速に動かしたい ⁃ でも精度は保ちたい • でも開発コストを抑えたい  Tensorflow Lite, Caffe2, OpenCVなど選択肢が増えては来たが、 速度とデプロイ周りのtoolchain的にTVMには期待し、調査中 5
  • 6. © DeNA Co., Ltd. TVM Stack overview  DeepLearningモデル → ターゲットHWで動くlow-level codeを生成  推論用 6from [1] 計算グラフの最適化 実装の最適化 ONNXなど経由して モデルをインポート ターゲット向けビルド
  • 7. © DeNA Co., Ltd. TVMのspeed  cuDNN等は使わず、直接GPUカーネルを生成できる  workload毎にScheduleを最適化でき、End-to-Endの推論も高速化 7 ひとえにconv2dと言っても 入出力サイズやカーネルサイズに応じて ハードウェアを効率よく使うために 実装の最適化が必要 人手でやるのは、とてもつらい from [1]
  • 8. © DeNA Co., Ltd. Schedule  ScheduleはPythonで記述するが、ハイパーパラメータチューニングは必須 ⁃ 以下、行列の積和演算がScheduleによってどんなlow level codeになるかの例 ⁃ これはまだ単純だが、convとかになると複雑に... 8from [2] Figue.1
  • 9. © DeNA Co., Ltd. 9 AutoTVM 機械学習により、高速なScheduleを獲得する
  • 10. © DeNA Co., Ltd. AutoTVM overview  “Learning to Optimize Tensor Programs” [2] ⁃ 問題を定式化しAutoTVMの提案、各コンポーネントの設計戦略を実験的に評価 ⁃ コストモデルでlow level codeの実行時間を推定し、速いcodeを探索 ⁃ 探索を重ねる毎に、高速化されていく ⁃ あるモデルについて既存DeepLearningフレームワークより x1.2 ~ x3.8 高速化  [AUTOTVM] Auto-tuning module for tvm #1311 ⁃ https://github.com/dmlc/tvm/issues/1311 ⁃ コアコンポーネントはマージ済 • https://github.com/dmlc/tvm/tree/master/python/tvm/autotvm ⁃ Tutorialもあるので、本日デモします 10
  • 11. © DeNA Co., Ltd. AutoTVM components 11アルゴリズムの詳細は[2]、または autotvm/tuner/tuner.py#L67-L131 参照 数式とScheduleからlow level code生成 そのコスト(実行時間)を最小化するScheduleを探索 while n_trials < max_trials: コストモデルが推定するコストが低いscheduleをサンプル デバイスでscheduleを実測 実測結果でコストモデルを更新(学習) trialの履歴から最速のscheduleを選択 from [2] Figure.2
  • 12. © DeNA Co., Ltd. Demo  Tuning High Performance Convolution on NVIDIA GPUs  https://docs.tvm.ai/tutorials/autotvm/tune_cuda_conv2d.html ⁃ TVMが公式に提供するAutoTVMの簡単なtutorial ⁃ 仕組みを把握するのに便利 ⁃ AutoTVMのAPIは、ローカルのGPUだけでなく、 RPCでAndroidやRaspberry Piでも使えるように対応されているので あとで試してみたい 12
  • 13. © DeNA Co., Ltd. statistical cost model  モデル ⁃ XGBoost or TreeGRU  特徴量 ⁃ loop length, annotation(unrollなど), メモリのアクセス回数など ⁃ workloadによらない汎用的な特徴とすることで、転移学習もできる ⁃ 詳細は [2] appendix or 実装  Loss関数 ⁃ 実行時間の回帰より、rank lossが性能が良かった 13
  • 14. © DeNA Co., Ltd. 実験結果: コストモデルの比較  提案のGBT, TreeGRUが最終的な性能も収束の速さでも優れている ⁃ C1などはconvolutionの異なるworkload ⁃ C3はconv1x1。差がないのは実装的に最適化しやすいから? 14from [2]
  • 15. © DeNA Co., Ltd. 実験結果: 転移学習の有無  学習したコストモデルを異なるworkload探索時の初期値としてつかう ⁃ コストモデルの併用もできる  転移学習したほうが収束が速い  convで学習したモデルがfully connectedにも有効 15from [2]
  • 16. © DeNA Co., Ltd. 実験結果: End-to-Endの性能  DeepLearningモデル全体の推論においても、既存フレームワークより高速 16from [2]
  • 17. © DeNA Co., Ltd. まとめと所感  まとめ ⁃ AutoTVMにより、scheduleの自動調整が可能になってきた  所感 ⁃ End-to-Endで数倍速くなるのは嬉しい ⁃ 実装が遅いからXXXレイヤーは使えないね!と言ったモデル設計からの開放 ⁃ DeepLearningモデルとデバイスだけ用意したら、 あとは勝手に最適化してくれる世界がくるんでしょうか...? 期待 ⁃ ResNetなど一般的なモデルの全WorkloadのEnd-to-Endな最適化には どれくらい時間がかかるんだろうか?試してみたい 17
  • 18. © DeNA Co., Ltd. Reference 1. Tianqi Chen. TVM: An Automated End-to-End Optimizing Compiler for Deep Learning. arXiv:1802.04799 ⁃ https://arxiv.org/abs/1802.04799 2. Tianqi Chen. Learning to Optimize Tensor Programs. arXiv:1805.08166 ⁃ https://arxiv.org/abs/1805.08166 18