Ultralytics YOLO27: ウェイトリストに登録する
YOLOのライセンス
Ultralytics用語集に戻る

CPU

CPUは、コンピューターの汎用プロセッサです。AIではデータの読み込みと前処理、アクセラレーターの制御、GPUが使えない環境での推論を担います。

中央処理装置(CPU)は、コンピューターのオペレーティングシステムやプログラムを実行する汎用プロセッサーです。少数の高性能コアで命令を実行し、各コアは1つの命令ストリームを高速に処理できるよう設計されています。大容量キャッシュ、分岐予測、アウトオブオーダー実行により、複雑で分岐の多いコードも高速に処理します。人工知能(AI)システムでは、CPUはデータの読み込みとデコード、データ拡張、GPUなどのアクセラレーターへのデータ供給、モデルの前後処理を担います。たとえば推論前の画像リサイズや、物体検出後の非極大値抑制を行います。また、アクセラレーターがない場合やコストに見合わない場合には、ノートPCやクラウド関数からRaspberry Piまで、CPU自体がモデルを実行します。そのため、CPUの推論レイテンシはエッジAIモデルの重要な設計目標です。

CPUがニューラルネットワークを実行する仕組み#

ニューラルネットワークの処理時間の大半は行列の乗算に費やされます。CPUは3つの方法でこれを高速化します。小型ボードの4個からサーバーチップの100個超まで、複数のコアがバッチや層の異なる部分を並列処理します。各コア内のSIMD(単一命令・複数データ)ユニットは、1つの命令を多数の数値に同時に適用します。IntelとAMDのx86チップではAVX2とAVX-512、スマートフォン、Appleシリコン搭載Mac、Raspberry PiボードなどのArmチップではNEONが使われ、新しいArmサーバーチップでは、より幅広いSVE拡張も利用できます。近年のチップには行列演算ユニットも搭載されています。たとえば、2023年以降のIntel XeonサーバープロセッサーのAdvanced Matrix Extensions(AMX)や、ArmのScalable Matrix Extension(SME)は、1命令でBF16またはINT8の小さなタイルを乗算します。

CPUのスループットはGPUを大きく下回ります。CPUは数千個の演算ユニットではなく、キャッシュや制御ロジックにチップ面積を割き、シングルスレッド性能を高めているためです。また、重みを読み込む通常のシステムメモリの帯域幅は、GPUの一部にとどまります。推論エンジンはこの差を縮めます。ONNX Runtime、IntelのOpenVINO、TencentのNCNNは、層を融合し、検出した命令セットに最適なカーネルを選択します。また、FP32の重みと比べてデータ量が4分の1となるINT8量子化モデルを実行します。CPUへのデプロイでは、通常、ハードウェアに応じてエンジンと精度を選択します。

Ultralyticsは、この種のハードウェア向けにYOLO26を設計しました。Intel Xeon CPU上のCPU ONNX推論では、YOLO26nはYOLO11nより最大43%高速です。また、OpenVINOへのエクスポートにより、CPU推論を最大3倍高速化できます。このコードではYOLO26をCPUで実行した後、OpenVINOにエクスポートし、エクスポート済みモデルを実行します。

from ultralytics import YOLO

# GPUが搭載されていても、最小のYOLO26検出モデルをCPUで実行します
model = YOLO("yolo26n.pt")
results = model.predict("https://ultralytics.com/images/bus.jpg", device="cpu")
print(results[0].speed)  # 前処理、推論、後処理にかかった時間(ミリ秒)

# OpenVINO形式にエクスポートし、同じCPUでエクスポート済みモデルを実行します
path = model.export(format="openvino")
ov_model = YOLO(path)
results = ov_model.predict("https://ultralytics.com/images/bus.jpg", device="cpu")
print(results[0].speed)

各speed辞書は、1枚の画像にかかった時間を前処理、推論、後処理に分けて記録します。そのため、2つの出力を比較すると、コードを実行したマシンでのPyTorchとOpenVINOの推論時間を確認できます。

CPU、GPU、TPU、NPUの比較#

  • CPU: 汎用的な分岐処理向けの少数の高性能コアです。すべてのコンピューターに搭載され、追加ハードウェアなしであらゆるモデルを実行できますが、以下のアクセラレーターよりスループットは低くなります。
  • GPU: 行列演算向けのTensor Coreを備えた多数の単純なコアと、高帯域幅メモリで構成されます。GPUは学習と高スループット推論の標準的なハードウェアです。
  • TPU: 大規模な行列乗算ユニットを中心に設計されたGoogleの特定用途向けチップです。Google Cloudで利用できるほか、Edge TPUとして小型推論モジュールでも提供されています。
  • NPU: スマートフォン、ノートPC、組み込みチップに搭載される低消費電力のニューラルネットワークアクセラレーターです。Intel Core Ultra、AMD Ryzen AI、Qualcomm Snapdragon、Apple Mシリーズのチップは、CPUコア、GPU、NPUを1つのプロセッサーに統合しています。

実際のアプリケーション#

  • 学習データパイプライン: GPUで学習している間、CPUのワーカープロセスはディスクから画像を読み込み、デコード、リサイズ、拡張を行い、バッチを構築します。CPUコアが不足すると、高価なGPUがデータ待ちになります。
  • スマートカメラとエッジデバイス: ドアベル、小売店のセンサー、産業用カメラは、自身のプロセッサーで小型検出モデルを実行します。そのため、映像はデバイス内にとどまり、アラートだけが外部に送信されます。
  • サーバーレス推論とクラウド推論: クラウド関数やトラフィックの少ないエンドポイントは、CPUのみのインスタンスで実行されることがよくあります。こうしたインスタンスは起動が速く、GPUを確保するより低コストです。
  • ローカルの大規模言語モデル: llama.cppなどのプロジェクトは、ノートPCのCPUで量子化GGUFモデルを実行します。生成速度は主に、各トークンの重みをメモリから読み込む速度で決まります。

ソリューションを見る

スポーツにおけるコンピュータービジョン

スポーツにおけるコンピュータービジョン

Ultralytics YOLOが、選手やボールの追跡、パフォーマンス分析、コーチングへの知見、アスリートのリハビリを通じて、スポーツビジョンをどのように支えるかをご紹介します。
詳しく見る
航空画像向けコンピュータービジョン

航空画像向けコンピュータービジョン

Ultralytics YOLOを使用して、ドローンや航空画像をリアルタイムの知見に変換し、農業、水産養殖、自然保護、地理空間分析に活用できます。
詳しく見る
航空宇宙分野のコンピュータービジョン

航空宇宙分野のコンピュータービジョン

Ultralytics YOLOを活用して航空宇宙分野でコンピュータビジョンを導入し、航空機検査、滑走路上のFOD検出、空港の地上業務、複合材の欠陥検出に活用できます。
詳しく見る
セキュリティ分野のコンピュータービジョン

セキュリティ分野のコンピュータービジョン

Ultralytics YOLOモデルであらゆる施設を保護しましょう。ビジョンAIは、周辺監視、脅威検知、ナンバープレート認識、職場の安全管理を支援します。
詳しく見る
ロボティクス分野のコンピュータービジョン

ロボティクス分野のコンピュータービジョン

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律ナビゲーション、認識、物体追跡、リアルタイム制御を支援します。
詳しく見る
物流におけるコンピュータービジョン

物流におけるコンピュータービジョン

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物検査、仕分け、車両追跡、倉庫のリアルタイム安全監視を実現します。
詳しく見る
小売業におけるコンピュータービジョン

小売業におけるコンピュータービジョン

Ultralytics YOLOモデルで小売のあり方を変革しましょう。ビジョンAIにより、在庫追跡、棚の監視、行列管理、より高度な顧客インサイトを実現します。
詳しく見る
医療分野におけるコンピュータービジョン

医療分野におけるコンピュータービジョン

Ultralytics YOLOモデルで医療ソリューションを構築しましょう。医療分野のビジョンAIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳しく見る
製造業におけるコンピュータービジョン

製造業におけるコンピュータービジョン

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPE準拠、組立ラインの自動化を推進します。
詳しく見る
自動車分野におけるコンピュータービジョン

自動車分野におけるコンピュータービジョン

Ultralytics YOLOモデルで自動車分野にコンピュータービジョンを導入しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。
詳しく見る
農業におけるコンピュータービジョン

農業におけるコンピュータービジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入しましょう。作物のモニタリング、家畜の追跡、精密農業を支援し、より高く効率的な収量を実現します。
詳しく見る

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

機械学習の未来に向けた歩みを始めましょう