用語集

CPU

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

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

さらに詳しく

中央処理装置CPU)は、しばしばプロセッサと呼ばれ、命令を実行するコンピュータの主要コンポーネントとして機能する。CPUは、コンピュータ・プログラムの命令によって指定された基本的な算術演算、論理演算、制御、入出力(I/O)操作のほとんどを実行する。人工知能(AI)や機械学習(ML)の文脈では、GPUや TPUのような特殊なハードウェアが計算集約的なタスクに好まれることが多いが、CPU 依然として基本的なコンポーネントである。

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

CPUは、多種多様なタスクをシーケンシャルかつ高速に処理するように設計された汎用プロセッサーである。主な特徴として、1秒間に実行できる命令数を決定するクロック速度と、複数のタスクを並列実行できるコア数があります。最近のCPUは複数のコアを搭載していますが、GPUほど大規模な並列処理はできません。

AI/MLワークフローにおいて、CPUは以下の点で不可欠である:

  • システム運用:オペレーティングシステムの実行、システムリソースの管理、ワークフロー全体のオーケストレーション。
  • データの前処理: データセットのロード、データのクリーニング、変換、拡張などのタスクは、CPUに適した複雑なロジックやファイル操作を伴うことが多い。のようなモデルのためにデータを準備する多くのステップがあります。 Ultralytics YOLOのようなモデルのためのデータ準備の多くのステップは、CPU 処理に大きく依存しています。コンピュータビジョンプロジェクトのデータ準備の詳細については、こちらをご覧ください。
  • 逐次タスク:特定の制御ロジックや特定のアルゴリズムステップなど、並列化が容易でないMLパイプラインの一部を実行する。
  • 特定のデバイス上での推論:より小さなモデルや、専用のAIアクセラレータを持たないデバイス(エッジAI)での推論の実行。多くのアプリケーションは ONNX OpenVINOような形式でモデルを展開したり、効率的なCPU 推論のためにIntel OpenVINOようなランタイムを使用します。Ultralytics モデルは、CPU デプロイメントに適した様々なフォーマットへのエクスポートをサポートしています。
  • モデルの管理: モデルの展開と提供に関するタスクは、主にCPUで実行されることが多い。

CPU GPU 、TPU比較

主な違いは、アーキテクチャと最適化の目標にある。

  • CPU:多様な、多くの場合シーケンシャルなタスクを低レイテンシーで実行するために最適化されている。数個の強力なコアを持つ。CPUは、さまざまな種類の仕事を次々と、あるいは同時に素早く処理する万能マネージャーだと考えてください。Intel AMDなどの主要CPU メーカーは、コアの性能と効率を絶えず向上させている。
  • GPU:高スループットの超並列計算、特にディープラーニングで一般的な行列演算やベクトル演算に最適化されている。数千もの単純なコアを持つ。大規模モデルのトレーニングや高性能推論に最適。
  • TPU:特にMLワークロードを高速化するために設計されたGoogleカスタムハードウェアTensorFlow.TPUは、特定の種類のニューラルネットワーク計算に対して高い性能と効率を提供する。

YOLOv10のような大規模なディープラーニング・モデルのトレーニングはGPUやTPUの方が圧倒的に高速だが、システム全体やMLライフサイクル内の特定のタスクにはCPUが不可欠だ。CPU 役割を理解することは、データの準備からRaspberry Piのようなリソースに制約のあるエッジデバイスを含む様々なプラットフォームへの展開まで、AIシステム全体の最適化に役立ちます。

CPU使ったAI/MLの実例

  1. 自然言語処理(NLP)の前処理:テキストのトークン化、ステミング/レマタイゼーションの実行、NLPモデル用の語彙リストの構築は、逐次的な性質と複雑な文字列操作やルックアップに依存しているため、CPUタスクであることがよくあります。Hugging Faceトークナイザーのようなツールは、これらのステップでCPU 効率を活用します。
  2. システムログの異常検知:異常なパターンを検出するためにシステムイベントやログのシーケンスを分析するには、多くの場合、ルールベースのシステムや、特別なハードウェアを必要とせずにリアルタイム監視のためにCPU上で効率的に実行できるより単純なMLモデル(SVMや ランダムフォレストなど)が必要です。これはシステムの可観測性にとって極めて重要である。
すべて読む