基本的にはNVIDIA製のGPUが必要(※Linux環境下ではAMD,Intel製GPUも行けるみたい?)
必要なマシンスペックは動かすモデル(のサイズや量子化タイプなど)と求める応答速度(トークン生成速度)による。
LLMには7B,13B,70B...など◯B、という表記がある。これはモデルのパラメータ数の事で7Bなら70億パラメータという意味になる。
基本的にはこのパラメータ数が多い方が賢いと言えるがパラメータ数が多いほど要求されるVRAM(GPUメモリ)も必要になってくる。(基本的にはLLMはGPU/VRAM上で動作させるので)
ざっくり言えば◯Bの◯を二倍にした値が必要なVRAM容量らしい。(7BならVRAM/14GB)
ただ、量子化という精度(賢さ)を犠牲にして高速化する手法があり、ローカル環境ではこの(事前)量子化されたモデルを動かすことが多い。
(生の16ビットモデルを)8ビットに量子化したモデルなら◯B=◯GB VRAM(7Bなら7GBのVRAM)、4ビットに量子化したモデルなら◯B=(◯の1/2)GB VRAM(7Bなら3.5GBのVRAM)が必要
※ちなみに、画像生成AIと違ってローカルLLMは複数のGPUを組み合わせて動作させれるのでマイニング用ライザーカードと複数のRTX3060/12GBで動かす方
変態も居られるとか
こっわ
量子化されていないモデルをロードする時に8ビットor4ビットで読み込む方法と事前にモデルを量子化(変換)する方法がある。(後者は事前量子化と言われる)
事前量子化の種類によって要求されるスペックが異なる。
CPUやメインメモリで動く量子化タイプ
GPUなしでも動作するし、一部をGPUへオフロードする事もできる。(あとmacでも動くらしい)
できるだけ多コアCPUで積めるだけのメインメモリがある方が良い。
動かかすモデルのサイズ(◯B)にもよるが、最低6コア/12スレッド以上のCPU、32GB以上のメインメモリは欲しい。(できれば8コア/16スレッド、64GB以上)
現在市販されているCPUなら4コア/8スレッド程度でも実用上は変わらないようだ。
メインメモリの帯域(転送速度)がボトルネックになるので下手に高性能なCPUやメインメモリにコストを掛けるよりそのお金でGPUを良いものにした方が速度は出ると思う。
Ryzen 5700X(8コア/16スレッド)メインメモリ88GB/DDR4-2666(うち60GBを割り当て)+ RTX3060/12GBへオフロードして70B(q4_K_M)モデルが動いた(チャットとしては返答速度が遅いが我慢すれば使えるレベル)
GGUF形式の70Bモデルを動かすならGPUへのオフロードなしの場合メインメモリは64GBほどは欲しい。(RTX3060/12GBへオフロードできるんなら32GBでも行けるかも)
GPU専用
RTX3060/12GBで13B@4bit量子化モデルが動いた。(チャットとして実用的なレベル)
GPU専用 GPTQより新しい量子化の手法
RTX3060/12GBで13B@4bit量子化モデルが動いた。(チャットとして実用的なレベル)
現在市販されているミドルクラス以上のPCスペックならGGUFで70Bモデルは動くと思う。(低速かも)
GPTQまたはAWQの場合はGPUがRTX3060/12GBでは13B@4bitモデルが限度かと
言語モデルのファイルサイズ×1.2倍が必要なVRAMのおおよそのサイズ(?)