Skip to main content
QUICK REVIEW

[論文レビュー] VTA: An Open Hardware-Software Stack for Deep Learning.

Thierry Moreau, Tianqi Chen|arXiv (Cornell University)|Jul 11, 2018
Parallel Computing and Optimization Techniques参考文献 15被引用数 50
ひとこと要約

VTA は、タスクレベルおよびマイクロコードレベルの2段階の ISA を備えたパrametrizableアーキテクチャを採用することで、エッジ FPGAs における柔軟で高性能な推論を実現する、オープンで拡張可能なハードウェア・ソフトウェアスタックである。Apache TVM に統合されており、カスタマイズされたハードウェアおよびソフトウェアスタックのための JIT コンパイルとデザインスペース探索をサポートし、オブジェクト分類およびスタイル変換ワークロードで最適化されたパフォーマンスを達成している。

ABSTRACT

Specialized Deep Learning (DL) acceleration stacks, designed for a specific set of frameworks, model architectures, operators, and data types, offer the allure of high performance while sacrificing flexibility. Changes in algorithms, models, operators, or numerical systems threaten the viability of specialized hardware accelerators. We propose VTA, a programmable deep learning architecture template designed to be extensible in the face of evolving workloads. VTA achieves this flexibility via a parametrizable architecture, two-level ISA, and a JIT compiler. The two-level ISA is based on (1) a task-ISA that explicitly orchestrates concurrent compute and memory tasks and (2) a microcode-ISA which implements a wide variety of operators with single-cycle tensor-tensor operations. Next, we propose a runtime system equipped with a JIT compiler for flexible code-generation and heterogeneous execution that enables effective use of the VTA architecture. VTA is integrated and open-sourced into Apache TVM, a state-of-the-art deep learning compilation stack that provides flexibility for diverse models and divergent hardware backends. We propose a flow that performs design space exploration to generate a customized hardware architecture and software operator library that can be leveraged by mainstream learning frameworks. We demonstrate our approach by deploying optimized deep learning models used for object classification and style transfer on edge-class FPGAs.

研究の動機と目的

  • モデル、フレームワーク、データ型の変更に伴い陳腐化してしまう専用の深層学習アクセラレータの柔軟性の欠如に対処すること。
  • パrametrization と拡張性を通じて、進化するワークロードをサポートするプログラマブルなアーキテクチャを設計すること。
  • JIT コンパイラと2段階のインストラクションセットアーキテクチャ(ISA)を介して、効率的なコード生成と異種処理実行を可能にすること。
  • 主流の深層学習フレームワークとの相互運用性を実現するため、スタックを Apache TVM に統合すること。
  • 特定のモデルとハードウェアバックエンドに最適化されたハードウェアおよびソフトウェアスタックの生成を自動化するための自動的デザインスペース探索を支援すること。

提案手法

  • タスク-ISA を設計:並列的な計算およびメモリ操作の調整を担い、マイクロコード-ISA を設計:1サイクルで実行可能なテンソル同士の演算を担う。
  • 異なるワークロード、データ型、ハードウェア制約に合わせたカスタマイズが可能なパrametrizableアーキテクチャを実装する。
  • VTA 上でのカーネルの動的コード生成とランタイム最適化を可能にする JIT コンパイラを開発する。
  • VTA とホストプロセッサ間での異種処理実行を可能にするランタイムシステムを構築する。
  • Apache TVM に VTA を統合し、多様なモデルとハードウェアバックエンド向けのコンパイルスタックを活用する。
  • デザインスペース探索フローを用いて、最適化されたハードウェア設定とソフトウェアオペレータライブラリを自動生成する。

実験結果

リサーチクエスチョン

  • RQ1モデル、演算子、データ型の変更に対応しつつ、高いパフォーマンスを維持できる深層学習アクセラレータの実現方法は何か?
  • RQ2再構成可能なハードウェア(例:FPGA)上で多様なワークロードを効率的にサポートするためのアーキテクチャ的およびコンパイル技術は何か?
  • RQ3タスクレベルの調整とマイクロコードレベルの演算を備えた2段階の ISA は、パフォーマンスと拡張性の両立を達成できるか?
  • RQ4Apache TVM への VTA の統合は、フレームワークとハードウェアの間でエンドツーエンド最適化を可能にするか?
  • RQ5デザインスペース探索は、特定の深層学習ワークロードに最適化された VTA の設定をどの程度自動的に生成できるか?

主な発見

  • VTA は、オブジェクト分類およびスタイル変換モデルにおいて、エッジクラスの FPGAs で高性能な推論を実現し、実用的応用性を示している。
  • 2段階の ISA により、マイクロコードでの1サイクル内テンソル同士の演算を通じて、複雑な深層学習演算を効率的に表現できる。
  • JIT コンパイラにより、柔軟かつ効率的なコード生成が可能となり、モデルおよびハードウェア構成の変化に適応できる。
  • Apache TVM との統合により、主流の深層学習フレームワークと多様なハードウェアバックエンドへのシームレスなデプロイが可能になった。
  • デザインスペース探索により、カスタマイズされた VTA アーキテクチャとソフトウェアライブラリの生成に成功し、手動チューニングの負担が軽減された。
  • パrametrizableアーキテクチャにより、基盤ハードウェアの再設計を必要とせずに、進化するワークロードへの拡張性が実現された。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。