TinyMLとは
マイクロコントローラ等の超低消費電力・低リソース組み込み機器上で機械学習モデルを動作させる技術分野
ひとことで言うと
電池で動くセンサー等、ごく小さなコンピュータの中でAIを動かす技術分野。
概要
TinyMLとは、マイクロコントローラ(MCU)等、消費電力・メモリ・計算資源が極めて限られた組み込み機器上で機械学習モデルを推論させる技術分野を指す。 クラウドやスマートフォンよりもさらに制約の大きいミリワット〜マイクロワット級の電力で動作するデバイスを対象とし、量子化・枝刈り(プルーニング)・軽量なニューラルネットワーク構造の採用等でモデルを数十KB〜数百KB程度のメモリに収まるサイズへ圧縮した上で実行する。 バッテリー駆動のIoTセンサーやウェアラブルデバイス等、常時のネットワーク接続やクラウド処理が難しい環境でのリアルタイム推論に用いられる。
背景
従来の機械学習は、クラウド上のサーバーやGPU等、潤沢な計算資源を前提に設計・運用されてきた。IoTデバイスの普及に伴い、通信コスト・レイテンシ・プライバシー・バッテリー消費といった制約から、より制約の大きいマイクロコントローラ上で推論を完結させたいという需要が高まり、モデル圧縮技術の進展と合わせてTinyMLという分野が形成された。
歴史
2019年: Pete WardenとDaniel Situnayakeが著書「TinyML: Machine Learning with TensorFlow Lite on Arduino and Ultra-Low-Power Microcontrollers」を刊行。 同年、TinyML Foundationが設立され、「TinyML」という呼称が広く普及した。 背景には2010年代後半からの、モデル圧縮・量子化・計算量を抑えたニューラルネットワーク構造に関する研究進展があった。
利点
- バッテリー駆動の組み込み機器上でもリアルタイムに推論でき、クラウドとの通信コスト・レイテンシを避けられる
- ミリワット級の低消費電力で動作するため、常時稼働のセンサー等バッテリー交換が困難な用途にも適する
欠点
- マイクロコントローラのメモリ・計算資源は極めて限定的で、扱えるモデルサイズやタスクの複雑さに制約がある
- モデルの量子化・軽量化に伴い、クラウド上の大規模モデルと比べて精度が低下しやすい
比較
関連用語
よくある質問
TinyMLとエッジAIは何が違う?
エッジAIはスマートフォンやゲートウェイ等、比較的計算能力のある端末上での推論も含む広い概念。TinyMLは、その中でもマイクロコントローラ等ミリワット級の電力・数十〜数百KB程度のメモリしか持たない、さらに制約の大きい機器上での推論に特化する分野を指す。
参考文献
- DocumentationTinyML - Wikipedia