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

CPU

AIにおけるCPUの重要な役割を探ります。データの前処理、後処理を最適化し、今日からエッジデバイスでUltralytics YOLO26の推論を実行する方法を学びましょう。

中央処理装置 (CPU) は、コンピューターの「脳」として機能し、ハードウェアとソフトウェアからの命令を解釈および実行する主要コンポーネントです。人工知能 (AI)の文脈では、CPUはデータ処理、システムオーケストレーション、および推論の実行において基本的な役割を果たし、特に電力効率が重要なエッジデバイスで重要です。GPUのような特殊なハードウェアがディープラーニングモデルのトレーニングという重い作業と関連付けられることが多い一方で、CPUは全体的な機械学習 (ML)パイプラインにとって不可欠な存在です。

AIワークフローにおけるCPUの役割

GPUはトレーニング中の大規模な並列処理で称賛されていますが、CPUはコンピュータビジョン(CV)ライフサイクルの多くの重要な段階における主力です。そのアーキテクチャは、通常x86(Intel、AMD)またはARM設計に基づいており、シーケンシャル処理と複雑なロジック制御に最適化されています。

  • データ前処理: ニューラルネットワークが学習する前に、データを準備する必要があります。CPUは、ファイル読み込み、データクリーニング、およびNumPyOpenCVのようなライブラリを使用した複雑な変換などのタスクに優れています。
  • エッジ推論:実環境での展開において、大規模サーバー上でモデルを実行することは常に実現可能とは限りません。 CPUは、ノートパソコンやラズベリーパイ上でUltralytics Ultralytics を実行するなど、コンシューマー向けハードウェア上での効率的なモデル展開を可能にします。
  • 後処理: モデルが生の確率を出力した後、CPUはしばしば、重複する予測をフィルタリングし、結果を洗練するために、オブジェクトdetectにおけるNon-Maximum Suppression (NMS)などの最終的なロジックを処理します。

CPU vs. GPU vs. TPU

ハードウェア環境を理解することは、機械学習オペレーション(MLOps)を最適化する上で極めて重要です。これらのプロセッサは、アーキテクチャと理想的なユースケースにおいて大きく異なります。

  • CPU: 多様性と複雑なロジックのために設計されています。いくつかの強力なコアを備え、タスクを順次処理します。データ拡張、パイプライン管理、および小バッチでの低遅延推論に最適です。
  • GPU グラフィックス処理装置) もともとグラフィックス処理用に設計されたGPUは、 並列処理向けに設計された数千もの小型コアを備えています。 行列乗算CPUよりもはるかに高速に実行できるため、 モデルトレーニングの標準的な処理装置となっています。
  • TPU (Tensor Processing Unit): Google Cloudによってtensor演算のために特別に開発された特殊回路(ASIC)です。特定のワークロードに対しては非常に効率的ですが、CPUのような汎用的な柔軟性はありません。

実際のアプリケーション

コスト、可用性、エネルギー消費が、大規模な生の処理能力の必要性を上回るアプリケーションでは、CPUが頻繁に選択されるハードウェアです。

  1. Smart Security Cameras: セキュリティアラームシステムでは、カメラがビデオフィードをローカルで処理することがよくあります。CPUベースのobject detectionモデルは、人物や車両を識別し、ビデオをクラウドに送信することなくアラートをトリガーできるため、帯域幅とユーザーのプライバシーを保護します。
  2. 産業オートメーション:工場現場では、 予知保全システムがCPUを用いて 機械からのセンサーデータを監視する。これらのシステムは振動や温度急上昇をリアルタイムで分析し、 故障を予測することで、高価なGPU 必要とせず 製造オートメーションを円滑に維持する。

Ultralytics CPU 上での推論実行

開発者はサーバーレス環境や低消費電力デバイスとの互換性を確認するため、モデルをCPU上でテストすることが多い。Ultralytics CPU容易にターゲットに設定でき、アプリケーションがどこでも確実に動作することを保証します。

以下の例は、軽量モデルを読み込み、CPU推論を実行する方法を示しています:

from ultralytics import YOLO

# Load the lightweight YOLO26 nano model
# Smaller models are optimized for faster CPU execution
model = YOLO("yolo26n.pt")

# Run inference on an image, explicitly setting the device to 'cpu'
results = model.predict("https://ultralytics.com/images/bus.jpg", device="cpu")

# Print the detection results (bounding boxes)
print(results[0].boxes.xywh)

Intel CPUでの性能をさらに向上させるために、開発者はモデルをOpenVINO形式にエクスポートできます。これは、x86アーキテクチャ向けにニューラルネットワーク構造を最適化します。データセットの管理とこれらのデプロイメントのオーケストレーションには、Ultralytics Platformのようなツールが、アノテーションからエッジ実行までのワークフローを簡素化します。

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

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