用語集

CPU

AIと機械学習におけるCPU重要な役割を探る。データ準備、推論、GPU/TPUとの比較におけるCPUの使用方法について学びます。

Ultralytics HUB で
を使ってYOLO モデルをシンプルにトレーニングする。

さらに詳しく

中央演算処理装置CPU)は、単にプロセッサと呼ばれることも多く、命令を実行し、システムの動作に必要な主要計算を行うコンピュータの中核部品である。ソフトウェア命令によって指定された基本的な算術演算、論理演算、制御演算、入出力(I/O)演算を処理する。人工知能(AI)や機械学習(ML)の領域では、GPUや TPUのような特殊なハードウェアがディープラーニングモデルのトレーニングのようなタスクの並列処理に優れている一方で、CPU ワークフロー全体を編成する不可欠で汎用的なコンポーネントであることに変わりはない。

AIと機械学習における役割

CPUは汎用プロセッサとして設計されており、一連の命令を素早く実行し、多様な計算タスクを処理することに優れている。性能に影響する主な特性には、クロック速度(1秒間に何回の演算を行うか)とコア数(タスクの並列実行を可能にする)がある。最近のCPUは IntelAMDなどの最新のCPUは複数のコアを搭載しているが、GPUのような超並列アーキテクチャを備えていないため、ディープラーニングのトレーニングで一般的な大規模行列乗算には適していない。

しかし、CPUはAI/MLパイプラインにおいて、いくつかの重要な機能のために不可欠である:

  • データ準備: データセットのロード、データクリーニング、変換、データ増強などのタスクは、多くの場合CPUで効率的に実行される。Pandasや Scikit-learnの一部のようなライブラリは、CPU 処理に大きく依存しています。コンピュータビジョンプロジェクトのためのデータ準備は、一般的にCPUステップです。
  • ワークフローのオーケストレーション:CPUはMLパイプラインの全体的な実行フローを管理し、異なるハードウェアコンポーネント(GPUなど)やソフトウェアモジュール間のタスクを調整する。
  • 伝統的なMLモデル: サポートベクターマシン(SVM)ランダムフォレストのような多くの古典的なMLアルゴリズムは、しばしばCPU上で学習され、効果的に実行される。
  • 推論:GPUは推論に高いスループットを提供するが、CPUはリアルタイム推論に頻繁に使用される。特にリソースが限られた環境(Edge AI)や、単一の予測に対するレイテンシがバッチスループットよりも優先される場合などである。ONNX Runtimeや Intel OpenVINO ツールキットのようなフレームワークは、CPU上で最適化された推論機能を提供します。Ultralytics モデルは、次のような形式にエクスポートできます。 ONNXCPU ような形式にエクスポートすることができます。
  • 入出力(I/O)操作:CPUは、モデルやデータのロードに不可欠な、ストレージからのデータの読み書きやネットワーク通信を処理する。

CPU GPU 、TPU比較

CPU、GPU、TPUの主な違いは、そのアーキテクチャと意図された目的にある:

  • CPU:シーケンシャルなタスクを低レイテンシで実行するために最適化された汎用プロセッサ。少数の強力なコアを持つ。制御フロー、オペレーティングシステム機能、多様な計算に最適。
  • GPU:元々はグラフィックス用だったが、現在はAIに広く使われている。大きなデータブロック(ディープラーニングにおける行列など)の並列処理に最適化された数千の小さなコアを備えている。例についてはNVIDIA GPUを参照。以下のようなモデルの学習が大幅に高速化される。 Ultralytics YOLO.
  • TPU: Googleカスタムハードウェアで、特にニューラルネットワークで使用されるtensor 計算を高速化するために設計されている。 TensorFlowフレームワーク。特定のMLワークロードで高いスループットと効率性を発揮するように最適化されている。

YOLOv10やYOLO11のような複雑なモデルをトレーニングするためにGPUやTPUに大きく依存しているシステムでも、次のような利点がある。 YOLO11やYOLO11のような複雑なモデルをトレーニングするためにGPUやTPUに大きく依存しているシステムであっても、CPU システム全体を管理し、データを準備し、アクセラレータには適さないワークフローの一部を処理する。適切なハードウェアを選択するには、効率的なモデル展開のためにこれらのトレードオフを理解する必要があります。

CPU使ったAI/MLの実例

  1. 自然言語処理(NLP)の前処理:テキストをより小さな単位(単語やサブワード)に分解するトークン化のようなタスクは、NLPの基本です。Hugging FaceTokenizersのようなライブラリは、データがモデルの推論やトレーニングのためにGPU 渡される前に、CPU 上でこれらの処理を効率的に実行します。
  2. エッジデバイス推論:多くのエッジAIアプリケーションは、Raspberry Piや ARMアーキテクチャベースのデバイスのように、パワーや計算リソースが限られたデバイス上にMLモデルを展開する。このようなシナリオでは、推論はデバイスのCPU直接実行されることが多く、TensorFlow LiteOpenVINOのような最適化されたライブラリを使用して、基本的なオブジェクト検出やキーワードスポッティングのようなタスクで許容可能なパフォーマンスを達成することができる。このようなデプロイメントの管理は、Ultralytics HUBのようなプラットフォームを通じて容易にすることができる。

CPU能力と限界を理解することは、データの取り扱い(データ収集ガイドを参照)から多様なハードウェアプラットフォームへの効率的な展開まで、エンドツーエンドのAIシステムを設計し最適化する上で極めて重要である。

すべて読む