LLMに必要なスペックや動作環境とは
LLM(Large Language Model:大規模言語モデル)を利用するために必要なスペックは、使用するモデルの規模や用途によって大きく異なります。
たとえば、ChatGPTのようなクラウド型LLMをWebブラウザから利用するだけであれば、高性能なGPUや大量のメモリは基本的に必要ありません。
一方、自分のPC上でLLMを動かすローカルLLMでは、GPUのVRAM容量やシステムメモリ、ストレージ容量などが重要になります。
さらに、LLMをファインチューニングしたり、ゼロから事前学習したりする場合には、推論だけを行う場合よりも大幅に高い計算性能が必要です。
そのため、LLMの動作環境を考える際は、まず「何をするためにLLMを使うのか」を明確にすることが重要です。
LLMの用途によって必要スペックは大きく変わる
LLMの利用方法は、大きく分けると「APIやクラウドサービスを利用する」「ローカルで推論する」「追加学習する」「ゼロから学習する」の4種類があります。
それぞれ必要なハードウェアは大きく異なります。
APIやクラウド型LLMを利用する場合
ChatGPTなどのクラウド型サービスや、LLMのAPIを利用する場合、モデル本体はサービス提供者側のサーバーで動作します。
そのため、利用者側のPCに高性能なGPUを搭載する必要は基本的にありません。
一般的なノートPCやデスクトップPCで、Webブラウザや開発環境が問題なく動作すれば十分です。
APIを利用してWebサービスを開発する場合も、LLMの推論処理自体を外部APIに任せるのであれば、Webサーバーに大型GPUを搭載する必要はありません。
ローカルでLLMを推論する場合
PC上にモデルを保存し、自分の環境で文章生成や要約、質問応答などを行う場合は、CPU・GPU・メモリなどの性能が重要になります。
特にGPUを利用する場合は、GPUそのものの演算性能以上に、搭載されているVRAM容量が重要になるケースがあります。
モデルがVRAMに収まらない場合は、モデルの一部をCPU側へ配置する方法もありますが、一般的にはすべてをGPU上に配置できる場合より処理速度が低下しやすくなります。
LLMを追加学習する場合
既存のLLMを特定の用途向けに調整するファインチューニングでは、推論よりも多くのメモリや計算能力が必要です。
ただし、LoRAやQLoRAといった手法を利用すると、モデル全体を学習する場合より必要なGPUメモリを大幅に抑えられます。
そのため、比較的小規模な追加学習であれば、個人向けGPUでも実行できる場合があります。
LLMをゼロから学習する場合
LLMそのものをゼロから作る事前学習では、必要な計算資源が桁違いに増加します。
多数の高性能GPU、高速なGPU間通信、大容量メモリ、高速ストレージ、大規模な学習データなどが必要です。
したがって、「既存のLLMを使うためのPC」と「基盤モデルそのものを開発するための環境」は、分けて考える必要があります。
LLMではGPUとVRAMが重要
ローカルLLMを高速に動作させたい場合、GPUは特に重要なパーツです。
LLMでは大量の行列演算が行われるため、並列計算を得意とするGPUを利用することで、CPUだけの場合より高速に推論できるケースが多くあります。
GPUはLLMの計算を高速化する
LLMでは、入力されたトークンを処理しながら大量の演算を繰り返して文章を生成します。
この処理はGPUとの相性がよく、特に大規模なモデルほどGPUの効果が大きくなります。
LLM開発ではNVIDIA GPUが広く利用されています。
CUDAに対応したソフトウェアやライブラリが多く、PyTorchや各種推論エンジンとの互換性を確保しやすいことが理由の一つです。
ただし、現在はAMD GPU、Apple Silicon、Intel GPUなどを利用できる環境も増えており、NVIDIA GPUだけが唯一の選択肢というわけではありません。
VRAM容量が扱えるモデルサイズを左右する
GPUでLLMを動かす場合、非常に重要なのがVRAMです。
モデルの重みをGPU上に保持する必要があるため、モデルのパラメータ数が増えるほど多くのVRAMが必要になります。
モデル重みだけを単純計算する場合、必要容量は次の式で概算できます。
「パラメータ数 × 1パラメータあたりのデータ量」
たとえばFP16やBF16では、1パラメータあたりおおむね2バイトです。
7B、つまり約70億パラメータのモデルであれば、モデル重みだけで単純計算すると約14GBになります。
ただし、実際の推論ではモデル重み以外にもメモリが必要です。
そのため、計算上14GBだからといって、14GBのVRAMがあれば必ず動作するわけではありません。
LLMではモデル重み以外にもメモリが必要
実際にLLMを動かす際は、モデルファイルそのもの以外にもさまざまなメモリ領域が使われます。
KVキャッシュにもVRAMが使われる
代表的なものがKVキャッシュです。
KVキャッシュは、LLMが過去のトークンに関する情報を保持し、同じ計算を繰り返さずに済むようにする仕組みです。
コンテキスト長が長くなるほど、一般的にKVキャッシュに必要なメモリも増加します。
そのため、同じモデルでも4,000トークン程度を扱う場合と、数万〜十数万トークンを扱う場合では必要なVRAMが異なることがあります。
バッチサイズや同時利用数でも変化する
LLMを1人だけで使う場合と、多数のユーザーから同時にリクエストを受ける場合でも、必要なメモリ量は変わります。
同時に処理するリクエストが増えると、KVキャッシュや一時領域などに必要なメモリも増えます。
そのため、LLMをWebサービスとして公開する場合は、「モデルがGPUに収まるか」だけでなく、同時実行数やスループットも考慮する必要があります。
量子化すると必要なメモリを削減できる
LLMをローカルで利用するときに重要な技術の一つが量子化です。
量子化を利用すると、モデルをより少ないビット数で表現できるため、必要なVRAMやRAMを削減できます。
量子化とは
通常のLLMではFP16やBF16などの形式でパラメータを保存することがあります。
これに対して、8bitや4bitなどの低いビット数でモデルを表現するのが量子化です。
理論的には、FP16から8bitにすると重みのデータ量は約半分、4bitにすると約4分の1になります。
ただし、実際の量子化モデルにはスケール情報やメタデータなどが追加される場合があります。
そのため、4bitモデルだからといって、ファイルサイズやメモリ使用量が必ずFP16のちょうど4分の1になるわけではありません。
量子化方式によって必要容量は異なる
量子化にはさまざまな方式があります。
たとえばGGUF系の量子化、GPTQ、AWQ、bitsandbytesを利用した4bit・8bit量子化などがあります。
同じ4bitと呼ばれる方式でも、実際のファイルサイズや精度、速度、必要メモリは同じではありません。
したがって、「4bitなら○GBで必ず動く」という考え方ではなく、使用するモデルと量子化方式ごとに確認することが重要です。
モデルサイズ別に必要なVRAMの目安
モデルサイズとVRAMの関係は、次のような目安で考えることができます。
| モデル規模 | FP16・BF16の重み | 8bitの目安 | 4bitの目安 |
|---|---|---|---|
| 1B | 約2GB | 約1GB前後 | 約0.5〜1GB |
| 3B | 約6GB | 約3GB前後 | 約2GB前後 |
| 7B | 約14GB | 約7GB前後 | 約4〜6GB |
| 8B | 約16GB | 約8GB前後 | 約5〜6GB |
| 14B | 約28GB | 約14GB前後 | 約8〜10GB |
| 32B | 約64GB | 約32GB前後 | 約18〜24GB |
| 70B | 約140GB | 約70GB前後 | 約40〜50GB |
この表は、あくまでモデル重みを中心とした概算です。
実際には、KVキャッシュ、推論エンジン、コンテキスト長、バッチサイズ、量子化方式などによって必要容量が変化します。
特にVRAM容量ぎりぎりまでモデルを読み込むと、推論中にメモリ不足が発生することがあります。
そのため、実際の構成ではある程度余裕を持たせることが重要です。
GPUはVRAM容量だけで選ばない
LLM用GPUを選ぶ際は、VRAM容量だけを確認すればよいわけではありません。
推論速度には、GPUのさまざまな性能が影響します。
メモリ帯域幅も重要
LLM推論では、大量のモデルパラメータを繰り返し読み出します。
そのため、GPUのメモリ帯域幅が性能に大きく影響する場合があります。
VRAM容量が同じGPUでも、メモリ帯域幅や演算性能が異なれば、生成速度にも差が出る可能性があります。
対応する演算形式も確認する
GPUによって、FP16、BF16、FP8、INT8などへの対応状況が異なります。
利用する推論エンジンやモデルによっては、特定のデータ形式への対応が性能に影響することもあります。
LLM用途では、単純なゲーム性能だけでなく、VRAM容量、メモリ帯域幅、ソフトウェア互換性などを含めてGPUを選ぶことが重要です。
CPUだけでもLLMは動かせる
LLMを動かすためにGPUが必須というわけではありません。
推論であれば、CPUだけでもLLMを動作させることは可能です。
小型・量子化モデルならCPU推論も可能
比較的小型のモデルや4bitなどに量子化されたモデルであれば、CPUのみでも利用できる場合があります。
特に文章要約、簡単な質問応答、分類、ローカルチャットなどでは、用途によってはCPU推論でも実用的です。
ただし、「動作すること」と「快適に利用できること」は別です。
モデルが大きくなるほど生成速度が低下しやすくなります。
CPU推論ではメモリ帯域幅も重要
CPU推論では、CPUのコア数やクロックだけでなく、RAMのメモリ帯域幅も性能に影響します。
LLMはモデルパラメータを大量に読み込むため、メモリ帯域幅がボトルネックになることがあります。
そのため、単純に高クロックのCPUを選べば必ず高速になるわけではありません。
CPUとGPUを組み合わせて動かすこともできる
VRAMにモデル全体が収まらない場合は、モデルの一部をCPU側に配置する方法があります。
この方法は一般にCPUオフロードなどと呼ばれます。
CPUオフロードで大きなモデルを扱える
たとえば、GPUのVRAMが24GBしかない場合でも、一部をシステムRAMに置くことで24GBを超えるモデルを動作させられることがあります。
これにより、GPU単体では扱えない大規模モデルでも実行できる可能性があります。
オフロードすると速度が低下しやすい
ただし、CPUとGPUの間ではデータ転送が発生します。
GPUだけで処理を完結できる場合に比べると、一般的には推論速度が低下しやすくなります。
そのため、CPUオフロードは「動かせるモデルを増やすための方法」と考えるのが適切です。
LLMに必要なシステムメモリの目安
GPUとは別に、PC本体のRAMも重要です。
CPU推論を行う場合は特にRAM容量が重要になります。
また、GPU推論でもモデルの読み込みやCPUオフロードなどでシステムメモリが使用されます。
RAM容量の目安
一般的な目安としては、次のように考えられます。
| 用途 | RAMの推奨目安 |
|---|---|
| 小型LLM・軽い検証 | 16GB程度 |
| 7B〜14B級 | 32GB程度 |
| 20B〜40B級 | 64GB程度 |
| 70B級 | 64〜128GB以上 |
| 本格的な学習・サーバー用途 | 128GB以上の場合もある |
ただし、この表も絶対的な条件ではありません。
モデルの大部分をGPUに載せる場合は、それほど大量のシステムRAMを必要としない場合もあります。
逆にCPU推論や大規模なオフロードを行う場合は、多くのRAMが必要になります。
個人利用なら32GB以上が扱いやすい
小型の量子化モデルだけであれば16GB RAMでも利用できる場合があります。
しかし、ブラウザ、開発環境、Docker、Pythonなどを同時に使うことを考えると、ローカルLLM用PCでは32GB以上あると余裕があります。
より大型のモデルを試したい場合は、64GB以上を検討するとよいでしょう。
ストレージ容量も重要
ローカルLLMを利用する場合は、モデルファイルをPCに保存する必要があります。
そのため、ストレージ容量も重要な要素になります。
モデルは数GBから数十GBになる
量子化されたモデルでも、モデルサイズによってファイル容量は大きく変わります。
7B〜8B程度なら数GB、30B級では20GB前後、70B級では数十GBになることがあります。
複数のモデルや量子化方式を試していると、ストレージ使用量は急速に増加します。
そのため、ローカルLLMを本格的に利用するのであれば、1TB以上のSSDが扱いやすいでしょう。
多くのモデルを保存する場合は、2TB以上あるとさらに余裕があります。
HDDよりSSDが向いている
LLMモデルは非常に大きいため、モデルを読み込む際には大量のデータ転送が発生します。
HDDでも保存はできますが、SSDのほうがモデル読み込み時間を短縮しやすくなります。
特にNVMe SSDは高速なため、大容量モデルを頻繁に切り替える場合に便利です。
ただし、モデルをRAMやVRAMに読み込んだ後の生成速度は、ストレージよりGPUやメモリ性能の影響を強く受ける場合が一般的です。
Windows・Linux・macOSのどれがLLMに向いているか
LLMは主要なOSで利用できますが、用途によって向き不向きがあります。
Windowsは初心者でも始めやすい
Windowsでは、OllamaやLM Studioなどを利用して比較的簡単にローカルLLMを試せます。
GUI中心のアプリケーションも充実しており、プログラミングに詳しくない人でも始めやすい環境です。
NVIDIA GPUを搭載した一般的なWindows PCであれば、さまざまなLLMを試すことができます。
Linuxは開発・サーバー用途に向いている
Linuxは、LLMの研究開発やサーバー運用で広く利用されています。
PyTorch、CUDA、Docker、各種推論サーバー、分散学習環境などを組み合わせやすいことが特徴です。
本格的なLLM開発やWebサービスとして運用する場合は、UbuntuなどのLinux環境が選ばれることが多くあります。
macOSはApple Siliconとの相性がよい
Apple Silicon搭載Macでは、CPUとGPUがユニファイドメモリを共有します。
そのため、大容量ユニファイドメモリを搭載したMacでは、比較的大きな量子化モデルを扱える場合があります。
ただし、ユニファイドメモリのすべてをLLM専用に使えるわけではありません。
OSや他のアプリケーションも同じメモリを利用するため、ある程度の余裕が必要です。
NVIDIA以外のGPUでもLLMは動かせる
LLMではNVIDIA GPUが広く使われていますが、ほかのGPUを利用することもできます。
AMD GPU
AMD GPUでは、ROCmやHIPに対応した環境を利用できます。
ただし、モデルやソフトウェアによって対応状況が異なるため、事前確認が必要です。
Apple Silicon
Apple SiliconではMetalを利用したGPUアクセラレーションが利用できます。
MacでローカルLLMを利用する場合、有力な選択肢の一つです。
Intel GPU
Intel GPUについても、SYCLやIntel XPU対応のライブラリなどを利用できるケースがあります。
ただし、NVIDIA CUDAと比べると利用できるソフトウェアや機能が異なる場合があります。
そのため、LLM用途ではハードウェアそのものだけでなく、利用予定のソフトウェアが対応しているかも確認することが重要です。
LLMを動かす代表的なソフトウェア
ローカルLLMを利用するには、モデルを読み込んで推論するためのソフトウェアが必要です。
Ollama
Ollamaは、ローカルLLMを比較的簡単に導入・実行できるソフトウェアです。
コマンド操作がシンプルで、ローカルLLMを初めて試す場合にも向いています。
LM Studio
LM StudioはGUI中心でローカルLLMを利用できるアプリケーションです。
モデルの検索やダウンロード、チャット形式での推論などを行いやすいことが特徴です。
llama.cpp
llama.cppは軽量なLLM推論環境として広く利用されています。
CPU、NVIDIA GPU、AMD GPU、Apple Siliconなど幅広いハードウェアに対応しています。
GGUF形式のモデルやさまざまな量子化モデルを利用できるため、ローカルLLMでは特に重要な選択肢の一つです。
Hugging Face Transformers
Transformersは、PythonからLLMを扱うための代表的なライブラリです。
モデルの読み込み、推論、学習、量子化などを柔軟に行えます。
研究や開発用途で利用されることが多い環境です。
vLLM
vLLMは、LLMを高速に配信するための推論エンジンとして利用されています。
個人でチャットする用途よりも、LLMをAPIとして提供し、多数のリクエストを処理する用途に向いています。
ローカルLLM用PCのスペック目安
ローカルLLM用PCは、使用するモデルサイズから逆算して構成を決めることが重要です。
入門向け構成
小型モデルや7B〜8B級の4bit量子化モデルを試す程度であれば、次のような構成から始められます。
CPUは比較的新しいCore i5やRyzen 5クラス以上、RAMは16〜32GB程度、GPUはVRAM 8GB程度、SSDは500GB〜1TB程度が一つの目安です。
GPUがなくてもCPU推論はできますが、生成速度を重視するならGPUがあるほうが有利です。
バランス型の構成
7B〜14B級のモデルを比較的快適に使いたい場合は、CPUはCore i7やRyzen 7クラス、RAMは32〜64GB、GPUはVRAM 12〜16GB以上、SSDは1〜2TB程度が扱いやすい構成です。
文章生成、要約、RAG、プログラミング支援など、幅広い用途に利用できます。
大型モデル向け構成
20B〜30B級の量子化モデルをGPU中心で利用したい場合は、VRAM 24GB以上が一つの目安になります。
ただし、30Bを超えるモデルでは、コンテキスト長や量子化方式によって24GBに収まらないことがあります。
CPUオフロードを利用すればさらに大きなモデルを動かせる場合もありますが、速度が低下する可能性があります。
70B級モデルではさらに大容量のメモリが必要
70B級モデルを4bit量子化すると、モデル重みだけでも40GB前後になる場合があります。
そのため、GPU上にモデルの大部分を載せたいのであれば48GB以上のVRAMが一つの目安になります。
ただし、長いコンテキストや大きなKVキャッシュが必要な場合は、48GBでも不足することがあります。
また、複数GPUやCPUオフロード、大容量ユニファイドメモリを利用する方法もあります。
ファインチューニングでは推論より高いスペックが必要
LLMを追加学習する場合、推論より多くのメモリが必要になります。
LoRAなら必要なGPUメモリを抑えられる
LoRAは、モデル全体のパラメータを更新するのではなく、追加した少数のパラメータを中心に学習する手法です。
そのため、フルファインチューニングより必要なGPUメモリを抑えられます。
比較的小規模なモデルであれば、個人向けGPUでもLoRAによる追加学習を試せる場合があります。
QLoRAでは4bit量子化とLoRAを組み合わせる
QLoRAでは、モデル本体を4bit量子化した状態でLoRAを利用します。
これにより、さらに必要なGPUメモリを抑えながら追加学習できる場合があります。
ただし、推論よりも学習のほうがメモリ消費は大きくなりやすいため、モデルサイズだけで必要VRAMを判断しないことが重要です。
フルファインチューニングでは大量のメモリが必要
モデル全体のパラメータを更新するフルファインチューニングでは、モデル重みだけではなく、勾配、オプティマイザー状態、アクティベーションなども保持する必要があります。
そのため、推論時よりはるかに多くのGPUメモリが必要になります。
大規模モデルでは複数GPUや分散学習が必要になるケースもあります。
LLMをゼロから学習する場合は大規模な計算環境が必要
既存モデルを利用するのではなく、LLMをゼロから事前学習する場合は、個人向けPCとはまったく異なる規模の設備が必要です。
多数のGPUと高速通信が必要
大規模な事前学習では、多数の高性能GPUを並列に動作させます。
そのため、GPUそのものの性能だけでなく、GPU間を高速に接続するネットワークやインターコネクトも重要になります。
大容量ストレージやデータ処理基盤も必要
事前学習では非常に大量のテキストデータを扱うため、高速かつ大容量のストレージも必要です。
さらに、学習データの前処理や分散処理、チェックポイント保存などを行うためのシステムも必要になります。
このため、基盤モデルの事前学習は一般的な個人PCで行うローカルLLMとは別物と考えるべきです。
LLM用PCを選ぶときはモデルから逆算する
LLM用PCを選ぶ際は、「高性能なGPUを買えばよい」と考えるのではなく、利用予定のモデルから必要スペックを逆算するのがおすすめです。
まず使いたいモデルサイズを決める
7B〜8B級を使うのか、14B級を使うのか、30B以上を使うのかによって必要なVRAMは大きく変わります。
モデルサイズを決めることで、必要なGPUの候補を絞りやすくなります。
量子化方式も確認する
同じモデルでも、FP16、8bit、4bitなどによって必要容量が大きく変わります。
ローカルLLMでは4bit量子化モデルが利用されることも多いため、どの量子化方式を使う予定なのか確認することが重要です。
コンテキスト長も考慮する
長文を処理したい場合は、モデル本体だけでなくKVキャッシュにも多くのメモリが必要になります。
そのため、長い文書の要約や大量のコード解析を行いたい場合は、モデルがギリギリ収まるGPUではなく、余裕のあるVRAM容量を選ぶほうが安心です。
LLMに必要なスペックのまとめ
LLMに必要なスペックは、モデルのパラメータ数だけで決まるわけではありません。
モデルサイズ、量子化方式、コンテキスト長、バッチサイズ、推論エンジン、同時利用数などによって必要なCPU・GPU・メモリは変化します。
APIやクラウド型LLMを利用するだけであれば、一般的なPCで十分です。
一方、ローカルLLMを利用する場合は、GPUのVRAM容量が重要になります。
個人利用で7B〜14B級の量子化モデルを幅広く試したいのであれば、RAM 32GB以上、VRAM 12〜16GB以上、1TB以上のSSDが一つのバランスのよい目安です。
20B〜30B級まで視野に入れるのであれば24GB以上のVRAMが有力な選択肢になります。
70B級になると、48GB以上のVRAM、複数GPU、CPUオフロード、大容量ユニファイドメモリなどを検討する領域になります。
ただし、これらはあくまで目安であり、「○Bなら必ず○GB必要」という絶対的な基準ではありません。
LLM用のPCやサーバーを選ぶ際は、利用するモデル、量子化方式、コンテキスト長、求める生成速度を確認したうえで必要スペックを決めることが重要です。
以上、LLMに必要なスペックや動作環境についてでした。
最後までお読みいただき、ありがとうございました。
