Ryzen + 128 GB で DeepSeek-R1 671B 1.58bit(130GB) 味見(0.4 toks/sec)
猫も杓子も DeepSeek-R1
1.58bit 版(130GB)を味見しました.
HW
- Ryzen 3950X
- DDR4 3200MT/s 128GB
- Linux(Ubuntu)
- Gen4 NVMe disk(2 GB/s くらいはでる)
kswapd(メモリスワップ)発生しつつも, 動きました.
仮想メモリ全体では 150 GB くらい使う模様.
llama_perf_sampler_print: sampling time = 23.62 ms / 286 runs ( 0.08 ms per token, 12109.92 tokens per second)
llama_perf_context_print: load time = 139922.68 ms
llama_perf_context_print: prompt eval time = 421935.55 ms / 15 tokens (28129.04 ms per token, 0.04 tokens per second)
llama_perf_context_print: eval time = 719826.03 ms / 277 runs ( 2598.65 ms per token, 0.38 tokens per second)
llama_perf_context_print: total time = 1145131.18 ms / 292 tokens
ただ 0.4 toks/sec くらい. 実用に使うには難しいですね. より高速な NVMe にしたり, NVMe 複数用意して swap 領域を stripe した NVMe 領域にする手もあるでしょうが, よくて 0.6 toks/sec くらいまでの性能向上でしょうか.
M4 Max では実用に使えるくらいの 5 toks/sec くらいでるらしい(メモリ帯域 500GB/s)ので, メモリ帯域の差がそのまま出ている感じですかね(DDR4 は 20~40 GB/s くらい)
DDR5 使ったとしても, たぶんよくて性能向上は二倍(DDR5 は 40~80 GB/s くらい)です.
あと, 最初の参考にした reddit 投稿では 2 x H100 では 14 toks/sec(single user inference ) 出るとあります.
H100 は bandwidth 3.3 TB/s ですから, 2xH100 では 6.6 TB/s.
H100 では bandhwidth ほどの差がでていないのが気になります(30~40 toks/sec くらいでてほしい).
とりあえず 1 人対応(バッチ処理や複数ユーザー同時対応せず, single user とのインタラクション)であれば CPU 系で bandwidth 高いアーキが効率よい感じですかね.
(やはり富岳...!!!)
現時点では M2 Ultra や M4 Max, これからであれば Strix Halo(Ryzen AI Max. 256GB/s), GB10(NVIDIA DIGITS. 500GB/s)あたりに期待でしょうか.
その他
8 x M4 Mac mini 64GB で DeepSeek-R1 671B 4bit が 5 toks/sec
Discussion