Mistral Medium 3.5 128B と Qwen 3.5 122B を 4×RTX 3080 20GB で動かす(A10B想定)

Reddit r/LocalLLaMA / 2026/5/4

💬 オピニオンDeveloper Stack & InfrastructureSignals & Early TrendsModels & Research

要点

  • Mistral Medium 3.5 128B(GGUF/ IQ4_XS)を4枚のRTX 3080 20GBで動かし、レイヤースプリット方式とテンソル並列方式の2通りでllama-benchの性能テスト結果が示された。
  • レイヤースプリットでは fa=1 の条件で pp512 が約330.87 t/s、tg128 が約10.37 t/s、さらに d16384 が約216.76 t/s など、設定により大きな性能差が出ている。
  • テンソル並列(llama.cppの最近のPRを反映)では、分割形態により pp512 が約233.88 t/s、tg128 が約21.59 t/s、d16384条件でも pp512 が約214.34 t/s などの結果となった。
  • 投稿者はTP4で旧来のレイヤースプリット比より tg の速度が約2倍になる見込みで、チャット用途では許容できる一方、Gemma-4-31Bなどとの比較ではモデルがそのサイズに見合うか疑問があると述べている。

Mistral Medium 3.5 128B を 4x3080 20GB、レイヤースプリット付きで使用:

CUDA_VISIBLE_DEVICES=0,1,2,3 ./build/bin/llama-bench --model /data/huggingface/Mistral-Medium-3.5-GGUF/Mistral-Medium-3.5-128B-IQ4_XS-00001-of-00003. gguf -ngl 99 -d 0,16384 -fa 1 --split-mode layer ggml_cuda_init: 4つのCUDAデバイスを検出(総VRAM: 80211 MiB): デバイス0: NVIDIA GeForce RTX 3080、計算能力 8.6、VMM: yes、VRAM: 20052 MiB デバイス1: NVIDIA GeForce RTX 3080、計算能力 8.6、VMM: yes、VRAM: 20052 MiB デバイス2: NVIDIA GeForce RTX 3080、計算能力 8.6、VMM: yes、VRAM: 20052 MiB デバイス3: NVIDIA GeForce RTX 3080、計算能力 8.6、VMM: yes、VRAM: 20052 MiB | model | size | params | backend | threads | fa | test | t/s | | ------------------------------ | ---------: | ---------: | ---------- | ------: | -: | --------------: | -------------------: | | mistral3 ?B IQ4_XS - 4.25 bpw | 62.51 GiB | 125.03 B | CUDA,BLAS | 64 | 1 | pp512 | 330.87 ± 0.99 | | mistral3 ?B IQ4_XS - 4.25 bpw | 62.51 GiB | 125.03 B | CUDA,BLAS | 64 | 1 | tg128 | 10.37 ± 0.00 | | mistral3 ?B IQ4_XS - 4.25 bpw | 62.51 GiB | 125.03 B | CUDA,BLAS | 64 | 1 | pp512 @ d16384 | 216.76 ± 0.26 | | mistral3 ?B IQ4_XS - 4.25 bpw | 62.51 GiB | 125.03 B | CUDA,BLAS | 64 | 1 | tg128 @ d16384 | 9.30 ± 0.00 | build: d05fe1d (275) 

最近のllama.cppのPRによるテンソル並列で

CUDA_VISIBLE_DEVICES=0,1,2,3 ./build/bin/llama-bench --model /data/huggingface/Mistral-Medium-3.5-GGUF/Mistral-Medium-3.5-128B-IQ4_XS-00001-of-00003.gguf -ngl 99 -d 0,16384 -fa 1 --split-mode tensor ggml_cuda_init: 4つのCUDAデバイスを検出(総VRAM: 80211 MiB): デバイス0: NVIDIA GeForce RTX 3080、計算能力 8.6、VMM: yes、VRAM: 20052 MiB デバイス1: NVIDIA GeForce RTX 3080、計算能力 8.6、VMM: yes、VRAM: 20052 MiB デバイス2: NVIDIA GeForce RTX 3080、計算能力 8.6、VMM: yes、VRAM: 20052 MiB デバイス3: NVIDIA GeForce RTX 3080、計算能力 8.6、VMM: yes、VRAM: 20052 MiB | model | size | params | backend | threads | sm | fa | test | t/s | | ------------------------------ | ---------: | ---------: | ---------- | ------: | -----: | -: | --------------: | -------------------: | | mistral3 ?B IQ4_XS - 4.25 bpw | 62.51 GiB | 125.03 B | CUDA,BLAS | 64 | tensor | 1 | pp512 | 233.88 ± 1.01 | | mistral3 ?B IQ4_XS - 4.25 bpw | 62.51 GiB | 125.03 B | CUDA,BLAS | 64 | tensor | 1 | tg128 | 21.59 ± 0.05 | | mistral3 ?B IQ4_XS - 4.25 bpw | 62.51 GiB | 125.03 B | CUDA,BLAS | 64 | tensor | 1 | pp512 @ d16384 | 214.34 ± 4.16 | | mistral3 ?B IQ4_XS - 4.25 bpw | 62.51 GiB | 125.03 B | CUDA,BLAS | 64 | tensor | 1 | tg128 @ d16384 | 20.31 ± 0.17 | build: d05fe1d (275) 

TP4は、従来のレイヤースプリットと比べてtg速度を約2倍にします。チャット用途としては速度は許容範囲だと思いますが、モデル自体はあまり良くなく、Gemma-4-31BやQwen3.6-27Bと比較したときに、そのサイズの正当化につながらない可能性があります。

以下は、同程度のサイズのMoEモデルであるQwen3.5-122B-A10Bとの比較です。この構成では、llama.cppのTPはQwen3.5 MoEの生成速度を改善しないかもしれません。

CUDA_VISIBLE_DEVICES=0,1,2,3 ./build/bin/llama-bench --model /data/huggingface/Qwen3.5-122B-GGUF/Qwen3.5-122B-A10B-UD-IQ4_XS-00001-of-00003.gguf -ngl 99 -d 0,16384 -fa 1 --split-mode layer ggml_cuda_init: 4つのCUDAデバイスを検出(総VRAM: 80211 MiB): デバイス0: NVIDIA GeForce RTX 3080、計算能力 8.6、VMM: yes、VRAM: 20052 MiB デバイス1: NVIDIA GeForce RTX 3080、計算能力 8.6、VMM: yes、VRAM: 20052 MiB デバイス2: NVIDIA GeForce RTX 3080、計算能力 8.6、VMM: yes、VRAM: 20052 MiB デバイス3: NVIDIA GeForce RTX 3080、計算能力 8.6、VMM: yes、VRAM: 20052 MiB | model | size | params | backend | threads | fa | test | t/s | | ------------------------------ | ---------: | ---------: | ---------- | ------: | -: | --------------: | -------------------: | | qwen35moe 122B.A10B IQ4_XS - 4.25 bpw | 56.08 GiB | 122.11 B | CUDA,BLAS | 64 | 1 | pp512 | 1087.44 ± 6.95 | | qwen35moe 122B.A10B IQ4_XS - 4.25 bpw | 56.08 GiB | 122.11 B | CUDA,BLAS | 64 | 1 | tg128 | 60.08 ± 0.80 | | qwen35moe 122B.A10B IQ4_XS - 4.25 bpw | 56.08 GiB | 122.11 B | CUDA,BLAS | 64 | 1 | pp512 @ d16384 | 945.88 ± 6.70 | | qwen35moe 122B.A10B IQ4_XS - 4.25 bpw | 56.08 GiB | 122.11 B | CUDA,BLAS | 64 | 1 | tg128 @ d16384 | 57.78 ± 0.72 | build: d05fe1d (275) CUDA_VISIBLE_DEVICES=0,1,2,3 ./build/bin/llama-bench --model /data/huggingface/Qwen3.5-122B-GGUF/Qwen3.5-122B-A10B-UD-IQ4_XS-00001-of-00003.gguf -ngl 99 -d 0,16384 -fa 1 --split-mode tensor ggml_cuda_init: 4つのCUDAデバイスを検出(総VRAM: 80211 MiB): デバイス0: NVIDIA GeForce RTX 3080、計算能力 8.6、VMM: yes、VRAM: 20052 MiB デバイス1: NVIDIA GeForce RTX 3080、計算能力 8.6、VMM: yes、VRAM: 20052 MiB デバイス2: NVIDIA GeForce RTX 3080、計算能力 8.6、VMM: yes、VRAM: 20052 MiB デバイス3: NVIDIA GeForce RTX 3080、計算能力 8.6、VMM: yes、VRAM: 20052 MiB | model | size | params | backend | threads | sm | fa | test | t/s | | ------------------------------ | ---------: | ---------: | ---------- | ------: | -----: | -: | --------------: | -------------------: | | qwen35moe 122B.A10B IQ4_XS - 4.25 bpw | 56.08 GiB | 122.11 B | CUDA,BLAS | 64 | tensor | 1 | pp512 | 1216.15 ± 16.63 | | qwen35moe 122B.A10B IQ4_XS - 4.25 bpw | 56.08 GiB | 122.11 B | CUDA,BLAS | 64 | tensor | 1 | tg128 | 53.49 ± 0.29 | | qwen35moe 122B.A10B IQ4_XS - 4.25 bpw | 56.08 GiB | 122.11 B | CUDA,BLAS | 64 | tensor | 1 | pp512 @ d16384 | 1110.03 ± 42.33 | | qwen35moe 122B.A10B IQ4_XS - 4.25 bpw | 56.08 GiB | 122.11 B | CUDA,BLAS | 64 | tensor | 1 | tg128 @ d16384 | 56.67 ± 1.39 | build: d05fe1d (275) 

vLLMがここでは勝っています。MTPをオフにしたメモリ効率の良い構成、チューニング済みのcuda graph構成、そして--language-model-onlyを使っているにもかかわらずです。しかし、その構成ではKVキャッシュが約64kしか残りません。4x3090構成なら、このモデルにとってかなり良くなるはずです。

CUDA_VISIBLE_DEVICES=0,1,2,3 vllm serve Qwen3.5-122B-A10B-GPTQ-Int4 -tp 4 --max-model-len 65536 --gpu-memory-utilization 0.97 --max-num-seqs 8 --tool-call-parser qwen3_xml --reasoning-parser qwen3 --enable-auto-tool-choice --enable-prefix-caching --enable-expert-parallel --compilation_config '{"mode": 3,"cudagraph_mode": "FULL_DECODE_ONLY","cudagraph_capture_sizes": [1,2,4,8]}' --language-model-only vllm bench serve --dataset-name random --num-prompts 8 --backend vllm --host 127.0.0.1 --port 8000 --max-concurrency 8 --tokenizer Qwen3.5-4B --model Qwen3.5-122B-A10B-GPTQ-Int4 --random-input-len 2048 --output-len 256 ============ サービングベンチマーク結果 ============ 成功リクエスト: 8 失敗リクエスト: 0 最大リクエスト同時実行数: 8 ベンチマーク実行時間(s): 10.95 入力トークン総数: 16384 生成トークン総数: 2048 リクエストスループット(req/s): 0.73 出力トークンスループット(tok/s): 187.04 最大出力トークンスループット(tok/s): 416.00 最大同時リクエスト数: 8.00 総トークンスループット(tok/s): 1683.40 ---------------最初のトークンまでの時間---------------- 平均TTFT (ms): 3541.17 中央値TTFT (ms): 3572.61 P99 TTFT (ms): 5782.89 -----出力トークンあたりの時間(最初のトークンを除く)------ 平均TPOT (ms): 28.39 中央値TPOT (ms): 28.59 P99 TPOT (ms): 37.35 ---------------トークン間レイテンシ---------------- 平均ITL (ms): 28.39 中央値ITL (ms): 19.86 P99 ITL (ms): 327.19 ================================================== vllm bench serve --dataset-name random --num-prompts 16 --backend vllm --host 127.0.0.1 --port 8000 --max-concurrency 1 --tokenizer Qwen3.5-4B --model Qwen3.5-122B-A10B-GPTQ-Int4 --random-input-len 2048 --output-len 256 ============ サービングベンチマーク結果 ============ 成功リクエスト: 16 失敗リクエスト: 0 最大リクエスト同時実行数: 1 ベンチマーク実行時間(s): 61.08 入力トークン総数: 32768 生成トークン総数: 4096 リクエストスループット(req/s): 0.26 出力トークンスループット(tok/s): 67.06 最大
出力トークンスループット (tok/s): 131.00 最大同時リクエスト数: 2.00 合計トークンスループット (tok/s): 603.58 ---------------最初のトークンまでの時間---------------- 平均TTFT (ms): 732.35 中央TTFT (ms): 651.94 P99 TTFT (ms): 1763.69 -----出力トークンあたりの時間(最初のトークンを除く)------ 平均TPOT (ms): 12.10 中央TPOT (ms): 11.61 P99 TPOT (ms): 13.45 ---------------トークン間レイテンシ---------------- 平均ITL (ms): 12.10 中央ITL (ms): 11.55 P99 ITL (ms): 27.51 ==================================================
によって投稿されました /u/lly0571
[リンク] [コメント]