CPUとは

シーピーユーCentral Processing Unit別名 中央処理装置、中央演算処理装置

1行定義

CPUとは、プログラムの命令を読み取って順に実行し、コンピュータ全体の動作を制御する、汎用の中央処理装置のことです。

くわしく

CPU(Central Processing Unit)は、中央処理装置とも呼ばれるプロセッサです。

設計の特徴

CPUは、一連の命令を順番に、できるだけ速く実行することを重視して作られています。NVIDIAのCUDAプログラミングガイドによると、CPUが同時に進められる処理の流れ(スレッド)は数十程度です。その代わり、GPUと比べて多くのトランジスタを、データを一時的に置くキャッシュや、処理の流れを制御する回路に割いています。条件によって処理が分かれる複雑なプログラムや、全体の制御に向いています。

GPUは反対に、演算を行う回路に多くのトランジスタを割き、数千のスレッドを同時に進めます。TPUはさらに行列演算に絞った専用のプロセッサです。

ディープラーニングでの役割

ニューラルネットワークの学習の計算の大部分は行列の掛け算で、この部分はGPUやTPUのほうがはるかに速く処理できます。ただし、GPUやTPUだけでプログラム全体が動くわけではありません。データの読み込みや前処理、学習の進行の管理などはCPUが受け持ちます。初代のTPUも、ホストのサーバーから命令を受け取って計算する補助的な装置(コプロセッサ)として設計されました。

CPUだけで足りる場面もあります。Google Cloudの資料は、柔軟さが求められる試作、短時間で学習できる単純なモデル、小規模でバッチサイズの小さいモデルなどを、CPU向きの例に挙げています。

覚え方

「CPUは何でもこなす司令塔、GPUとTPUは行列計算の実働部隊」と覚えます。

G検定での出題

GPU・TPUと並べて、CPUは汎用的で逐次的な処理や全体の制御に向くこと、大量の行列演算の並列処理ではGPUやTPUに及ばないこと、学習でもデータの読み込みや制御をCPUが担う役割分担が問われます。

混同しやすい用語

用語意味
GPU画像の描画のために開発され、多数のコアで大量の単純な計算を同時に処理することを得意とするプロセッサ
TPUGoogleがニューラルネットワークの計算を速く、少ない電力で行うために独自に開発した、行列演算に特化したプロセッサ

◯×チェック

  1. CPUは、GPUと比べて多くのトランジスタをキャッシュや処理の流れを制御する回路に割き、一連の処理を1つずつできるだけ速く実行するように設計されている。

    答えを見る

    答え ◯ 正しい

    同時に進められる処理の流れは数十程度です。GPUは逆に、演算そのものに多くのトランジスタを割き、数千の処理を同時に進めます。

  2. 小さなモデルを短時間で試すような場面では、GPUやTPUを使わず、CPUだけで学習することも選択肢になる。

    答えを見る

    答え ◯ 正しい

    Google Cloudの資料も、柔軟さが求められる試作や、学習に時間のかからない単純なモデル、小規模でバッチサイズの小さいモデルなどをCPU向きの例に挙げています。

  3. 学習済みのニューラルネットワークを使った推論は、GPUかTPUがなければ実行できない。

    答えを見る

    答え × 誤り

    推論はCPUでも実行できます。初代TPUの論文では、応答時間の制約がある推論で、当時のGPUは同時期のCPUよりわずかに速い程度だったと報告されています。

練習問題

CPUの問題(1問)
  1. 学習に使う計算資源の役割分担

AIで作成 人による確認:未 誤りを報告

出典と作成について

作成:ウカトレ編集部(AIで作成し、別のAIが一次資料と照合。手順は編集方針)

公開日: 最終更新日: 最終確認日:

対応シラバス:シラバス第1.4版 技術11

出典

改訂履歴

表示設定

テーマ
文字の大きさ
問題演習