2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[ローカルLLM] マルチGPU環境での推論速度の検証

2
Posted at

はじめに

私のメインマシンはRTX 5060 TiとRTX 3060のデュアルGPU構成である。普段はこの2つのGPUを使ってローカルLLMを動作させている。1つのGPUに乗り切らないLLMモデルも、2つのGPUを使うことで動作させることができている。

しばしば、コンシューマー用のPC環境で複数GPUを使うと、GPU間の転送速度がネックになり性能低下が発生するという話を目にするが、実際にどの程度の性能低下が発生しているか確認したことがなかった。このため、シングルGPUとマルチGPUで、推論時にどの程度の速度差が出るかの検証を行った。

同一モデルのGPUの構成での検証の方が、マルチGPUによる性能への影響を正しく確認することができるが、私の環境は異なるモデルのマルチGPU環境である。このため、性能の異なるモデルを混ぜた場合にどうなるかという観点で見ていただければ幸いだ。

測定環境

測定環境(OS, ハードウェア構成)は以下の通り。

項目 (Item) 内容 (Content)
OS Kubuntu 24.04.03
CPU Ryzen 5 7600
メモリ (Memory) DDR5-5600 64GB
マザーボード (Motherboard) MSI MAG B650 TOMAHAWK WIFI
GPU1 ZOTAC GAMING GeForce RTX 5060 Ti 16GB Twin Edge
GPU2 MSI GeForce RTX 3060 VENTUS 2X 12G OC
GPUドライババージョン 575.64.03

nvidia-smiコマンドを実行すると2つのGPUが認識されている。推論前であるが、メインのGPU(5060ti)は画面出力にも使用しているため、1.1GBほどVRAMを消費している。

tadashi@kubuntu:~$ nvidia-smi
Thu Aug 14 13:49:37 2025       
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 575.64.03              Driver Version: 575.64.03      CUDA Version: 12.9     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 5060 Ti     Off |   00000000:01:00.0  On |                  N/A |
|  0%   39C    P3             14W /  180W |    1129MiB /  16311MiB |      1%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
|   1  NVIDIA GeForce RTX 3060        Off |   00000000:06:00.0 Off |                  N/A |
|  0%   37C    P8             13W /  170W |      15MiB /  12288MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

測定に用いるソフトウェア

llama.cppのllama-serverのdockerイメージを使用。

実行例
docker run \
--rm \
--gpus all \
-v ./models:/models \
-p 22015:8000 \
-e CUDA_VISIBLE_DEVICES=0,1 \
ghcr.io/ggml-org/llama.cpp:server-cuda-b6140 \
--model /models/Qwen3-8B-Q8_0.gguf \
--port 8000 \
--host 0.0.0.0 \
--ctx-size 16384 \
--jinja \
--n-gpu-layers 100 \
--flash-attn \
--top-p 0.95 \
--repeat-penalty 1.05 \
--temp 0.6 \
--top-k 20 \
--min-p 0 \
--tensor-split 1,1

なお、最近知ったのだが、llama-serverには以下のようなチャットのUIが付随している。シンプルでとても使いやすい。マルチモーダルにも対応している。

image.png

以下、llama-serverの起動パラメータの細かいところの説明。

コンテナで使用可能なGPUを指定。0がRTX5060ti, 1がRTX3060。
1つのGPUだけで推論したい場合は0または1のみを指定する。

-e CUDA_VISIBLE_DEVICES=0,1

複数GPUでの推論時に、それぞれのGPUに載せるモデルの割合。
今回は、RTX5060ti, RTX3060に均等に載るように1対1を指定した。

--tensor-split 1,1

測定結果

次の2モデルについて、推論を実行し、toknes per secondと測定。

  • Qwen3-8B-Q8_0
  • gpt-oss-20b-Q4_K_M
LLMモデル GPU tokens per second
Qwen3-8B-Q8_0 RTX3060 12GB 38.16
Qwen3-8B-Q8_0 RTX5060ti 16GB 43.47
Qwen3-8B-Q8_0 RTX5060ti 16GB+RTX3060 12GB 39.65

てっきり、もっと極端に遅くなるのかと思っていたがそうでもなかったというのが正直な感想。
デュアルGPUにするとRTX3060単体よりも遅くなるのかな?と思っていたが、RTX5060tiがひっぱってくれたようで、むしろRTX3060単体よりも3%ほど高速になっている。また、RTX5060ti単体から見ても9%程度の速度低下に収まっているため、十分許容範囲と思える。この程度の差だと、実用上、差を感じられることはなさそう。

LLMモデル GPU tokens per second
gpt-oss-20b-Q4_K_M RTX5060ti 16GB 106.51
gpt-oss-20b-Q4_K_M RTX5060ti 16GB+RTX3060 12GB 82.16

いっぽう、gpt-oss-20b-Q4_K_MはRTX5060ti単体時の77%くらいの速度となった。ただ、それでも82.16トークン/秒と非常に高速であり、実用上は問題なさそう。

まとめ

今回はマルチGPU環境での推論速度低下を行った。もっと極端に性能劣化するものだと思っていたが、今回の検証の範囲では、速度低下は十分許容できる程度だった。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?