「IoT」デバイスで深層学習を実行するシステム

ad
ad
ad

(System brings deep learning to “internet of things” devices)

2020/11/13 アメリカ合衆国・マサチューセッツ工科大学(MIT)

IoTデバイス

・ MIT、台湾大学および MIT-IBM Watson AI Lab が、ウェアラブル医療デバイス、家電や IoT デバイスの微細なコンピューター・チップでの深層学習の利用を可能にするシステム、「MCUNet」を開発。
・ 同システムは、メモリやプロセス能力に限りがある IoT デバイスでこれまでにない速さと精度の深層学習を可能にするコンパクトなニューラルネットワーク(NN)を設計するもの。IoT 分野の裾野を広げながらエネルギーを節約し、データの安全性を向上させる可能性が期待できる。
・ 1980 年代前半、事務所から飲料水の自動販売機に出向かう前に商品の在庫を確認したいという動機から、カーネギーメロン大学院生が販売機とインターネットを繋げたことが IoT の始まりとされる。当時は数億ものデバイスがインターネットに接続されるなど誰も予期しておらず、この話は冗談の落ちとして扱われたが、現在ではウェアラブルな心拍モニターからスマートな冷蔵庫まで日常的なオブジェクトがネットワークに接続され、IoT は拡大の一途を辿っている。
・ IoT デバイスは OS を持たず、最低限のプロセス能力とスマートフォンの 1/1000 以下のメモリのシンプルなコンピューター・チップのマイクロコントローラーで作動するため、深層学習のようなパターン認識タスクをローカルで実行することが難しい。複雑な解析には IoT の収集データがクラウドに送られるが、ハッキングの危険性がある。IoT のような微細なデバイスでの NN の直接的な展開は最新の研究分野であり、Google や ARM 等の企業はすべてこの方向を目指している。
・ 「MCUNet」は、インファレンス・エンジン(OSに類似)の 「TinyEngine」と、カスタムサイズのネットワー
クを生成・最適化するニューラル・アーキテクチャ・サーチアルゴリズムの「TinyNAS」から構成。真に必要なものだけを残したシステム-アルゴリズムのコデザインによるシステム。
・ マイクロコントローラーは種類によって電力容量やメモリサイズが多岐にわたるため、「TinyNAS」アルゴリズムがサーチ空間を最適化し、不要なパラメータを除外したベストな性能のコンパクトな NN を特定のマイクロコントローラー用に作成。「TinyEngine」がこのようなカスタム NN の作動に必要最低限のコードのみを生成し、コンパイルタイムを短縮する。
・ 「TinyEngine」の試験では、コンパイルしたバイナリコードのサイズが 1.9 の間で、Google や ARM による同等のマイクロコントローラー・インファレンス・エンジンの 5 倍小さいことを確認。また、インプレイス、デプスワイズの畳み込みを含むランタイムを低減し、最大メモリ使用量をほぼ半減した。
・ ImageNet データベースのラベル付き画像データを「MCUNet」に学習させ、新しい画像の分類能力を試験した結果、市販のマイクロコントローラーで新画像の 70.7%の分類に成功(以前の NN とインファレンス・エンジンのコンボでは 54%)。マイクロコントローラーでは飛躍的な向上となる。オーディオ・ビジュアルウェイクワード(「Hey, Siri」等)タスクでも競合製品を上回る速さと精度を確認した。
・ ローカルにデータを分析してクラウドへのデータ送信を不要にする「MCUNet」は、IoT デバイスの安全性を確保し、自動車の IoT デバイスやネットのアクセスが制限される遠隔地方での深層学習の利用を可能にする。エネルギー消費量、コンピューター資源、人的資源やデータ量を抑えた効率的でコンパクト、スリムなカーボンフットプリントのグリーン AI の実現を目指す。
URL: https://news.mit.edu/2020/iot-deep-learning-1113

<NEDO海外技術情報より>

(関連情報)

Conference on Neural Information Processing Systems 発表論文(フルテキスト)
MCUNet: Tiny Deep Learning on IoT Devices
URL: https://arxiv.org/abs/2007.10319

Abstract

Machine learning on tiny IoT devices based on microcontroller units (MCU) is appealing but challenging: the memory of microcontrollers is 2-3 orders of magnitude smaller even than mobile phones. We propose MCUNet, a framework that jointly designs the efficient neural architecture (TinyNAS) and the lightweight inference engine (TinyEngine), enabling ImageNet-scale inference on microcontrollers. TinyNAS adopts a two-stage neural architecture search approach that first optimizes the search space to fit the resource constraints, then specializes the network architecture in the optimized search space. TinyNAS can automatically handle diverse constraints (i.e.device, latency, energy, memory) under low search costs.TinyNAS is co-designed with TinyEngine, a memory-efficient inference library to expand the search space and fit a larger model. TinyEngine adapts the memory scheduling according to the overall network topology rather than layer-wise optimization, reducing the memory usage by 4.8x, and accelerating the inference by 1.7-3.3x compared to TF-Lite Micro and CMSIS-NN. MCUNet is the first to achieves >70% ImageNet top1 accuracy on an off-the-shelf commercial microcontroller, using 3.5x less SRAM and 5.7x less Flash compared to quantized MobileNetV2 and ResNet-18. On visual&audio wake words tasks, MCUNet achieves state-of-the-art accuracy and runs 2.4-3.4x faster than MobileNetV2 and ProxylessNAS-based solutions with 3.7-4.1x smaller peak SRAM. Our study suggests that the era of always-on tiny machine learning on IoT devices has arrived. Code and models can be found here:

タイトルとURLをコピーしました