SlideShare ist ein Scribd-Unternehmen logo
1 von 18
© 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

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

DockerコンテナでGitを使う
DockerコンテナでGitを使うDockerコンテナでGitを使う
DockerコンテナでGitを使う
 
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
 
モデル高速化百選
モデル高速化百選モデル高速化百選
モデル高速化百選
 
【DL輪読会】Hyena Hierarchy: Towards Larger Convolutional Language Models
【DL輪読会】Hyena Hierarchy: Towards Larger Convolutional Language Models【DL輪読会】Hyena Hierarchy: Towards Larger Convolutional Language Models
【DL輪読会】Hyena Hierarchy: Towards Larger Convolutional Language Models
 
[DL輪読会]SlowFast Networks for Video Recognition
[DL輪読会]SlowFast Networks for Video Recognition[DL輪読会]SlowFast Networks for Video Recognition
[DL輪読会]SlowFast Networks for Video Recognition
 
【メタサーベイ】Video Transformer
 【メタサーベイ】Video Transformer 【メタサーベイ】Video Transformer
【メタサーベイ】Video Transformer
 
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
 
【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning 画像×言語の大規模基盤モ...
【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning   画像×言語の大規模基盤モ...【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning   画像×言語の大規模基盤モ...
【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning 画像×言語の大規模基盤モ...
 
【DL輪読会】A Time Series is Worth 64 Words: Long-term Forecasting with Transformers
【DL輪読会】A Time Series is Worth 64 Words: Long-term Forecasting with Transformers【DL輪読会】A Time Series is Worth 64 Words: Long-term Forecasting with Transformers
【DL輪読会】A Time Series is Worth 64 Words: Long-term Forecasting with Transformers
 
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
 
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
 
畳み込みニューラルネットワークの高精度化と高速化
畳み込みニューラルネットワークの高精度化と高速化畳み込みニューラルネットワークの高精度化と高速化
畳み込みニューラルネットワークの高精度化と高速化
 
モデルアーキテクチャ観点からのDeep Neural Network高速化
モデルアーキテクチャ観点からのDeep Neural Network高速化モデルアーキテクチャ観点からのDeep Neural Network高速化
モデルアーキテクチャ観点からのDeep Neural Network高速化
 
[DL輪読会]StarGAN: Unified Generative Adversarial Networks for Multi-Domain Ima...
 [DL輪読会]StarGAN: Unified Generative Adversarial Networks for Multi-Domain Ima... [DL輪読会]StarGAN: Unified Generative Adversarial Networks for Multi-Domain Ima...
[DL輪読会]StarGAN: Unified Generative Adversarial Networks for Multi-Domain Ima...
 
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門
 
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
 
tf,tf2完全理解
tf,tf2完全理解tf,tf2完全理解
tf,tf2完全理解
 
20180729 Preferred Networksの機械学習クラスタを支える技術
20180729 Preferred Networksの機械学習クラスタを支える技術20180729 Preferred Networksの機械学習クラスタを支える技術
20180729 Preferred Networksの機械学習クラスタを支える技術
 
モデルアーキテクチャ観点からの高速化2019
モデルアーキテクチャ観点からの高速化2019モデルアーキテクチャ観点からの高速化2019
モデルアーキテクチャ観点からの高速化2019
 
[DL輪読会]ドメイン転移と不変表現に関するサーベイ
[DL輪読会]ドメイン転移と不変表現に関するサーベイ[DL輪読会]ドメイン転移と不変表現に関するサーベイ
[DL輪読会]ドメイン転移と不変表現に関するサーベイ
 

Ähnlich wie AutoTVM紹介

Aws summits2014 nttデータaws上のシステムはこう作る!
Aws summits2014 nttデータaws上のシステムはこう作る!Aws summits2014 nttデータaws上のシステムはこう作る!
Aws summits2014 nttデータaws上のシステムはこう作る!
Boss4434
 

Ähnlich wie 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を知る前にサーバを知ろう~
 

Kürzlich hochgeladen

Kürzlich hochgeladen (10)

論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 

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