TinyML
TinyMLを探求し、低電力マイクロコントローラーにUltralytics YOLO26をデプロイする方法を学びます。量子化とUltralytics Platformを用いてIoT向けにモデルを最適化する方法を発見しましょう。
Tiny machine learning(一般的にTinyMLと呼ばれます)は、機械学習の専門分野の一つであり、microcontrollersや小型のIoT devicesのような、超低消費電力かつリソースが制限されたデバイスへのモデルデプロイに焦点を当てています。膨大な計算リソースに依存する従来のクラウドベースのシステムとは異なり、TinyMLは完全にエッジで動作します。消費電力がわずか数ミリワット単位のデバイス上でインテリジェントなアルゴリズムをローカルで実行することにより、このアプローチはレイテンシを最小限に抑え、データプライバシーを確保し、帯域幅の消費を大幅に削減します。このパラダイムは、TinyML Foundationのようなコミュニティによって支持され、推進されています。
ARM Cortex-M processorsのような非常に制限の厳しいハードウェアに複雑なニューラルネットワークアーキテクチャを実装するには、モデルに厳密な最適化を施す必要があります。32ビット浮動小数点ウェイトを8ビット整数に変換するmodel quantizationや、model pruningといった手法は、全体のメモリフットプリントを大幅に削減するために使用されます。現在では、GoogleのTensorFlow Lite for MicrocontrollersやPyTorchのExecuTorchといった専用フレームワークが、こうした精密な圧縮ワークフローを促進しており、日常的な組み込みハードウェアに高度な視覚的および聴覚的なインテリジェンスをもたらしています。
Link to this sectionTinyMLとEdge AIの比較#
TinyMLはEdge AIと密接に関連していますが、主な違いはハードウェアの規模と電力予算にあります。Edge AIはより広義な用語であり、Raspberry Piのようなシングルボードコンピュータや、NVIDIA Jetsonのような堅牢な組み込みGPUを利用する、あらゆるAIモデルのローカル実行を包含します。対照的に、TinyMLはArduinoボードやSTMicroelectronicsチップなど、数ヶ月から数年にわたってバッテリー駆動する高度に組み込まれたシステムを特にターゲットとしています。これらのデバイスは通常、数百KB程度のRAMしか搭載していないため、積極的なモデル圧縮が不可欠です。
Link to this section実社会での応用#
最小限のハードウェア上でインテリジェンスを直接展開できる能力は、さまざまな産業において多くの実用的なユースケースを実現しています:
- Predictive Maintenance in Smart Manufacturing:工場では、超低消費電力の振動センサーやオーディオセンサーを機械に直接配置します。これらのTinyMLセンサーは、モーターの周波数を継続的に分析して故障の前兆となる微妙な異常を検知し、メンテナンスチームがコストのかかるダウンタイムが発生する前に問題に対処できるようにします。
- Smart Precision Agriculture:バッテリー駆動のTinyMLデバイスが広大な農地に点在し、局所的な環境条件を監視します。基本的なカメラモジュールを使用して害虫の発生や病気の初期兆候を検知し、重い画像ファイルではなく軽量なアラートのみを送信します。
- Wildlife Conservation Audio Monitoring:研究者は、TinyMLを搭載した隠されたacoustic sensor arraysを使用して、鬱蒼とした森林の中で絶滅危惧種の特定の鳴き声や違法伐採活動(チェーンソーの音など)を検知します。太陽光やバッテリーで動作するこれらのデバイスは、音声をローカルで分析し、即座に長距離アラートをトリガーします。
Link to this sectionTinyML向けモデルのエクスポート#
Preparing a model for a microcontroller requires strict export formatting. Using Ultralytics YOLO26, developers can build robust object detection pipelines and compress them down for embedded targets. You can manage your dataset and model versioning seamlessly on the Ultralytics Platform before exporting locally. The native TFLite integration allows effortless conversion to the 8-bit integer formats required for microcontrollers, complementing other hardware-specific model deployment options like Apple's CoreML, Google's Edge TPU, and NVIDIA's TensorRT.
以下の例は、INT8量子化で最適化された軽量なYOLO26モデルをエクスポートし、TinyML互換のエッジプラットフォームへのデプロイに適した形式にする方法を示しています:
from ultralytics import YOLO
# Initialize the lightweight YOLO26 Nano model for edge use cases
model = YOLO("yolo26n.pt")
# Export to TFLite format with INT8 quantization and a reduced image size
# This minimizes the memory footprint and accelerates inference on microcontrollers
model.export(format="tflite", int8=True, imgsz=160)





