Neural Processing Unit (NPU)
ニューラルプロセッシングユニット(NPU)がAIを高速化する方法を学びます。効率的で低消費電力のエッジコンピューティングと推論のために、Ultralytics YOLO26をNPUへデプロイする方法を確認します。
ニューラル処理ユニット (NPU)は、人工知能および機械学習アルゴリズムの実行を高速化するために特別に設計された専用ハードウェア回路です。汎用プロセッサーとは異なり、NPUは、ディープラーニングモデルの中核となる複雑で並列的な行列演算をネイティブに処理できるアーキテクチャーを備えています。これらの計算を極めて効率的に実行することで、NPUは消費電力を大幅に削減しながら、推論レイテンシを大きく改善します。そのため、急速なバッテリー消耗を避けつつ複雑なモデルを効率的に展開することが重要な、最新の携帯電話、ノートパソコン、専用IoTデバイスに不可欠なコンポーネントとなっています。
NPUとその他のプロセッサーの比較#
NPUの価値を理解するには、AI分野で一般的に使用される他のハードウェアアクセラレーターとの違いを把握すると役立ちます。
- 中央処理装置 (CPU): コンピューターの汎用的な「頭脳」です。機械学習コードを実行できますが、CPUはタスクを順番に処理するため、最新のビジョンモデルで必要とされる大量の行列乗算には時間がかかり、効率も高くありません。
- グラフィックス処理装置 (GPU): 並列処理向けに設計されており、大規模なディープラーニングワークロードの処理に優れています。ただし、大きな電力を消費して相当な熱を発生させるため、バッテリー駆動のエッジコンピューティングよりも、クラウドでのトレーニングに適しています。
- テンソル処理ユニット (TPU): 機械学習向けにGoogleが開発したアプリケーション特化型集積回路です。概念的にはNPUと似ていますが、TPUは一般に大規模なクラウドコンピューティングのサーバーラックと関連付けられる一方、NPUは通常、コンシューマー向けのシステムオンチップ (SoCs)に直接統合されています。
NPUの実世界での用途#
NPUの普及により、常時クラウド接続に依存せず、ユーザーデバイス上で直接人工知能 (AI)を実行できるようになりました。
- スマートフォンとモバイルビジョン: 最新のモバイルデバイスは、Apple Neural EngineやQualcomm Hexagon NPUなどの内蔵NPUを積極的に活用し、コンピュテーショナルフォトグラフィー、リアルタイム顔認識、端末上でのテキスト翻訳を実現しています。画像データをデバイス上で処理することで、バッテリーを長持ちさせ、データプライバシーを確保します。
- AI搭載ノートパソコン: 高度なPCプロセッサーには、ビデオ会議中の背景ぼかしや視線補正などのバックグラウンドタスクを、メインCPUに負荷をかけずに処理する内蔵NPUが搭載されるようになっています。これにより、ユーザーはスムーズにマルチタスクを実行できます。
- エッジAIの展開: スマート監視カメラやロボットは、Google Coral Edge TPUや組み込みIntelハードウェアなどの専用NPUを活用し、ソース上で直接、瞬時に物体検出を実行します。これにより、帯域幅のボトルネックが解消され、瞬時の意思決定が可能になります。
Ultralytics YOLOでNPUを使用する#
NPUを活用したい開発者にとって、コンピュータービジョンモデルの展開は非常に簡単になっています。高性能なUltralytics YOLO26モデルを使用すれば、トレーニング済みネットワークをさまざまなハードウェアアクセラレーター向けに最適化された形式へエクスポートできます。このライフサイクル全体を効率化するため、Ultralytics Platformは、クラウドでのデータセット管理、自動アノテーション、ほぼあらゆるモデル展開環境への最適化モデルのデプロイに対応する堅牢なツールを提供します。
ローカルで作業する場合は、ONNX Runtime、PyTorch ExecuTorch、TensorFlow Liteなどのフレームワーク統合を使用してNPUをターゲットにできます。以下は、YOLOモデルをOpenVINO形式にエクスポートし、Intel NPUに計算ワークロードをシームレスに委譲して、高速なリアルタイム推論を実現する方法を示す簡単なPythonの例です。
from ultralytics import YOLO
# Load the highly recommended Ultralytics YOLO26 Nano model
model = YOLO("yolo26n.pt")
# Export to OpenVINO with int8 quantization for optimal NPU performance
model.export(format="openvino", int8=True)
# Run highly efficient, accelerated inference on the edge device
results = model("path/to/environment_image.jpg")





