GLM-5.3 Flash Q4を2018年製PCで動かす(6 tok/s -> 7.4 tok/s)
発表時期からすると冤罪なのだがサイバー攻撃が流行っているため、攻撃力が高いGLM-5.3が話題になっている。手持ちのPCで動かないかと思って入れてみたら動いた。
PCはSYS-7048GR-TRで2017年に発売されたもの。今なら20万円で入手できる。DDR4メモリを最大1024GB積める。私のは256GB積んでいる。GPUはGV100x2で2018年に発売されたもの。今なら1枚20万円で入手できる。私のは2枚をNVlinkでつないで64GBのGPUメモリにしている。
拾ってきたのはGLM-5.3-Flash UD-Q4_K_XL (199.7 GB, 320B-A18B, MIT)。インストールはClaude Codeに頼んだ。生成処理は6 tok/sしか出ない。が、ローカルLLMとは思えないくらい高品質な出力でびっくりした。これが手元で動くのはすごい。最大コンテクスト長は1Mだ。実際1Mに設定して動いた。が、1Mもトークンを流し込むような使い方はめったにしない。そこで、最大コンテクスト長を0.1Mに減らした。この方が処理性能が上がる。
[10/25追記]
GV100をもう1枚拾ってきた。SYS-7048GR-TRはフルサイズのGPUカードを4枚させるので問題なく増設できた。電源容量は4000Wなので何を刺しても問題ない。GPUメモリが96GBになった。しかしあまり性能は上がらず、生成処理が 6 tok/s から 7.4 tok/s に増えただけだった。GLMみたいなMixture of Experts (MoE) モデルはGPUメモリ上にExpert(専門家)層を載せるが、推論時に動くのは一部の専門家だけだ。そのためGPUはほとんど動かない。GV100は最大消費電力250WのGPUなのだが、推論中でも消費電力が60Wを超えることはない。温度も50℃までしか上がらない。これならもう1枚GV100を拾ってきて刺してもいいと思う。
GLMを動かすのにNVlinkは役立たない。NVlinkの接続アダプターをGV100に刺すと、接続部インターフェース回路が起きてしまい、その回路だけで16W消費する。NVlinkの高速通信を使ってもいないのに2枚で32Wを浪費してしまう。もったいないのでNVlinkはオフにした。物理的に接続アダプターを引き抜いてもオフにできるが、ソフトウェアでもオフにできる。後でオンにすることを考えるとソフトウェアでオフにした方が便利だ。
GV100が4枚刺さって2基のXEONと共にフル稼働しても1600Wしか使わない。4000Wの電源容量は過剰性能に思ったがそうでもない。2000Wの電源が2基積まれているだけだ。リダンダント(冗長)電源を構成している。電源ユニットが1台故障しても動作を続けられる。電源ユニットはワンタッチで引き抜ける。ホットスワップ可能なのでPCを止めないでさくっと交換できるのだ。