この動画は、もともとゲーム用グラフィックス処理のために発展したGPUが、なぜ生成AIやLLMの中核インフラになったのかを解説する内容である。CPUとGPUの設計思想の違い、AIモデルの学習・調整・推論において必要となる計算能力やメモリ帯域、そして必ずしも全員が高価なGPUデータセンターを必要とするわけではないという実用的な判断基準が整理されている。

GPUはなぜ生成AIの中核インフラになったのか
もともとはビデオゲーム用のハードウェアとして作られたグラフィックス処理装置、つまりGPUは、どのようにして今日の生成AIで使われる最も一般的で、いたるところに存在するインフラになったのでしょうか。
そして、従来のCPUベースのデータセンターは、なぜすべての場合にAI向けへ転用できるわけではないのでしょうか。
また、AIシステムを構築し、実行するためには、誰もが高価なハードウェアを必要とするのでしょうか。
生成AIの台頭を支えたブレイクスルーは、多くの場合、Transformerモデルアーキテクチャとともに登場した新しいAIアルゴリズムのような、ソフトウェア上の革新によるものだと説明されます。
しかし、ハードウェア上のブレイクスルーも同じくらい重要でした。たとえば新しい種類のチップや、より優れたコンピューターチップの登場によって、研究者たちはモデルを大規模に学習させることが可能になり、今日私たちが知っているような、膨大な知識を持つモデルが実現したのです。
たとえば、ノートPCで何千行ものデータが入ったExcelファイルを開いたら、PCがクラッシュしてしまったことはありませんか。そういう経験があれば、ハードウェアの限界がどれほどつらいものか分かるはずです。
AI、特にLLMを構築する場合にも、ハードウェアの限界はまったく同じように起こります。ただし、その規模は桁違いに大きくなります。
何万台ものノートPCに相当する計算能力をクラッシュさせるほど巨大なデータセットと計算を想像してみてください。そこで登場するのがGPUです。
では、こうした種類のチップが生成AIを可能にするうえで、なぜそれほど重要なのかを分解して見ていきましょう。
コンピューターチップの基本構造
GPUがAIタスクをより高速に処理できる理由を理解するために、まずはこうしたコンピューターチップが根本的にどのように動作しているのかから始めましょう。
GPUやCPUのようなチップには、トランジスタと呼ばれる非常に小さな電気的スイッチが数百億個も入っています。これらのスイッチのうち、異なるグループが異なる機能を担当しています。
その一部は数学的な計算を処理します。これを計算処理と呼びましょう。
また一部は、作業中のデータや、その計算のための命令を保存します。これをキャッシュと呼びます。短期記憶のようなものだと考えると分かりやすいです。
さらに一部は、命令を解読し、計算のどのステップをどの順番で実行するかを計画し、調整します。これを制御と呼びましょう。文字どおり、論理を制御する部分です。
そして一部は、計算のための入力データを保存します。これをメモリと呼びます。こちらは、より長期的な記憶のようなものだと考えることができます。
CPUは汎用性を重視している
CPUは、多種多様なタスクを素早く解くように設計されています。
なぜでしょうか。
それは、CPUが私たちの個人用コンピューターやデータセンターで使われるものであり、そこでWebサービス、データベース、分析など、さまざまな処理を切り替えながらこなすために、汎用的である必要があるからです。
したがって、計算処理について言えば、相対的には低めと位置づけられます。CPUは数学的演算に対する比重が比較的小さく、演算の数もGPUほど多くありません。
キャッシュについては、中程度、つまり中くらいとしましょう。CPUも実行する計算のために短期記憶を必要とします。
一方で、制御については高い位置づけになります。
なぜならCPUは、より多くの命令に従う必要があり、タスクごとに変化する分岐ロジックをより多く処理し、どの操作を先に実行するかというスケジューリングもより多く行わなければならないからです。
メモリについては、相対的に低めとしましょう。CPUは通常、コンピューターの残りの部分からメモリを借りて使うからです。通常、CPU自体が専用メモリを持っているわけではありません。
GPUは大量の似た計算を並列処理する
一方、GPUは、似たような計算を大量に同時処理、つまり並列処理するためのものです。
計算処理について言えば、これは大量の数学的演算を同時に実行することを意味します。
キャッシュについても同様です。GPUもそれらの計算を終わらせるために、ある程度の短期記憶を必要とします。
ただし、制御については少なめです。GPUが行う計算の多くは、同じ計算を巨大な規模で実行するものだからです。CPUほど多様な処理を行うわけではありません。
メモリについては高い位置づけになります。少なくともAIの場合、GPUはモデルの重みを保存する必要があるからです。
覚えているかもしれませんが、モデルの重みは近年、指数関数的に増えてきました。2018年に登場した初期のオープンなLLMの1つであるBERTは、約1億1000万個のパラメータを持っていました。現在では、1兆を超えるパラメータを持つLLMがあります。つまり、それだけ大量のメモリが必要になるのです。
しかも、単にメモリが増えればよいだけではありません。そのメモリへより高速にアクセスできることも必要です。これはメモリ帯域幅とも呼ばれます。
結局のところ、これこそがGPUがAIやLLMに向いている理由です。
GPUは、高度に並列化された大量の数学的演算を実行するのが得意です。つまり、同じような演算を大規模に実行することができ、しかも巨大なモデルの重みをメモリ、つまりVRAM内に保持できるのです。
ゲーム用に作られたGPUの大容量メモリがAIを支えた
GPUがもともと非常に多くのメモリを備えて作られたことには、とても興味深い理由があります。
それは、GPUがグラフィックスをより高速に描画するために作られたからです。主な用途はビデオゲームでした。
グラフィックスでは、大容量メモリはテクスチャ、ライティング、シェーディング、物理演算などの値に関するデータを保持するために使われていました。
そして現在では、その同じ大容量メモリを、巨大なモデルパラメータを保持するために転用しているのです。
つまり、ビデオゲームがなければ、私たちが知っているようなLLMは存在しなかったかもしれません。
AIシステムには必ずGPUやAIデータセンターが必要なのか
次の問いは、AIシステムを構築するために、常にGPUやAIデータセンター全体が必要なのか、ということです。
これは実際には、何をしているのか、そして使用するモデルの大きさによります。
LLMを学習させる場合、モデルのサイズに関係なく、通常はGPUが必要になります。なぜなら、学習のワークロードは、単純な推論ワークロードよりも負荷が高いからです。
モデルをチューニングする場合、大規模モデルでは通常GPUが必要です。
小規模モデルでも、通常はGPUが必要です。ただし、例外はあるかもしれません。特に小さなモデルで、圧縮されたモデルに対してパラメータ効率の高いチューニング手法を使っている場合には、CPUを使える可能性があります。
最後に、モデルを実行する場合について考えてみましょう。
個人利用のアプリケーションで動かしているのかどうかを考慮してください。つまり、利用量がそれほど多くないものです。そのような場合、単一のモデルを使い、推論呼び出しも1回、あるいは非常に少ない回数であれば、CPUで十分なことは確かにあります。
個人用アプリケーションであっても、より大きなモデル、たとえば100億パラメータを超えるようなモデルを使う場合には、期待する速度を得るためにGPUが欲しくなる可能性が高いです。
より多くのユーザーや、より大きなタスクを支えることを意図した顧客向けアプリであれば、大規模モデルを使っている場合、通常はGPUが必要です。
そして、たとえ小規模モデルを使っている場合でも、通常はGPUが必要になります。そうでなければ、遅延が大きくなってしまうからです。
生成AIを可能にしたのはアルゴリズムだけではない
忘れてはならない重要な点は、生成AIを可能にしたのはアルゴリズムだけではなく、AIハードウェアでもあるということです。
ただし、AIアプリケーションを構築するからといって、自動的にGPUで埋め尽くされたデータセンター全体を使わなければならないという意味ではありません。場合によっては、GPUすらまったく必要ないこともあります。
したがって、こうしたチップが生成AIにとって重要な技術であることは間違いありませんが、それを理由に、現在利用できるハードウェアから小さく始めることをためらう必要はありません。


コメント