AIと機械学習におけるCPU重要な役割を探る。データ準備、推論、GPU/TPUとの比較におけるCPUの使用方法について学びます。
A Central Processing Unit (CPU) is the primary component of a computer that acts as its "brain," responsible for interpreting and executing instructions from hardware and software. In the context of artificial intelligence (AI), the CPU plays a fundamental role in data handling, system orchestration, and executing inference, particularly on edge devices where power efficiency is critical. While specialized hardware like GPUs are often associated with the heavy lifting of training deep learning models, the CPU remains indispensable for the overall machine learning (ML) pipeline.
Although GPUs are celebrated for their massive parallelism during training, the CPU is the workhorse for many essential stages of the computer vision (CV) lifecycle. Its architecture, typically based on x86 (Intel, AMD) or ARM designs, is optimized for sequential processing and complex logic control.
ハードウェア環境を理解することは、機械学習オペレーション(MLOps)を最適化する上で極めて重要です。これらのプロセッサは、アーキテクチャと理想的なユースケースにおいて大きく異なります。
CPUs are frequently the hardware of choice for applications where cost, availability, and energy consumption outweigh the need for massive raw throughput.
開発者はサーバーレス環境や低消費電力デバイスとの互換性を確認するため、モデルを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)
To further improve performance on Intel CPUs, developers can export their models to the OpenVINO format, which optimizes the neural network structure specifically for x86 architecture. For managing datasets and orchestrating these deployments, tools like the Ultralytics Platform simplify the workflow from annotation to edge execution.