[ローカルLLM] マルチGPU... - Qiita
分析結果
- カテゴリ
- AI
- 重要度
- 66
- トレンドスコア
- 30
- 要約
- [ローカルLLM] マルチGPU環境での推論速度の検証 #ローカルLLM - Qiita 2 いいねしたユーザー一覧へ移動 2 X(Twitter)でシェアする Facebookでシェアする はてなブックマークに追加する more_horiz 記事を削除する close 一度削除した記事は復旧できません。 この記事の編集中の下書きも削除されます。 削除してよろしいですか? キャンセル 削除する delete @ devgamesan [
- キーワード
[ローカルLLM] マルチGPU環境での推論速度の検証 #ローカルLLM - Qiita 2 いいねしたユーザー一覧へ移動 2 X(Twitter)でシェアする Facebookでシェアする はてなブックマークに追加する more_horiz 記事を削除する close 一度削除した記事は復旧できません。 この記事の編集中の下書きも削除されます。 削除してよろしいですか? キャンセル 削除する delete @ devgamesan [ローカルLLM] マルチGPU環境での推論速度の検証 ローカルLLM 2 投稿日 2025年08月14日 はじめに 私のメインマシンは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が付随している。シンプルでとても使いやすい。マルチモーダルにも対応している。 以下、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 comment 0 コメント一覧へ移動 新規登録して、もっと便利にQiitaを使ってみよう あなたにマッチした記事をお届けします 便利な情報をあとで効率的に読み返せます ダークテーマを利用できます ログインすると使える機能について 新規登録 ログイン 2 いいねしたユーザー一覧へ移動 2 more_horiz 記事を削除する close 一度削除した記事は復旧できません。 この記事の編集中の下書きも削除されます。 削除してよろしいですか? キャンセル 削除する delete