AI開発者の皆さん、こちらをお読みください: 主流のモバイルディープラーニングフレームワークの包括的なレビュー

AI開発者の皆さん、こちらをお読みください: 主流のモバイルディープラーニングフレームワークの包括的なレビュー

PCと比較すると、モバイルデバイスは携帯性に優れており、普及率も高くなっています。近年、モバイルデバイスの普及と応用が進むにつれ、モバイルデバイス上でディープラーニング技術を利用する需要が高まり始めています。

著者の dangbo は、「モバイル ディープラーニングの展望」という記事で、現在のモバイル ディープラーニングに関する関連する展望を示しました。筆者は、現段階ではモバイルアプリは主に次の 2 つのモードでディープラーニングを使用していると考えています。

  • オンライン方式:モバイル端末で事前処理を行い、データをサーバーに送信してディープラーニングモデルを実行します。この方式の利点は、導入が比較的簡単なことです。既存のフレームワーク(Caffe、Theano、MXNet、Torch)をカプセル化して直接使用できます。サーバーは高性能で、比較的大規模なモデルを処理できます。欠点は、インターネットに接続する必要があることです。
  • オフライン モード:トレーニング プロセスはサーバー上で実行され、予測プロセスはモバイル フォン上で実行されます。

3 つの主要なモバイル フレームワーク (Caffe2、TensorFlow Lite、Core ML) はすべてオフライン アプローチを使用しており、ネットワーク接続を必要とせずにユーザー データのプライバシーが確保されます。

主流のモバイルディープラーニングフレームワークの誕生時期は次のとおりです。

  • 2017年3月、XMART LABSはGitHubでBenderをオープンソース化した。
  • 2017年4月19日、FacebookはF8開発者会議でCaffe2をリリースした。
  • 2017 年 5 月 17 日、Google I/O 2017 カンファレンスで、モバイル ディープラーニング フレームワーク TensorFlow Lite が誕生しました。
  • 2017 年 6 月 6 日、Apple は WWDC カンファレンスで Core ML を発表しました。
  • 2017年9月25日、百度はモバイルディープラーニングフレームワークmobile-deep-learning(MDL)をオープンソース化した。
  • ......

次に、Facebook、Google、Appleの3大巨頭がリリースしたCaffe2、TensorFlow Lite、Core MLという3大モバイルフレームワーク、そして新興のBender、国産Baidu MDL、モバイル端末に対応したMXNetなど、現在主流のモバイルディープラーニングフレームワークを紹介し、この分野に参入したばかりの開発者がこれらのフレームワークについて予備的な理解と知識を得られるようにします。

FacebookはCaffe2をオープンソース化し、最終的にはPyTorchに統合する予定

Facebook は 2017 年 4 月 19 日の F8 年次開発者会議で、新しいオープンソースのディープラーニング フレームワークである Caffe2 をリリースしました。Caffe2 の公式 Web サイトによると、その最大の特徴は軽量、モジュール式、スケーラブル、つまり一度コードを書けばどこでも実行できることです (Java のスローガンと同様)。もっと簡単に言えば、Caffe2 は携帯電話などのモバイル端末デバイスに AI サポートを簡単に導入し、AI をクラウドから端末に移動できるようにします。

Caffe2 は、以前人気があったオープンソース フレームワーク Caffe をベースに再構築およびアップグレードされたものです。一方では、多くの新しいアルゴリズムとモデルを統合しています。他方では、コンピューティング パフォーマンスとスケーラビリティを確保しながら、軽量ハードウェア プラットフォームでのフレームワークの展開機能を強化することに重点を置いています。 iOS、Android、NVIDIA Tegra X1、Raspberry Pi など、さまざまなモバイル プラットフォームに展開できます。ユーザーは、Caffe2 フレームワークをロードし、いくつかの簡単な API 呼び出し (Python または C++) を使用するだけで、モバイル アプリで画像認識、自然言語処理、コンピューター ビジョンなどのさまざまな AI 機能を実装できます。さらに、Caffe2 は、Caffe プラットフォームのもう 1 つの中核的な競争力である Model Zoo コミュニティも完全にサポートします。

Caffe2 は、フレームワーク自体に加えて、Amazon AWS の Deep Learning AMI や Microsoft Azure の Data Science Virtual Machine (DSVM) などのさまざまなクラウド プラットフォームからのサポートや、NVIDIA や Qualcomm からのハードウェア プラットフォーム サポートも受けています。現在、Caffe2 フレームワークは Facebook 社内で採用されています。開発者や研究者は、フレームワークが提供するさまざまなツールを使用して、大規模な機械学習モデルをトレーニングし、Facebook のモバイル アプリケーションに AI インテリジェント エクスペリエンスを提供しています。

現在、Caffe2 コードも PyTorch に正式に統合されており、Facebook は大規模なサーバーやモバイル端末に展開した際に AI の研究、トレーニング、推論をよりスムーズに実行できるようになりました。

  • Caffe2公式サイト: http://Caffe2.ai/
  • GitHub アドレス: https://github.com/Caffe2/Caffe2
  • Caffe2go モバイル プロジェクト Github リンク: https://github.com/Caffe2/Caffe2

GoogleのモバイルディープラーニングフレームワークTensorFlow Liteは、モバイルモデル展開の推奨ソリューションになると期待されています。

[[229234]]

Googleは2017年11月14日(米国時間)にTensorFlow Liteのプレビュー版を正式リリースしました。このフレームワークは主にモバイルや組み込みデバイスで利用されています。名前の通り、TensorFlowと比較するとTensorFlow Liteは軽量版となります。この開発フレームワークは、メモリ使用量の削減と実行速度の高速化に重点を置いて、機械学習モデルの低遅延推論に最適化されています。

TensorFlow Lite には、次の 3 つの重要な機能があります。

  1. 軽量:より小さなバイナリ数値による機械学習モデルの推論をサポートし、迅速に初期化/起動できます。
  2. クロスプラットフォーム:さまざまなプラットフォームで実行可能。Android と iOS もサポート
  3. 高速:モデルの読み込み時間を大幅に短縮し、ハードウェアアクセラレーションをサポートするなど、モバイルデバイス向けに最適化されています。

構造

次の図は、TensorFlow Lite の構造設計を示しています。

モジュールは次のとおりです。

  • TensorFlow モデル:ディスクに保存されたトレーニング済みの TensorFlow モデル
  • TensorFlow Lite コンバーター:モデルを TensorFlow Lite ファイル形式に変換するプログラム
  • TensorFlow Lite モデル ファイル:速度とサイズが最適化された、FlatBuffers に基づくモデル ファイル形式。

モデル

  • TensorFlow Lite は現在、モバイル デバイス向けにトレーニングおよび最適化された多くのモデルをサポートしています。
  • MobileNet: モバイルデバイスや組み込みデバイス上で効率的に実行できるように設計された、1000 種類のオブジェクト クラスを認識できるビジョン モデルです。
  • Inception v3: MobileNet と同様の機能を備えた画像認識モデルで、より高い精度を提供しますが、比較的サイズが大きくなります。
  • スマート リプライ: チャットメッセージに即座に返信できるデバイス会話モデル。この機能は Android Wear で利用できます。

Inception v3 と MobileNets は ImageNet データセットでトレーニングされています。転移学習を使用すると、独自の画像データセットを簡単に再トレーニングできます。

TensorFlow Lite のリリースから 1 か月後、Google は Apple との提携を発表しました。TensorFlow Lite は Core ML をサポートします。 TensorFlow Lite が Core ML をサポートすることで、iOS 開発者は Core ML を活用したモデルを展開できるようになります。

現在、フレームワークはまだ更新とアップグレードが続けられています。TensorFlow ユーザー数の増加と Google の支持により、TensorFlow Lite は将来的にモバイル デバイスや組み込みデバイスにモデルを展開するための推奨ソリューションになる可能性があります。

  • TensorFlow Lite ドキュメント ページ: http://Tensorflow.org/mobile/tflite
  • Core ML コンバーターページ: https://github.com/tf-coreml/tf-coreml
  • pypi pip インストール パッケージ アドレス: https://pypi.python.org/pypi/tfcoreml/0.1.0

Apple Core ML: プライバシーと AI をオフラインで実現できます。

Appleは2017年のWWDCカンファレンスでiOS 11をアップデートした際に、開発者向けの新しい機械学習フレームワークであるCore MLも発表し、ローカルデータ処理をより便利かつ高速化できると主張した。 Core ML は、顔追跡、顔検出、ランドマーク、テキスト検出、バーコード認識、オブジェクト追跡、画像マッチングなどのタスクをサポートする API を提供すると報告されています。

Core MLは、Siri、カメラ、QuickTypeなど、多くのApple製品で使用できる基本的な機械学習フレームワークであることがわかっています。公式紹介によると、Core ML は、パフォーマンスの大幅な向上と機械学習モデルの簡単な統合をもたらし、多くの機械学習モデルを APP に統合できます。幅広いディープラーニングをサポートする 30 以上のレイヤーを備えているだけでなく、ツリー アンサンブル、SVM、一般化線形モデルなどの標準モデルもサポートしています。

Apple は Core ML 開発ドキュメントで次のように説明しています。

  • Core ML を使用すると、トレーニング済みのモデルを開発するアプリに統合できます。 Core ML は、画像分析用の Vision、自然言語処理用の Foundation (NSLinguisticTagger クラスなど)、学習した決定木を評価するための GameplayKit をサポートしています。 Core ML は、Accelerate、BNNS、Metal Performance Shaders 上に構築されています。

Core ML はデバイス上で厳密に実行されるため、ユーザーのプライバシーとデータが確保され、ネットワーク接続がなくてもユーザーの操作に応答できます。

CORE ML関連技術

Metal は、iPhone および iPad の GPU をプログラミングするための高度に最適化されたフレームワークです。Metal は OpenGL ES よりも大幅に少ないエネルギーを消費します。さらに、Metal は GPU の状態を推定し、冗長な検証とコンパイルを回避できます。

Metal Performance Shader は、Metal を使用して iOS 上でディープラーニングを実装する、Apple がリリースしたツール セットです。主に MPSImage をカプセル化してデータを保存し、メモリを管理し、Convolution、Pooling、Fullconnection、ReLU などの一般的に使用される畳み込みニューラル ネットワーク レイヤーを実装します。

iPhone の組み込みアプリで Core ML を利用すると、Siri の音声認識、カメラ アプリの顔認識、QuickType 入力の関連付けなどの新機能を改善したり実装したりできます。コア ML+Vision アプリケーション シナリオは次のとおりです。

  • カメラまたは指定された画像内の顔を検出します
  • 目や口の位置、頭の形など、顔の詳細な特徴を検出します。
  • ビデオを録画しながら動く物体を追跡し、水平角度を決定します
  • 2つの画像を変換して内容を揃え、画像内のテキストを認識します
  • バーコードを検出して認識する
  • ......

さらに、Vision を使用して Core ML を駆動することもできます。つまり、機械学習に Core ML を使用する場合は、Vision フレームワークを使用してデータの前処理を実行します。

Core ML ドキュメントのアドレス: https://developer.apple.com/documentation/coreml

Bender: Metal ベースの機械学習フレームワーク

2017 年 3 月頃、XMART LABS は、iOS アプリでニューラル ネットワークを簡単に定義して実行できる Metal ベースの機械学習フレームワークである Bender を GitHub でオープンソース化しました。このフレームワークは、最下層で Apple の Metal Performance Shaders を使用します。

XMART LABS は Github で Bender について説明しています:

  • Bender は、MetalPerformanceShaders をベースにしたツールで、ニューラル ネットワークの抽象化レイヤーを操作するために使用できます。 Bender を使用すると、畳み込み、プーリング、完全接続層、正規化などの最も一般的な層を使用して、ニューラル ネットワークを簡単に定義および実行できます。 XMART LABS は、他のフレームワーク (TensorFlow や Caffe2 など) でトレーニングされたモデルもロードしたいと考えています。Bender には現在、組み込みの TensorFlow アダプター (変数を含むグラフをロードし、それを Bender レイヤーに「変換」できる) があり、その機能を大幅に強化する予定です。

利点

  • Bender は、トレーニング済みモデルをフリーズするか、重みをファイルにエクスポートするかにかかわらず、トレーニング済みモデルを実行するための Tensorflow、Keras、Caffe などのフレームワークの選択をサポートしています (このサポート機能は近日中に提供される予定であると公式に発表されています)
  • サポートされているプラ​​ットフォームから固定グラフを直接インポートしたり、ニューラル ネットワーク構造を再定義して重みをロードしたりできます。どちらの操作も数分しかかかりません
  • Bender は、最も一般的に使用される機械学習ノードとレイヤーをサポートしており、拡張性も備えているため、独自のカスタム関数を作成することもできます。

以下は、Bender を使用して APP を開発する例です。

Bender の利点は何ですか?

  • Bender は、MetalPerformanceShaders (iOS で利用可能なフレームワーク) が開発者にとって使いにくく、多くの繰り返しコードを必要とするという問題を解決できます。
  • TensorFlow は iOS 用にコンパイルできますが、GPU での実行はサポートされていません。Bender のアダプターは、TF グラフを解析して Bender レイヤーに変換できます。

ベンダーページ URL: https://xmartlabs.github.io/Bender/

Githubアドレス: https://github.com/xmartlabs/Bender

Baidu は、Apple と Android システム間で自由に切り替え可能なモバイル ディープラーニング フレームワーク MDL をオープンソース化しました。

2017 年 9 月、Baidu はモバイル ディープラーニング フレームワーク mobile-deep-learning (MDL) のすべてのコードとスクリプトを GitHub でオープンソース化しました。この研究は、iOS GPU をサポートするモバイル デバイスに畳み込みニューラル ネットワーク (CNNC) をより簡単かつ迅速に展開することを目指しています。Baidu APP で使用されています。

MDL はサイズが小さく、速度が速いです。

  • サイズ: 340k+ (arm v7 の場合)
  • 速度: iOS Metal GPU Mobilenet では 40ms、Squeezenet では 30ms

特徴

  • ワンクリックでデプロイでき、パラメータを変更することでiOSとAndroidを切り替えることができます
  • iOS GPU 上で MobileNet および Squeezenet モデルを実行するためのサポート
  • MobileNet、GoogLeNet v1、Squeezenetモデルで安定しています。
  • 占有するスペースは非常に小さく(4M)、サードパーティのライブラリも必要ありません。
  • 32ビット浮動小数点から8ビット単位への変換をサポート
  • 次に、ARM 関連のアルゴリズム チームとオンラインおよびオフラインでコミュニケーションを取り、ARM プラットフォームを最適化します。
  • NEON の使用は、畳み込み、正規化、プーリングなどすべてをカバーします。
  • ループアンローリングを使用することで、パフォーマンスを最適化し、不必要な CPU 損失を回避できます。
  • オーバーヘッドプロセスでは、大量の重い計算タスクを転送することができます

GitHub アドレス: https://github.com/baidu/mobile-deep-learning

MXNet:モバイル開発をサポートする AWS の公式ディープラーニングフレームワーク

MXNet はオープンソースで軽量、ポータブル、柔軟なディープラーニング ライブラリであり、ユーザーはシンボリック プログラミング モデルと命令型プログラミング モデルを組み合わせて、効率性と柔軟性を最大限に高めることができます。現在、AWS が公式に推奨するディープラーニング フレームワークです。

MXNet の中核は、複数の GPU または分散クラスター (AWS、Azure、Yarn などをサポート) へのコンピューティング タスクの自動並列化をサポートする動的依存関係スケジューラです。上位層の計算グラフ最適化アルゴリズムにより、シンボリック計算を非常に高速に実行し、メモリを節約できます。ミラー モードを有効にすると、さらにメモリを節約できます。ビデオ メモリが不足しているために他のフレームワークではトレーニングできない、一部の小メモリ GPU でディープラーニング モデルをトレーニングすることもできます。

MXNet は、モバイル デバイス (Android、iOS) 上でディープラーニング ベースの画像認識などのタスクを実行することをサポートします。そのパフォーマンスは次のとおりです。

  • 依存性が少なく、メモリ要件も少なく、Android のパフォーマンスに大きなばらつきがあるスマートフォンでもより汎用的
  • MXNetは、まずndkクロスコンパイルプロジェクトで統合を使用する必要があります。必要に応じてjniのインターフェースを変更し、Androidデモでコンパイルされたダイナミックリンクライブラリを置き換えることができます。
  • MXNet は Caffe モデルをサポートしています。提供されているツールを通じて、Caffe でトレーニングされたモデルを json 形式に変換し、モバイル端末で使用することができます。

さらに、MXNet の大きな利点は、C++、Python、R、Julia、Scala、Go、MATLAB、JavaScript などの多言語パッケージをサポートしていることです。 MXNet でネットワークを構築するのに必要な時間は、Keras や Torch などの高度にカプセル化されたフレームワークよりも長くなる可能性がありますが、Theano を直接使用するよりも高速です。次の図は、MXNet の各レベルのシステム アーキテクチャを示しています (最下層はハードウェアとオペレーティング システムの最下層で、各層は抽象度が増すインターフェイスです)。

GitHub: http://github.com/dmlc/MXNet

Apache MXNet 公式サイト: https://MXNet.incubator.apache.org/

<<:  データ + 進化的アルゴリズム = データ駆動型進化的最適化?進化的アルゴリズムと数学的最適化

>>:  人工知能搭載の携帯電話は私たちの生活をどのように変えるのでしょうか? 携帯電話メーカーが何をしてきたか見てみましょう。

ブログ    

推薦する

...

Ruilai Wisdom、安全なAIインフラの構築に注力するためシリーズAで3億人民元超の資金調達を完了

10月28日、北京瑞来智能科技有限公司(以下「瑞来智能」)は、3億人民元を超えるAラウンド資金調達を...

AIによる顔の変形がトレンドになり、人工知能の世界があなたの探索を待っています

昔、携帯電話がなかった頃は、写真を撮りたい人は写真館に行かなければなりませんでした。写真を撮る機会は...

AI革命はネットゼロデータセンターに終止符を打つのでしょうか?

これらの施設は重要であるにもかかわらず、あまり理解されていません。しかし、最近ではデータセンターに注...

いくつかの単純な負荷分散アルゴリズムとそのJavaコード実装

1. 負荷分散とは何ですか?負荷分散(英語名は Load Balance)とは、複数のサーバーを対称...

FPGA と GPU を使用したニューラル ネットワークの作成

現代の CPU は、命令を順番に実行し、アルゴリズムを 1 つずつロードされて実行される命令に分解し...

高度な自動運転システムの設計・開発からソフトウェアの導入まで

上記の記事では、SOA 全体のアーキテクチャ特性、実装基盤、アプリケーションの利点、開発プロセスにつ...

最新の軌道予測の概要:基本的な定義からさまざまな方法と評価まで

この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...

PHPソートアルゴリズムの完全実装

PHP を学習しているときに、PHP のソート問題に遭遇することがあります。ここでは、PHP のソー...

ドローンレースが人間のトッププレイヤーを上回り、強化学習が再びネイチャーの表紙を飾る

最近、自律型ドローンがドローン競技会で人間のトッププレイヤーに勝利しました。この自律型ドローンは、チ...

トレンディで無料! 2024 年に持つ価値のある 8 つの「チート」ツール!

編纂者:Xing Xuan企画 | ヤン・ジェン制作:51CTO テクノロジースタック(WeChat...

肖像ラベルシステムの構築と運用実践

1. ポートレートラベルシステムQunarは、事業開発プロセスごとに独立したポートレートラベリングシ...

AIがIT業界とAV業界にもたらす変化

[51CTO.com クイック翻訳]人工知能が情報技術 (IT) 業界とオーディオビジュアル (AV...

メタは世界最速となる可能性のあるAIスーパーコンピュータを開発

Metaによれば、AI Research SuperCluster(RSC)は企業がより優れたAI...

米メディア:人工知能(AI)は、人間の推論の欠点を伴わずにコンピューティングの利点を実現する

[[334808]]ミラロのコメント – 今日の軍事コンピューティングに関連するものはすべて人工知能...