CPU
AIにおけるCPUの不可欠な役割を探ります。データの前処理や後処理を最適化し、エッジデバイスでUltralytics YOLO26の推論を実行する方法を学びましょう。
中央演算処理装置(CPU)は、コンピュータの「頭脳」として機能する主要コンポーネントであり、ハードウェアやソフトウェアからの命令を解釈および実行する役割を担います。人工知能 (AI)の文脈において、CPUはデータ処理、システムオーケストレーション、そして推論の実行において基本的な役割を果たしており、特に電力効率が重要視されるエッジデバイスでは不可欠です。GPUのような専門的なハードウェアはディープラーニングモデルの学習という重い負荷を担うことが多いですが、CPUは依然として機械学習 (ML)パイプライン全体にとって不可欠な存在です。
Link to this sectionAIワークフローにおけるCPUの役割#
GPUは学習中の大規模な並列処理で高く評価されていますが、CPUはコンピュータビジョン (CV)ライフサイクルの多くの重要な段階において中心的な役割を果たします。x86(Intel、AMD)やARM設計に基づいたそのアーキテクチャは、順次処理や複雑なロジック制御に最適化されています。
- データの前処理: ニューラルネットワークが学習する前に、データを準備する必要があります。CPUは、ファイル読み込み、データクリーニング、およびNumPyやOpenCVのようなライブラリを使用した複雑な変換といったタスクに優れています。
- Edge Inference: For real-world deployment, running models on massive servers isn't always feasible. CPUs allow for efficient model deployment on consumer hardware, such as running Ultralytics YOLO26 on a laptop or a Raspberry Pi.
- 後処理: モデルが生の確率を出力した後、CPUは多くの場合、重複する予測をフィルタリングして結果を調整するための、物体検出における非最大値抑制 (NMS)などの最終的なロジックを処理します。
Link to this sectionCPUとGPUとTPUの比較#
ハードウェア環境を理解することは、機械学習オペレーション (MLOps)を最適化するために不可欠です。これらのプロセッサは、アーキテクチャと最適なユースケースにおいて大きく異なります。
- CPU: 多用途性と複雑なロジックのために設計されています。タスクを順次処理するいくつかの強力なコアを特徴としています。データ拡張、パイプライン管理、および小規模バッチでの低遅延推論に最適です。
- GPU (Graphics Processing Unit): 元々はグラフィックス用でしたが、GPUは並列処理用に設計された何千もの小さなコアを備えています。CPUよりもはるかに高速に行列演算を実行できるため、モデル学習における標準となっています。
- TPU (Tensor Processing Unit): テンソル計算専用にGoogle Cloudによって開発された専用回路(ASIC)です。特定のワークロードに対しては非常に効率的ですが、CPUが持つ汎用的な柔軟性に欠けています。
Link to this section実社会での応用#
CPUは、コスト、可用性、エネルギー消費が膨大な生の処理能力の必要性を上回るアプリケーションにおいて、よく選択されるハードウェアです。
-
スマートセキュリティカメラ: セキュリティアラームシステムにおいて、カメラはビデオフィードをローカルで処理することがよくあります。CPUベースの物体検出モデルは、ビデオをクラウドに送信することなく人物や車両を特定し、アラートをトリガーできるため、帯域幅とユーザーのプライバシーを保護できます。
-
産業オートメーション: 工場の現場では、予知保全システムがCPUを使用して機械からのセンサーデータを監視しています。これらのシステムは、振動や温度の急上昇をリアルタイムで分析して故障を予測し、高価なGPUクラスターを必要とせずに円滑な製造オートメーションを実現します。
Link to this sectionUltralyticsでCPU上で推論を実行する#
開発者は、サーバーレスコンピューティング環境や低電力デバイスとの互換性を検証するために、CPU上でモデルをテストすることがよくあります。Ultralytics APIを使用すると、簡単に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のようなツールが、アノテーションからエッジ実行までのワークフローを簡素化します。






