1. はじめに
ローカルPCでCommand R+を動作させるための方法は主に2つあります。
しかし、安いグラフィックカードを複数枚搭載して、Command R+を動作させることはできないのでしょうか?この疑問を解明するために、調査を行いました。
2. 複数のグラフィックカードで代替できないか?
まず、Copilotに以下の質問をしました。
64GBのGPUメモリを持つグラフィックカードが販売されていないようなのですが、24GBのGPUメモリを持つグラフィックカードを3枚購入すれば、Command R+を動作させることができますか?
Copilotの回答は次の通りでした。
一般的に、複数のグラフィックカードのメモリを合計して使用することはできません。各グラフィックカードは独立して動作し、それぞれのメモリは個別に管理されます。したがって、24GBのGPUメモリを持つグラフィックカードを3枚使用しても、それぞれのカードは24GBのメモリしか利用できません。
Command R+のような大規模なAIモデルは、一つのモデルが一つのGPUで動作するように設計されています。そのため、64GBのGPUメモリを必要とする場合、その全てが一つのGPUに存在する必要があります。
したがって、残念ながら24GBのGPUメモリを持つグラフィックカードを3枚使用してCommand R+を動作させることはできません。64GBのGPUメモリを持つグラフィックカードが必要となります。。
2.1. Copilotの回答の要点
3. Copilotの回答の裏付け
Copilotの回答が正しいのかを確認するために、他の情報源を調査しました。
3.1. 複数のGPUでGPUメモリを共有できないのか?
以下のサイトで確認しました。
『NVLink Bridgeで複数GPUを繋いだら、それらが1GPUとして扱えるようになるんでしょ?』という誤解をされているお客様をしばしばお見受けいたします。こちらの記事では、それが誤解であること、また、SLIやUnified Memoryといった関連する情報についても整理して解説いたします。
GPUのメモリ空間は他デバイスから隔絶されています GPU上には演算するためのプロセッサと、データを一時的に置いておくためのメモリ(VRAM)が搭載されています。GPUのメモリを、CUDAで書かれたプログラムから利用するには、cudaMallocでメモリ領域を確保し、cudaMemcpyを使ってホスト(CPU側)のメモリとデータの送受信を行い、GPU上で演算kernelとする関数(以下、GPU-Kernel)を呼び出し、最後にcudaFreeでメモリ領域を解放する、といった流れになります。
3.2. わかったこと
- GPUのメモリ空間は他デバイスから隔絶されている。(Copilotが言う通り。これは基本的な大前提。)
- GPU-Kernelの中で読み書き可能なメモリ領域はそのGPUのVRAMの中に限られている。
- NVLink Bridge、NVLinkで複数のGPUを繋ぐと、並列計算において、GPU間の中間データの通信が速くなる。しかし、GPU-Kernel(A) が別のGPU(B)のVRAM に読み書きできるようになるわけではない。
4. 物理的な問題
こちらの記事ではまさに、VRAMが24GBのRTX4090を3枚、1台のPC筐体に収める検討をしています。
しかし、冷却システムや電源、物理的なサイズが障害となって、1台のPCには2枚までしか搭載できなかったようです。そこで、複数台のPCを使って並列化することにしたようです。
ここで重要なのは、並列化に対応したLLMを使用している点です。
5. 複数のグラフィックカードでAIワークロードを動かす事例
検索すると、複数のグラフィックカードをPCに搭載して、ローカルでAIワークロードを動かしている事例がたくさんあります。その場合は、並列化可能なAIワークロードを実行しているようです。
なお、Command R+を複数のGPU環境で動かした例は見当たりませんでした。
6. まとめ
Command R+のような大規模なAIモデルは、一つのモデルが一つのGPUで動作するように設計されています。そのため、64GBのGPUメモリを必要とする場合、その全てが一つのGPUに存在する必要があります。
Command R+自体が、並列化に対応していないのであれば、複数のグラフィックカードを用意しても、それをCommand R+が利用してくれる、ということはないと思われます。
世の中には、複数のグラフィックカードをPCに搭載して、ローカルでAIワークロードを動かしている事例がたくさんあります。それらは、並列化可能なAIワークロードを実行しているようです。一方で、Command R+を複数のGPU環境で動かした例は見当たりませんでした。
5. 感想
複数のグラフィックカードを搭載して、Command R+を実行することができないと分かると、システムメモリをGPUメモリとしても使用できるという、Apple Siliconはとても魅力的に見えてきます。
70万円オーバーというのは高いと思いますが、買えない値段ではないです。
しかし、実際に購入したとして、レスポンスはどのくらいなんでしょう?回答に何分も待たされるようだと、使い物になりません。
各社がAI Readyのハードウェアを準備しているようですが、つまりはそういうことなのか、と分かってきました。将来は、ローカルでAIワークロードを動かせるような、GPUメモリを潤沢に使えるPCやスマートフォンが普及するのでしょう。
AppleはAIで後れを取っていると言われていますが、そうではないのかもしれませんね。