AIの開発に欠かせない機械学習には、GPUやNPU、TPUなどの処理チップが用いられていますが、それぞれの違いは分かりにくいものです。そんなCPUやGPU、NPU、TPUの違いをGoogleやクラウドストレージサービスを展開するBackblazeがまとめています。

AI 101: GPU vs. TPU vs. NPU

https://www.backblaze.com/blog/ai-101-gpu-vs-tpu-vs-npu/



Cloud TPU の概要  |  Google Cloud

https://cloud.google.com/tpu/docs/intro-to-tpu?hl=ja



◆CPUとは?

CPUは「Central Processing Unit」の略称で、PCでの文書作成やロケットの進路計算、銀行の取引処理など多様な用途に用いられています。CPUでも機械学習を行うことは可能ですが、CPUには「計算の度にメモリにアクセスする」という特徴があり、機械学習に必要な大量の計算を実行する際はメモリ通信速度がボトルネックとなって処理速度が遅くなってしまいます。

◆GPUとは?

GPUは「Graphics Processing Unit」の略称で、GPUやメモリ、入出力機器などをセットにしたグラフィックスボードが市場に広く出回っています。GPUには算術論理演算ユニット(ALU)が数千個搭載されており、「大量の計算を同時に行う」という処理を得意としていることから、CPUと比べて圧倒的に高速な機械学習が可能です。ただし、GPUはゲームやCG処理などにも活用できる汎用(はんよう)チップであるため、機械学習専用に設計されたチップと比べると効率が劣ります。

◆NPUとは?

NPU「Neural Processing Unit」や「Neural network Processing Unit」の略称で、GPUと同じく「大量の計算を同時に行う」という処理に特化しています。加えて、NPUは機械学習に専用設計されたチップであるため、GPUよりも効率的に処理を実行できます。一方でNPUは機械学習専用設計チップであるため、CPUやGPUのように多様な用途に用いることはできません。

近年登場しているスマートフォンにはNPUを搭載しているものも多く、iPhoneシリーズには「Neural Engine」という名称で搭載されている他、スマートフォン向けSoC「Snapdragon」にもNPUを搭載したモデルが存在しています。

Qualcommがスマホ向け最新SoC「Snapdragon 8+ Gen 1」を発表、製造元がSamsungからTSMCに変更 - GIGAZINE



◆TPUとは?

TPUは「Tensor Processing Unit」の略称で、Googleが開発したNPUの一種です。Googleはクラウドコンピューティングサービス「Google Cloud」を介してユーザーにTPUの処理能力を提供しており、ユーザーは自身の手元にハードウェアを用意せずとも機械学習関連の処理を高効率で実行できます。

なお、Googleは自社が提供する「TPU v4」について、NVIDIAの機械学習関連処理特化GPU「A100」よりも1.2〜1.7倍も高速で、電力効率も1.3〜1.9倍優れていると主張しています。

GoogleのAI用プロセッサ「TPU v4」はNVIDIAの「A100」より高速で効率的だとGoogleの研究者が主張 - GIGAZINE