YOLO Vision Shenzhen
深セン
今すぐ参加
用語集

TinyML

TinyMLについて学び、Ultralytics を展開する方法を習得しましょう。Ultralytics を活用して、IoT向けにモデルを最適化する方法をご紹介します。

TinyML(タイニーML)と呼ばれるTiny Machine Learning(小型機械学習)は、 マイクロコントローラーや小型の IoTデバイスなど、超低消費電力かつリソースに制約のあるデバイスへの モデル展開に焦点を当てた、機械学習の専門分野です。 膨大な計算リソースに依存する従来のクラウドベースのシステムとは異なり、 TinyMLは完全にエッジ側で動作します。消費電力がわずか数mW程度という電力制約のあるデバイス上でインテリジェントなアルゴリズムを ローカルに実行することで、このアプローチは遅延を最小限に抑え、 データのプライバシーを確保し、帯域幅の使用量を大幅に削減します。これは、 TinyML Foundationのようなコミュニティによって支持され、推進されているパラダイムです。

ARM Cortex-Mプロセッサのような制約の厳しいハードウェアに複雑なニューラルネットワークアーキテクチャをうまく適合させるには、 モデルを徹底的に 最適化する必要があります。32ビット 浮動小数点数の重みを8ビット整数に変換する「モデル量子化」や 「モデルプルーニング」といった手法を用いることで、 全体のメモリ使用量を大幅に削減できます。 現在、Google 「TensorFlow for Microcontrollers」や PyTorch 「ExecuTorch」といった専用フレームワークが、こうした精密な 圧縮ワークフローを容易にし、高度な視覚・聴覚インテリジェンスを日常的な組み込みハードウェアにもたらしています。

TinyML 対 エッジAI

TinyMLはエッジAIと密接に関連していますが、主な 違いはハードウェアの規模と消費電力の制約にあります。エッジAIは、AIモデルのローカルでの 実行全般を指すより広範な用語であり、多くの場合、 Raspberry Piのようなシングルボードコンピュータや、 NVIDIA のような高性能な組み込みGPUが利用されます。 対照的に、TinyMLは Arduinoボード STMicroelectronicsのチップなど、バッテリー駆動で数ヶ月から数年稼働する 高度に組み込まれたシステムを特にターゲットとしています。これらのデバイスは 通常、RAMが数百キロバイトしか搭載されていないため、モデルの徹底的な圧縮が不可欠となります。

実際のアプリケーション

最小限のハードウェアに直接AIを導入できるようになったことで、 さまざまな業界において数多くの実用的な活用事例が生まれています:

  • スマート製造における予知保全:工場では、超低消費電力の振動・音響センサーを機械に直接取り付けています。これらのTinyMLセンサーは モーターの周波数を継続的に分析し、故障の兆候となるdetect 異常をdetect 、 メンテナンスチームがコストのかかる稼働停止が発生する前に問題に対処できるようにします。
  • スマート精密農業:バッテリー駆動の TinyMLデバイスが広大な農地に点在し、基本的なカメラモジュールを使用して局所的な環境条件を監視し、detect 害虫の発生や病気の初期兆候detect 。また、容量の大きな画像ファイルではなく、 軽量なアラートのみを送信します。
  • 野生生物保護のための音声モニタリング: 研究者たちは、TinyMLを動力源とする隠蔽型の音響センサーアレイを用いて、 密林の中で絶滅危惧種のdetect 、チェーンソーなどの違法伐採detect 。 太陽光やバッテリーで動作するこれらの装置は、現地で音声を分析し、即座に長距離 アラートを発信します。

TinyML向けモデルのエクスポート

マイクロコントローラ向けにモデルを準備するには、厳格なエクスポート形式が必要です。 Ultralytics を使用すれば、開発者は堅牢な 物体検出パイプラインを構築し、それらを 組み込みターゲット向けに圧縮することができます。 ローカルにエクスポートする前に、 Ultralytics データセットやモデルのバージョン管理をシームレスに行うことができます。ネイティブな TFLite により、マイクロコントローラに必要な 8ビット整数形式への変換が容易に行え、Appleの CoreML、Google EdgeTPU、NVIDIA 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)

共にAIの未来を築きましょう!

未来の機械学習で、新たな一歩を踏み出しましょう。