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と密接に関連していますが、主な 違いはハードウェアの規模と消費電力の制約にあります。エッジAIは、AIモデルのローカルでの 実行全般を指すより広範な用語であり、多くの場合、 Raspberry Piのようなシングルボードコンピュータや、 NVIDIA のような高性能な組み込みGPUが利用されます。 対照的に、TinyMLは Arduinoボードや STMicroelectronicsのチップなど、バッテリー駆動で数ヶ月から数年稼働する 高度に組み込まれたシステムを特にターゲットとしています。これらのデバイスは 通常、RAMが数百キロバイトしか搭載されていないため、モデルの徹底的な圧縮が不可欠となります。
最小限のハードウェアに直接AIを導入できるようになったことで、 さまざまな業界において数多くの実用的な活用事例が生まれています:
マイクロコントローラ向けにモデルを準備するには、厳格なエクスポート形式が必要です。 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)
未来の機械学習で、新たな一歩を踏み出しましょう。