結局のところ、生成AIの育成にGPUは必要なのか?

高性能・高品質なPCが、一般市場に出回るようになって久しい今日この頃ですが、近頃「生成AI(Generative AI)」なるものが世間を大いに賑わしています 。
例えば、どんなに世情に疎い人であっても、「ChatGPT」なるサービス名くらいは聞いたことがあるのではないでしょうか。もし聞いたことがなくても知ってたという前提で話を進めさせて下さい。
「ChatGPT」に代表されるイマドキの「生成AI」は、「プロンプト(生成AIとやり取りする際に利用する、指示や命令文)」をそのまま入力するだけで、画像生成やテキスト生成、各種計算処理をしてくれる優れものです。
そして「生成AI」の頭を良くするための「トレーニング」を行うためには、大量のデータを使った「ニューラルネットワーク」のパラメータを、最適化する必要があります。
その処理が、高度で高速な処理が必要であればあるほど、「CPU(中央演算処理装置。コンピューターの脳みそ)」では、並列処理が必要な「生成AI」の処理についてはあまり向いていないので 、それよりは グラフィック処理をつかさどり、ディスプレイに画面表示をさせる機能を持つ、通常のCPUより並列計算が得意な「GPU(リアルタイム3DCGなどに必要な、定形かつ大量の演算を並列にパイプライン処理するグラフィックスパイプライン性能を重視した、リアルタイム画像処理に特化した演算装置)」という「プロセッサ(一定の手順に基づいてデータを変換・演算・加工する機能を持った装置)」が、必要とされています。高性能なものが沢山あると良きかな。
雑にカンタンにまとめると、「生成AI」をオンラインではなく、PC本体でまるっと稼働させたい場合は、「ビデオカード」の超高っかい高性能なものが必須、という訳ですな。
「OpenAI」のみならず、Googleであれ、Xであれ、Metaであれ、Microsoftであれ、Appleであれ、どこぞの生成AIの開発元は、超高性能なGPUを大量に確保して生成AIの性能アップを企んでおり、さらに今でもどんどん買い込んでいるので、相変わらずPCのビデオカードの市場価格は高止まりで困ったものでビックリたまげた門左衛門です。
そんなご時世ではありますが、実はここ最近、実際の所 「生成AIの育成にGPUって必要なの?」という意見も出てきつつあります。
そこで本記事では、そのあたりを狭く浅くなぞり、知ったかぶりができるだけのお話に終始しておきたいと思います。
目次
生成AIのトレーニングとは?

「生成AI」のトレーニングには、大量のデータを使って「ニューラルネットワーク」の「パラメータ(数学における媒介変数・助変数・補助変数・母数・径数。)を最適化する「プロセス(情報処理においてプログラムの動作中のインスタンス。よーするにパソコンの計算処理。)」して行う「ディープラーニング(対象の全体像から細部までの各々の粒度の概念を、階層構造として関連させて学習する手法)」が必要となります。とどのつまり、ジョアン・オマリ、「生成AI」には「ニューラルネットワーク」の超タイヘンな計算が必要ですよん、ということです。
- ニューラルネットワークとは
生物の学習メカニズムを模倣した機械学習手法。人間の脳の神経網を模した数理モデルを指します。ようするに人間の脳みそのように、複雑な計算を平行して行うスゴい仕組みです。 - ディープラーニングとは
データの入力層と出力層との間に、データの特徴量を抽出、保持する中間層を多層化(ディープ)することで、より複雑な学習を行うというもの 。ちなみに「スピードラーニング」は聞き流す英語学習教材です。
そして、そのプロセスを行うにあたっては、多量なトレーニングデータと多数の「行列演算(テンソル演算)」、及び「バックプロパゲーション(誤差逆伝播法。ディープランニングを行うにあたっての、高速で効率的なアルゴリズムの一つ。詳細については難しすぎて筆者も理解出来ないので割愛。 )」処理などが、より多くのリソースもといソイソースを消費するとされています。ちなみに「テンプル大学ジャパンキャンパス」は、かのショーンK氏が通われていた学校です。
このような大量の計算を効率的に処理するために、CPUほどの複雑な計算はあまり得意ではないものの、なによりも高速な並列計算が超得意な「GPU」が広く使われている、という次第です。
GPUはなぜ生成AIのトレーニングに適しているのか?

そもそも、「GPU」はもともとグラフィック処理向けに開発されたものですが、先述のように、「並列計算」に優れているため、AIのトレーニングに適しています。
並列計算能力の高さ
「GPU」は数千ものコア(演算回路)を有しています。「コア」には、映像処理が得意な「CUDAコア」と行列計算が得意な 「Tensorコア」といった種類がありますが、生成AIに「GPU」を利用する場合、行列計算が得意な 「Tensorコア」が搭載され、かつ如何にパワフルなのかどうなのかが、特に重要です。
専用ハードウェアの搭載
最近のGPU(NVIDIA A100 Tensor コア GPUやNVIDIA H100 Tensor コア GPUなど)は、先述の生成AI向けのTensorコア(混合精度行列積和アクセラレータ)を搭載しており、ディープラーニングの計算を高速化できます。ようするに、生成AIで計算させるのに特化したハードウェアであることが重要です。
ソフトウェアエコシステムの充実
GPUを活用したAIのトレーニングは、「CUDA」や「cuDNN」といった専用のライブラリにより、更にGPUの性能を引き出すことが可能となります。ようするに、「CUDA」や「cuDNN」に対応したGPUを有するハードウェアで生成AIを利用すると、計算結果がすごくイイ感じに成増、もといなります。
高性能なGPUは値段が高い(NVIDIA A100 Tensor コア GPUやNVIDIA H100 Tensor コア GPUは数百万レベル。高っ!)ので、GPUのデメリットとしてはそれにつきます。消費電力や発熱量がシャレにならないでしょうし。 冬も暖房、夏も暖房という訳です。更にイマドキだと、製造や稼働に伴う二酸化炭素排出量も気にしないといけないのかな。
GPUの機能を使わずに生成AIのトレーニングは可能か?

では、「GPUの機能を使わずに生成AIのトレーニングは可能か?」……ということですが、ざっくり言ってしまえば「可能」です。おわり。
……では「ぶっちゃけありえな~い」で話が終わってしまうので、ここの所をもうちょっとだけ補足すると、以下の理由により、必ずしも「GPU」の機能の利用は必須ではありません。
CPUでのトレーニング
「CPU」でもAIのトレーニングは可能です。勿論、「GPU」に比べれば、並列処理能力が低いため、処理速度が遅くなりますが、小規模なモデルや簡単な処理であれば、二つで充分ですよというか、計算時間をかけても良いので有れば動作します。
NPU(Neural network Processing Unit)/TPU(Tensor Processing Unit)の利用
「NPU(機械学習に特化した特定用途向け集積回路)」「TPU(Googleが開発したNPU)」という、AI専用に設計されたプロセッサを搭載していれば、GPU利用時のように、ナイスな計算が可能です。
Zenn/CPU, GPU, TPU の違い
IT Insight/CPU、GPU、NPU、TPUの特徴や違いについて解説
最近は「FPGA(Field Programmable Gate Array)」とかいう、書き換え可能な大規模集積回路やCerebrasのWSE(Wafer Scale Engine)も、深層学習の推論高速化に有用なんだとか。何かもう頭がついていきませんな。
クラウドサービスの利用
GPUを自前で用意するのが難しい場合、AWS(Amazon Web Services)、Google Cloud、Microsoft Azureなどのクラウドサービスを利用する手もあります。
軽量なモデルの活用
近年では、モデルの圧縮技術(角刈り、もとい枝苅り・量子化・蒸留)により、軽量なモデルでも高い精度を実現できるようになっています。こうした手法を活用すれば、GPUなしでも比較的短時間でAIのトレーニングが可能です。
まとめ

実際、現状、最新鋭の生成AIのトレーニングに、GPUは「ほぼ必要」と言っても過言ではありませんが、代替手段は存在します。
モデルの規模が小さい場合や、学習時間に余裕がある場合は、CPUやクラウドサービスを利用する選択肢もあります。ただし、大規模なモデルのトレーニングや高速化を求める場合は、やはりGPUを利用するのが、まだ圧倒的に有利なのが実情です。
また、今後の技術進化により、GPU以外の選択肢(NPU/TPUの利用や軽量モデルの最適化など。もしくはまだ思いも寄らない新技術)がさらにさらさら発展する可能性もあります。したがって、自身の目的や環境に応じて、その時々の情勢に合わせて、コストと性能を比較しながら、より最適なものを選択することが最も重要だと言えることでしょう。
参考文献
Wikipedia/Graphics Processing Unit
Wikipedia/プロセッサ
Wikipedia/ニューラルネットワーク
Wikipedia/ディープラーニング
Wikipedia/パラメータ
Wikipedia/媒介変数
Wikipedia/プロセス
エヌビディアが加速するディープラーニング
News Report AI lands/【第9回】ディープラーニングの基礎とCNNの仕組み(中編)
Think/バックプロパゲーションとは
東京エレクトロンデバイス株式会社/GPUが用いられる理由とは?AI時代の必須技術とその選び方について徹底解説
Zenn/【NVIDIA】GPU駆動の環境をCUDAで作る際に気をつけるべきこと
Wikipedia/テンサー・プロセッシング・ユニット
Zenn/CPU, GPU, TPU の違い
スキルアップAI Journal/FPGAと機械学習
Laboro/ディープラーニングを軽量化する「モデル圧縮」3手法