「CPU」と「GPU」の違い AIに最適なのは?

機械学習をはじめとしたAI(人工知能)技術を取り入れる動きが広がっている。AI技術を活用しようとするならば、まずは最適なハードウェアを見つける必要がある。

機械学習のようなAI(人工知能)技術を取り入れるなら、企業はまずハードウェアを評価する必要がある。評価する際のポイントが、プロセッサにCPUとGPU(画像処理プロセッサ)のどちらを選択するのかという点だ。プロセッサの選択は、企業のAI戦略に長期的に影響するので重要な意味を持つ。そしてその選択肢は多岐にわたる。

CPUを選択するケース

 CPUは基本的なコンピューティングの大半を担う。GPUやGoogleが自社開発したチップ「Tensor Processing Unit」(TPU)のようなAI分野で勢力を増すプロセッサが登場する前は、負荷の高い処理を含め、ほとんどの処理をCPUが担っていた。

 AI分野に最適なハードウェア選びで特に重要な要素となるのは、処理速度だ。機械学習モデルのトレーニングに関する処理の場合、CPUはGPUよりも長い時間がかかる可能性がある。CPUはGPUよりもコア数が少なく、GPUと同等の並列処理を担うことが難しいからだ。

 パフォーマンスを高めるために、CPUベンダーや開発者はプロセッサコアを複数にするマルチコアCPUや、処理高速化を支援するハードウェアであるアクセラレーターの階層化といった工夫を施している。特定のアプリケーションを優先して処理さに優先的にリソースを割り当てることで、コンピューティングの処理速度やCPUがメモリからデータを読み込む速度を高めることが可能になる。それでも一般的には、CPUがGPUの処理能力を上回ることはできない。

 「CPU1基の処理能力だけでは、高度な機械学習のタスクをこなすことは難しい。一方でCPUをベースにすることが優れた戦略になる可能性がある」。こう指摘するのはIntelでAI関連のビジネスを率いるガディ・シンガー氏だ。「簡単な機械学習を実行したいのであれば、あるいは機械学習と汎用(はんよう)的なコンピューティング処理をどちらも実行したいのであれば、CPUベースが最適だ」(シンガー氏)。さまざまな目的でプロセッサを機能させるのであれば、ソフトウェアによって特定のタスク用の処理能力を増強できるCPUの方が適しているという。

 ただしアクセラレーターをマルチコアCPUで使用するコンピューティングの仕組みが、AI技術向けの処理に最適とは限らない。企業が多層のニューラルネットワークを用いた高度な深層学習の実行を考えていたり、プロセッサを汎用的なコンピューティング処理ではなく、AI技術に特化した用途で利用したいと考えていたりするのであれば、GPUの方が適しているだろう。

GPUを選択するケース

 多層のニューラルネットワークを用いた深層学習を使用するにもかかわらず、プロセッサにCPUを選択することは、理にかなっているとは言えない。高速処理が可能なGPUに匹敵する処理能力をマルチコアCPUに持たせようとすれば、大量のアクセラレーターが必要になると考えられる。

 AI技術を使ったタスクには、GPUを使うのが一般的だ。GPUはデータを基に画像や映像を生成するレンダリングの処理に最適化されたプロセッサだが、AI技術を使ったタスクを処理できる処理能力も備えている。NVIDIA、Intel、Armなどが主要なGPUベンダーだ。

 「機械学習の標準的な処理であれば、通常はCPUで十分に担える。負荷の高い深層学習で使用するのであれば、GPUやAI技術向けに最適化したプロセッサを検討する必要がある」。こう話すのは深層学習を最適化するツールを提供するRun:AIのCEO(最高経営責任者)、オムリ・ゲラー氏だ。

 深層学習に必要なパラメーターの調整や学習の反復には、大容量の学習データと深層学習モデルのサイズに応じた処理能力が必要になる。このような場合にGPUが効果的だとシンガー氏は指摘する。

CPUとGPUの選定方法

 CPUとGPUはそれぞれ適した役割がある。AI技術の使用に最適なハードウェアを構築するに当たって、それぞれ具体的にどの分野に適しているのかを見極める必要がある。

 重要なのは、AI技術活用の目標を設定し、それを達成するために必要な処理能力を評価することだ。高度な要件がないAI戦略を進めるのであればCPUを選択し、必要に応じてアクセラレーターや最適化のためのソフトウェアを使用する。

 複雑な深層学習を導入する場合、最善の結果を得るためにはGPUが必要になる可能性が高い。独自の深層学習モデルを開発したいのであれば、高速で効率的な処理能力を備えたGPUを採用する価値は十分あるだろう。ただしコストが高くつく可能性がある点に注意する必要がある。企業がAI関連の用途でGPUを使用するケースは、かなり新しいためだ。

 AI技術を活用する際のハードウェアの選択は単純ではない。最適なハードウェアを選ぶには、AI戦略の目標を定め、コンピューティングリソースを最大限に活用し、必要に応じて最適化のためのソフトウェアを活用することが必要だ。

 「プロセッサは通常、深層学習に取り組む特定の開発チームやデータサイエンティスト、エンジニアのために最適化されてはいない。最適とはいえないGPUをそのまま導入すれば、当初の想定よりもコストが大幅に上がる上、トレーニングの時間が長くかかる残念な結果に終わることになるだろう」(ゲラー氏)