マイクロマシンラーニングは、マイクロプロセッサにディープラーニングを組み込むことを約束する

マイクロマシンラーニングは、マイクロプロセッサにディープラーニングを組み込むことを約束する

翻訳者 | 朱 仙中

校正 | 梁哲、孫淑娟

ディープラーニング モデルの初期の成功は、大量のメモリと GPU のクラスターを備えた大規模なサーバーによるものでした。ディープラーニングの可能性により、ディープニューラルネットワーク向けのクラウドコンピューティングサービスを提供する業界が生まれました。その結果、ほぼ無制限のクラウド リソース上で実行される大規模なニューラル ネットワークが、特に十分な予算を持つテクノロジー企業の間で非常に人気が高まっています。

しかし同時に、近年ではエッジデバイス向けの機械学習モデルを作成するという逆の傾向も見られます。 Tiny Machine Learning (TinyML) と呼ばれるこれらのモデルは、メモリと処理能力が限られており、インターネット接続が存在しない、または制限されているデバイスに適しています。

IBM とマサチューセッツ工科大学 (MIT) の新しい共同研究は、畳み込みニューラル ネットワーク (CNN) のピーク メモリ ボトルネック問題に対処します。これは、コンピューター ビジョン アプリケーションにとって特に重要なディープラーニング アーキテクチャです。 McUnETV2と呼ばれるこのモデルは、NeurIPS 2021カンファレンスで発表された論文で詳細が説明されており、低メモリおよび低電力のマイクロコントローラー上で畳み込みニューラルネットワーク(CNN)を実行できます。

1. TinyML はなぜ存在するのですか?

クラウドでのディープラーニングは非常に成功していますが、すべての状況に適しているわけではありません。実際、多くのアプリケーションでは、推論タスクをハードウェア デバイス上で直接完了することが求められます。たとえば、ドローン救助などの一部のミッション環境では、インターネット接続が保証されません。医療などの他の分野でも、プライバシー要件や規制上の制約により、データをクラウドに送信して処理することが困難になっています。リアルタイムの機械言語推論を必要とするアプリケーションの場合、クラウドへのラウンドトリップによって生じる遅延はさらに大きなものになります。

機械学習デバイスを科学的にも商業的にも魅力的なものにするには、上記の条件をすべて満たす必要があります。たとえば、iPhone には現在、顔認識や音声認識を実行するアプリケーションが多数搭載されており、Android フォンでは翻訳ソフトウェアを直接実行することもできます。さらに、Apple Watch はすでに機械学習アルゴリズムを使用して、動きや ECG パターンを検出できます (注: ECG は心電図の略で、EKG とも呼ばれ、心拍をトリガーする一連の電気信号のタイミングと強度を記録するために使用されるテスト実験です。ECG 画像を分析することで、医師は心拍数が正常かどうか、心臓機能に問題があるかどうかをより正確に診断できます)。

これらのデバイス上の ML モデルは、ニューラル ネットワークをよりコンパクトにし、計算とメモリの効率を高める技術の進歩によって部分的に実現可能になりました。同時に、ハードウェア技術の進歩により、このような ML モデルをモバイル環境で実装することも可能になりました。今日、スマートフォンやウェアラブルデバイスは、30 年前の高性能サーバーよりも高い計算能力を備えており、機械言語推論を実行するための専用のコプロセッサを搭載したものもあります。

TinyML はエッジ AI をさらに一歩進め、ポケットや手首に入れて持ち歩く小型コンピューターよりもさらにリソースが制限されるマイクロコントローラー (MCU) 上でディープラーニング モデルを実行できるようにします。

一方、マイクロコントローラは平均販売価格が 0.50 ドル未満と安価であり、消費者向けから産業用機器まであらゆるものに組み込まれており、ほぼどこにでも普及しています。同時に、汎用コンピューティング デバイスにあるようなリソースがなく、ほとんどのデバイスにはオペレーティング システムがありません。マイクロコントローラには小さな CPU と、数百 KB の低電力メモリ (SRAM) と数 MB のストレージ スペースしかなく、ネットワーク デバイスはありません。そのほとんどには主電源がなく、長年ボタン電池を使用しなければなりませんでした。したがって、MCU にディープラーニング モデルをインストールすると、多くのアプリケーションに新たな道が開かれる可能性があります。

2. 畳み込みニューラルネットワークにおけるメモリボトルネック

畳み込みニューラルネットワーク (CNN) アーキテクチャ

ディープ ニューラル ネットワークを、小さなメモリのコンピューティング デバイスに収まるサイズに縮小する取り組みがいくつか行われてきました。ただし、これらの取り組みのほとんどは、ディープラーニング モデルのパラメータの数を減らすことに重点を置いています。たとえば、「プルーニング」は、モデルの出力において重要でないパラメータを削除することでニューラル ネットワークを縮小する、一般的な最適化アルゴリズムです。

プルーニング手法の問題点は、ニューラル ネットワークのメモリ ボトルネックに対処できないことです。ディープラーニング ライブラリの標準的な実装では、ネットワーク層とアクティベーション層のマップ全体をメモリに読み込む必要があります。残念ながら、従来の最適化手法では、特に畳み込みニューラル ネットワークでは、ニューラル ネットワークの初期の計算層に大きな変更は加えられません。

その結果、ネットワークのさまざまなレイヤーのサイズに不均衡が生じ、「メモリ ピーク」の問題が発生します。つまり、ネットワークがプルーニング後に軽量化されたとしても、それを実行するデバイスは、最大レイヤーと同じメモリを持つ必要があります。たとえば、一般的な TinyML モデル MobileNetV2 では、初期層の計算はメモリ内で約 1.4 MB でピークに達しますが、後期層のメモリ フットプリントは非常に小さくなります。モデルを実行するには、デバイスのモデルのピーク サイズと同じ量のメモリが必要になります。ほとんどの MCU には数百 KB のメモリしかないため、MobileNetV2 の既製バージョンを実行することはできません。

MobileNetV2 はエッジ デバイス向けに最適化されたニューラル ネットワークですが、メモリが最大で約 1.4 MB であるため、多くのマイクロコントローラではアクセスできません。

ニューラル ネットワークを最適化するもう 1 つの方法は、モデルの入力サイズを縮小することです。入力画像が小さいほど、予測タスクを実行するために必要な CNN も小さくなります。ただし、入力サイズを縮小することは本質的に困難であり、すべてのコンピューター ビジョン タスクに効果的というわけではありません。たとえば、オブジェクト検出のディープラーニング モデルは画像サイズに非常に敏感であり、入力解像度が低下するとパフォーマンスが急激に低下します。

上の図から、画像分類 ML モデル (オレンジ色の線) は、物体検出モデル (青色の線) よりも解像度の低下の影響を受けやすいことが簡単にわかります。

3. MCUNetV2 パッチベース推論

畳み込みニューラル ネットワークのメモリ ボトルネックを解決するために、研究者は、メモリ帯域幅をマイクロコントローラの限界に合わせて調整できる MCUNetV2 と呼ばれるディープラーニング アーキテクチャを作成しました。 MCUNetV2 は、同じ研究グループの以前の研究に基づいて開発されており、NeurIPS 2020 カンファレンスに受け入れられ、正常に提出されています。

MCUNetV2 の背後にある主なアイデアは、「パッチベースの推論」であり、精度を低下させることなく CNN のメモリ フットプリントを削減する手法です。 MCUNetV2 は、ニューラル ネットワーク レイヤー全体をメモリにロードする代わりに、レイヤーの小さな領域、つまり「パッチ」を任意の時点でロードして計算します。次に、レイヤーをブロックごとに反復処理し、レイヤー全体のアクティベーションが計算されるまで値を結合します。

図の左側は、従来のディープラーニング システムがレイヤー全体を計算する状況を示しており、右側は、MCUNetV2 が一度に 1 つのパッチを計算することで、DL 推論のメモリ要件を削減していることを示しています。

MCUNetV2 は一度に保存するニューロンのスライスを 1 つだけ必要とするため、モデルの解像度やパラメータを低下させることなく、ピーク時のメモリ使用量を大幅に削減します。研究者の実験では、MCUNetV2 によってメモリのピークを最大 8 分の 1 削減できることが示されています。

MCUNetV2はディープラーニングモデルのピーク時のメモリ使用量を8分の1に削減できる

パッチベースの推論では、計算オーバーヘッドとのトレードオフが生じますが、メモリは節約されます。 MIT と IBM の研究者は、さまざまなアーキテクチャ間で全体的なネットワーク計算が 10 ~ 17% 増加する可能性があることを発見しましたが、これは低電力マイクロコントローラでは明らかに実現不可能です。

この制限を克服するために、研究者らはニューラル ネットワークの異なるブロックの「受容野」を再分配しました (注: CNN では、n 番目の層の特徴マップの 1 つのピクセルは、最初の層の入力画像のピクセル数に対応します。最初の層はその層の受容野であり、「RF」と略されます)。 CNN では、受容野はいつでも処理できる画像の領域です。受容野が大きいほど、パッチも大きくなり、パッチ間の重なりも大きくなります。もちろん、これにより計算オーバーヘッドが増大します。ネットワークの初期ブロックの受容野を縮小し、後の段階で拡大することで、研究者は計算オーバーヘッドを3分の2以上削減することができました。

受容野の再分配により、MCUNetV2 の計算オーバーヘッドが 3 分の 2 以上削減されます。

最後に、研究者らは、MCUNetV2 のチューニングは、ML モデル アーキテクチャ、アプリケーション、および対象デバイスのメモリとストレージ容量に大きく依存することを観察しました。各デバイスやアプリケーションに合わせてディープラーニング モデルを手動で調整する手間を省くため、研究者らは「ニューラル アルゴリズム検索」を使用しました。これは、機械学習を使用してニューラル ネットワーク アーキテクチャと推論スケジュールを自動的に最適化するプロセスです。

研究者らは、メモリ容量の小さい複数のマイクロコントローラ モデルで、さまざまなアプリケーションにおけるディープラーニング アーキテクチャをテストしました。結果は、MCUNetV2 が他の TinyML 技術よりも優れており、より少ないメモリ要件とより低いレイテンシで、画像分類とオブジェクト検出においてより高い精度を達成できることを示しています。

下の図に示すように、研究者は MCUNetV2 をリアルタイムの人物検出、視覚的なウェイクアップワード、顔/マスク検出などの方法で使用しています。

翻訳者注: ここに示されているのは、MCUNetV2 を使用した youtube.com のビデオのスクリーンショットです。

4. TinyMLアプリケーション

2018 年に発表された「機械学習の未来が小さい理由」という記事で、ソフトウェア エンジニアの Pete Warden 氏は、MCU での機械学習が非常に重要であると主張しました。 「機械学習は小型で低消費電力のチップ上で実行でき、この組み合わせにより現在解決できない膨大な数の問題を解決できると信じている」とワーデン氏は書いている。

センサーと CPU の進歩により、世界中からデータを収集する能力が大幅に向上しました。しかし、機械学習モデルを通じてこのデータを処理および使用する能力は、ネットワーク接続とクラウド サーバーへのアクセスによって制限されます。 Worden 氏が言うように、プロセッサとセンサーは Bluetooth や WiFi などの無線送信機よりもエネルギー効率に優れています。

「データを移動するという物理的な作業には、大量のエネルギーが必要であるようだ」とワーデン氏は書いている。「操作に必要なエネルギーは、ビットが送信される距離に比例するという法則があるようだ。CPU とセンサーは、数ミリメートルの距離でビットを送信するのに安価だが、無線は数メートル以上の距離で数ビットを送信するのに高価だ…明らかに、適切な技術で開拓されるのを待っている巨大な潜在市場がある。安価なマイクロコントローラーで動作し、エネルギーをほとんど使用せず、無線ではなく計算に依存し、無駄になっているセンサーデータをすべて有用なものに変えることができるデバイスが必要だ。これが、機械学習、特にディープラーニングが埋めるギャップだ。」

MCUNetV2 と TinyML のその他の進歩のおかげで、Worden の予測はすぐに現実になるかもしれません。今後数年間で、TinyML は家庭、オフィス、病院、工場、農場、道路、橋などの何十億ものマイクロコントローラーに導入され、これまでは不可能だったアプリケーションが可能になることが期待されます。

オリジナルリンク: https://thenextweb.com/news/tinyml-deep-learning-microcontrollers-syndication

翻訳者紹介

Zhu Xianzhong 氏は、51CTO のコミュニティ エディターであり、51CTO の専門ブロガー兼講師であり、濰坊の大学のコンピューター教師であり、フリーランス プログラミング コミュニティのベテランです。初期にはさまざまな Microsoft テクノロジに注力し (ASP.NET AJX および Cocos 2d-X に関連する 3 冊の技術書を編纂)、オープンソースの世界に 10 年近く携わってきました (人気のフルスタック Web 開発テクノロジに精通)。OneNet/AliOS+Arduino/ESP32/Raspberry Pi をベースとした IoT 開発テクノロジや、Scala+Hadoop+Spark+Flink などのビッグデータ開発テクノロジを理解しています。

<<:  AIと自動化でコンプライアンスコストを削減する5つの方法

>>:  問題が VPN の問題であることを証明するにはどうすればよいですか?コンピュータ科学者は簡単な方法を発見した

ブログ    
ブログ    

推薦する

AESアルゴリズムを簡単に説明すると

AESアルゴリズムAES (Advanced Encryption Standard) は、2001...

...

Julia言語を使用して「準同型暗号化+機械学習」を実装するには?

[[285696]]最近、「ブロックチェーン」や「フェデレーテッドラーニング」などの概念がかつてな...

公共の場での顔認識は全面的に禁止される可能性があります。ちょうど今、欧州議会はAI規制を強化することを決定した

[[427521]]昨日、欧州議会はAI生体認証技術に基づく大規模な監視の全面禁止を求める決議を可決...

AIのおかげで、これら5つの業界の求人需要は大幅な成長傾向を示すだろう

編集者注: 人工知能と人間の仕事は、今日多くの人が話題にしているトピックであり、議論の焦点は主に、人...

専門家の視点:量子コンピューティングの開発動向

量子コンピューティングとは、量子理論の原理に基づいたコンピューター技術の開発に焦点を当てた研究分野を...

Java プログラミング スキル - データ構造とアルゴリズム「分割統治アルゴリズム」

[[398991]]アルゴリズムの紹介分割統治アルゴリズムは非常に重要です。文字通りの説明は「分割...

人生の意味とは何でしょうか?ステーションBのUP司会者がAIに「究極の質問」を投げかけた

人生の意味とは何でしょうか?人はなぜ生きるのか?これらの「宇宙の究極の疑問」は、歴史を通じて数え切れ...

...

...

ニューラル ネットワーク: 神秘的で驚異的なニューラル ネットワークの完全な歴史

[[346995]]さまざまな資料を読んでいくうちに、ニューラルネットワークの歴史に深く魅了されるよ...

ディープラーニングの発展とそれが引き起こした気候変動問題

人間の脳は極めて効率的な知能の源ですが、現在の AI はこのレベルに到達できません。 [[33099...

百度の張亜琴社長:AIは現代の最も変革的な力である

[[205882]]北京時間10月10日朝のニュースによると、中国の検索大手、百度はシアトル地域にオ...