Skip to main content
QUICK REVIEW

[論文レビュー] ML-EXray: Visibility into ML Deployment on the Edge

Hang Qiu, Ioanna Vavelidou|arXiv (Cornell University)|Nov 8, 2021
Advanced Neural Network Applications参考文献 32被引用数 4
ひとこと要約

ML-EXray は、モデル実行のインストルメンテーション、リファレンスパイプラインを通じた入力のリプレイ、出力および遅延の比較により、エッジデバイスにおけるML推論のレイヤー単位の可視性を提供するクラウドからエッジへのデプロイメント検証フレームワークです。15行未満のコードで、前処理バグ、量子化エラー、非効率なカーネルなどの問題を検出・デバッグ可能で、モデルの精度を最大30%向上させ、カーネル遅延を2桁低減します。

ABSTRACT

Benefiting from expanding cloud infrastructure, deep neural networks (DNNs) today have increasingly high performance when trained in the cloud. Researchers spend months of effort competing for an extra few percentage points of model accuracy. However, when these models are actually deployed on edge devices in practice, very often, the performance can abruptly drop over 10% without obvious reasons. The key challenge is that there is not much visibility into ML inference execution on edge devices, and very little awareness of potential issues during the edge deployment process. We present ML-EXray, an end-to-end framework, which provides visibility into layer-level details of the ML execution, and helps developers analyze and debug cloud-to-edge deployment issues. More often than not, the reason for sub-optimal edge performance does not only lie in the model itself, but every operation throughout the data flow and the deployment process. Evaluations show that ML-EXray can effectively catch deployment issues, such as pre-processing bugs, quantization issues, suboptimal kernels, etc. Using ML-EXray, users need to write less than 15 lines of code to fully examine the edge deployment pipeline. Eradicating these issues, ML-EXray can correct model performance by up to 30%, pinpoint error-prone layers, and guide users to optimize kernel execution latency by two orders of magnitude. Code and APIs will be released as an open-source multi-lingual instrumentation library and a Python deployment validation library.

研究の動機と目的

  • クラウドからエッジへのMLデプロイメントにおける可視性の欠如という深刻なギャップに対処し、パフォーマンス低下が10%以上に及ぶことがよくあるが、明確な根本原因が特定されない状況を改善すること。
  • クラウドベースのモデルトレーニングとエッジデプロイメントの間の断絶を解消し、開発者が推論パイプライン全体にわたって問題をトレースおよびデバッグできるようにすること。
  • 異なるエッジハードウェア上で、不適切な前処理、量子化エラー、非効率なカーネル実行などのデプロイメント問題を体系的かつインストルメンテーションを用いて検出・診断するアプローチを提供すること。
  • 実際の実行とリファレンス実行の間でレイヤー単位で比較を自動化することで、デバッグ時間を週単位から数分に短縮すること。
  • 最小限のコードオーバヘッドと低いランタイムパフォーマンス影響で、開発者がエッジMLアプリケーションの検証と最適化を可能にするようにすること。

提案手法

  • エッジデバイス上で中間レイヤー出力と実行メタデータをログ記録するためのマルチリンガルAPIスイートを用いて、ML推論パイプラインをインストルメンテーションすること。
  • リファレンスパイプライン(例:既知の正しく動作する実装)を介して同じ入力データを再実行し、比較用の正解出力を生成すること。
  • 実際の実行とリファレンス実行の間でレイヤー単位の出力と実行遅延を比較し、不一致やパフォーマンス劣化を検出すること。
  • 特定の操作またはレイヤーの周囲でカスタムアサーションやログフックを定義できるようにし、動作の検証と異常の検出を可能にすること。
  • 既存のMLフレームワーク(例:TensorFlow Lite、PyTorch Mobile)と統合し、モバイルCPU、GPU、NPUを含む多様なエッジハードウェアをサポートすること。
  • 最適化済みとリファレンスのオペレータリゾルバを活用して、非効率なカーネル選択によって引き起こされるパフォーマンスボトルネックを同定すること。

実験結果

リサーチクエスチョン

  • RQ1エッジデバイスにデプロイされたMLモデルで説明不能なパフォーマンス劣化が生じる主な原因は何か?
  • RQ2開発者がエッジ推論中の中間レイヤー出力と実行挙動の可視性をどのように得られ、隠れたバグを検出できるか?
  • RQ3リファレンスパイプラインとの自動比較によって、前処理、量子化、カーネル実行の問題をどの程度特定できるか?
  • RQ4ML-EXray は、不具合を起こす量子化オペレータや非効率なカーネル実装といった、以前に未知の問題をどの程度効果的に検出できるか?
  • RQ5ML-EXray のランタイムオーバーヘッドはどの程度で、さまざまなハードウェアプラットフォームやモデルタイプにどのようにスケーリングするか?

主な発見

  • ML-EXray は、TensorFlowで不具合を起こす量子化オペレータを検出し、開発チームにより後に報告され、修正が進行中であることが判明した。
  • フレームワークは、MobileNetv2の平均プーリングレイヤーのようなエラーを起こしやすいレイヤーを同定した。これらのレイヤーは、モデルバージョン間で顕著な出力差異を示していた。
  • 非効率なカーネル選択により、最大200倍の遅延増加が発生した。例として、モバイルデバイス上ではリファレンスオペレータリゾルバが最適化されたバージョンよりも3桁遅かった。
  • モバイル上で、量子化済みのディープワイドコンボリューションは通常のコンボリューションよりも高速だったが、非最適化実装では深刻なパフォーマンス劣化が生じた。
  • ML-EXray は、非効率な動作を同定し、最適化を促進することで、カーネル実行遅延を最大2桁低減した。
  • 入力正規化の不一致や前処理バグといったデプロイメント問題を是正した後、ML-EXray はモデルの精度を最大30%向上させた。

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

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

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

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