[論文レビュー] DeepLearningKit - an GPU Optimized Deep Learning Framework for Apple's iOS, OS X and tvOS developed in Metal and Swift
DeepLearningKit は、Apple の iOS、macOS、tvOS 向けに Metal と Swift で実装された GPU アクセcelレート型のディープラーニングフレームワークであり、事前に学習された畳み込みニューラルネットワークのデバイス内推論を可能にする。Caffe や Theano などのフレームワークからのモデルを活用するための、再利用可能な事前学習済みモデルを提供するアプリストアモデルを提案することで、Metal ベースのカーネルを最適化し、GPU の効率的な実行を実現し、iPhone 6S で最大 10 倍高速化(100ms 未塔)を達成する。
In this paper we present DeepLearningKit - an open source framework that supports using pretrained deep learning models (convolutional neural networks) for iOS, OS X and tvOS. DeepLearningKit is developed in Metal in order to utilize the GPU efficiently and Swift for integration with applications, e.g. iOS-based mobile apps on iPhone/iPad, tvOS-based apps for the big screen, or OS X desktop applications. The goal is to support using deep learning models trained with popular frameworks such as Caffe, Torch, TensorFlow, Theano, Pylearn, Deeplearning4J and Mocha. Given the massive GPU resources and time required to train Deep Learning models we suggest an App Store like model to distribute and download pretrained and reusable Deep Learning models.
研究の動機と目的
- Apple のモバイルおよびデスクトッププラットフォーム上で、事前学習済みディープラーニングモデルの効率的なデバイス内推論を可能にすること。
- GPU の利用を最適化するため、低レベルの Metal プログラミングを用いて高性能な推論を実現すること。
- Caffe や Theano、TensorFlow などの人気フレームワークとの相互運用性を実現するため、モデルインポーターを提供すること。
- 異なるデバイス間で再利用可能な事前学習済みディープラーニングモデルを配布するためのアプリストア風のモデルを提唱すること。
- FFT を用いた畳み込み、低精度算術、モデル圧縮などの最適化技術を検討し、パフォーマンスとスケーラビリティを向上させること。
提案手法
- Apple のハードウェアに最適化された低レベル GPU プログラミング言語である Metal を使用して、GPU アクセセルレート型のディープラーニング演算子(畳み込み、プーリング、ReLU、ソフトマックス)を実装すること。
- Swift を用いて高レベルのアプリケーション統合を実現し、iOS、tvOS、macOS アプリへのシームレスな埋め込みを可能にすること。
- クロスプラットフォーム互換性と将来の最適化のため、Metal カーネルを OpenCL および Vulkan SPIR-V に移植すること。
- Caffe や Theano で学習されたモデルをランタイムロード可能な JSON シリアライズ形式に変換するためのモデルインポーターを設計すること。
- Xcode を用いたパフォーマンスプロファイリングにより、Metal ドライバにおけるボトルネックを特定し、低レベルの最適化を導くこと。
- 16ビット浮動小数点計算、インプレース演算、近似行列乗算などの高度な最適化戦略を検討し、メモリ使用量とエネルギー消費量を削減すること。
実験結果
リサーチクエスチョン
- RQ1Apple のモバイルおよびデスクトッププラットフォーム上で、GPU 最適化された低レベルコードを用いて、デバイス内ディープラーニング推論をどのように高速化できるか?
- RQ2Metal ベースのフレームワークを用いて、旧式 GPU(例:PowerVR G6430)から新式 GPU(例:PowerVR GT7600)に移行することで、どの程度のパフォーマンス向上が達成できるか?
- RQ3Caffe や Theano などの異なるフレームワーク間で、事前学習済みディープラーニングモデルを効率的にインポートし、実行できるか?
- RQ4モバイルデバイス上で再利用可能な事前学習済みディープラーニングモデルを配布するための集中型アプリストアモデルは、どの程度効果的か?
- RQ5モデル圧縮、低精度算術、FFT を用いた畳み込みなどの最適化技術は、推論速度とメモリ効率をどの程度向上させることができるか?
主な発見
- CIFAR-10 用の 20 層の NIN ネットワークにおける推論時間は、iPhone 5S では約 2 秒から、iPhone 6S では 100ms 未塔に短縮され、10 倍のパフォーマンス向上が達成された。
- 画像分類タスクにおいて、ユーザーが感知できる忦答性(100ms 未塔)を達成し、Jacob Nielsen が提唱する即時システムフィードバック基準を満たした。
- これらの低レベル GPU API 間の構文的およびアーキテクチャ的類似性のおかげで、Metal カーネルを OpenCL および Vulkan SPIR-V に移植することが可能である。
- モデル圧縮技術を用いることで、AlexNet などの大規模モデルのサイズを 240MB から 6.9MB にまで削減でき、128GB の iPhone に 18,000 個以上のモデルを格納可能にした。
- Caffe で学習された NIN および Theano で学習された LeNet に対する初期段階のサポートにより、異なるフレームワーク間での相互運用性と、デバイス内での正常な推論が確認された。
- Metal ドライバにおけるパフォーマンスボトルネックの特定から、OpenCL/Vulkan SPIR-V を用いた低レベルチューニングによりさらなる向上が期待できることが示された。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。