Hidet: Task-Mapping Programming Paradigm for Deep Learning Tensor Programs

要約

現在、ディープ ラーニング モデルはクラウド サービスとエッジ デバイスの両方で広く採用されているため、効率的なモデル サービスを提供するには、ディープ ラーニング モデルの推論のレイテンシを短縮することが重要になります。
ただし、最新のアクセラレータは非常に複雑であり、オペレーターの数が急速に増加しているため、ディープ ラーニング オペレーター用の効率的なテンソル プログラムを開発することは困難です。
Apache TVM などのディープ ラーニング コンパイラは、宣言型スケジューリング プリミティブを採用して、テンソル プログラムの開発基準を下げます。
ただし、このアプローチは、最先端のテンソル プログラムの最適化をカバーするには不十分であることを示します。
この論文では、スケジューリングプロセスをテンソルプログラムに組み込み、タスクマッピングと呼ばれる専用のマッピングを使用して、計算の割り当てと順序付けを定義することを提案します。
この新しいアプローチは、開発者がより細かい粒度でテンソル プログラムを操作できるようにすることで、表現可能な最適化を大幅に強化します。
提案された方法をタスクマッピングプログラミングパラダイムと呼びます。
さらに、開発者がすべてのオペレーターのスケジューリングに集中できるようにし、スケジューリング後にフュージョンを自動化する、新しいポストスケジューリング フュージョン最適化を提案します。
これにより、オペレータ フュージョンのエンジニアリング作業が大幅に削減されます。
私たちが提案するパラダイムは、効率的なハードウェア中心のスケジュール空間も構築します。これは、プログラムの入力サイズにとらわれず、チューニング時間を大幅に短縮します。
提案されたパラダイムを使用して、深層学習コンパイラ Hidet を実装します。
最新の畳み込みおよび変換モデルに関する広範な実験では、Hidet が最先端の DNN 推論フレームワーク、ONNX ランタイム、コンパイラ、スケジューラ AutoTVM および Ansor を備えた TVM よりも最大 1.48 倍 (平均で 1.22 倍) 優れていることが示されています。
また、AutoTVM および Ansor と比較して、チューニング時間をそれぞれ 20 倍および 11 倍短縮します。
https://www.github.com/hidet-org/hidet で hidet をオープンソース化しました。

要約(オリジナル)

As deep learning models nowadays are widely adopted by both cloud services and edge devices, reducing the latency of deep learning model inferences becomes crucial to provide efficient model serving. However, it is challenging to develop efficient tensor programs for deep learning operators due to the high complexity of modern accelerators and the rapidly growing number of operators. Deep learning compilers, such as Apache TVM, adopt declarative scheduling primitives to lower the bar of developing tensor programs. However, we show that this approach is insufficient to cover state-of-the-art tensor program optimizations. In this paper, we propose to embed the scheduling process into tensor programs and use dedicated mappings, called task mappings, to define the computation assignment and ordering. This new approach greatly enriches the expressible optimizations by allowing developers to manipulate tensor programs at a much finer granularity. We call the proposed method the task-mapping programming paradigm. In addition, we propose a new post-scheduling fusion optimization that allows developers to focus on scheduling every single operator and automates the fusion after scheduling. It greatly reduces the engineering efforts for operator fusion. Our proposed paradigm also constructs an efficient hardware-centric schedule space, which is agnostic to the program input size and greatly reduces the tuning time. With the proposed paradigm, we implement a deep learning compiler Hidet. Extensive experiments on modern convolution and transformer models show that Hidet outperforms state-of-the-art DNN inference framework, ONNX Runtime, and compiler, TVM equipped with scheduler AutoTVM and Ansor, by up to 1.48x (1.22x on average). It also reduces the tuning time by 20x and 11x compared with AutoTVM and Ansor, respectively. We open-sourced hidet at https://www.github.com/hidet-org/hidet.

arxiv情報

著者 Yaoyao Ding,Cody Hao Yu,Bojian Zheng,Yizhi Liu,Yida Wang,Gennady Pekhimenko
発行日 2023-02-15 16:44:35+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: cs.AI, cs.LG, cs.PL パーマリンク