重要なポイント
- マルチGPU: 大きなモデルを2+ GPUsに分割します。例:70Bモデルを2× RTX 4090に均等に分割 = 合計48 GB VRAM。
- スピードペナルティ: 単一GPUより約5–10%遅い(GPU間通信のオーバーヘッド)。
- 最適用途: 70Bモデル、高並行性サービス(50+同時ユーザー)。
- 自動: モダンツール(vLLM、Ollama、llama.cpp)は複数GPUを自動検出。
- 2026年4月現在、これが本番デプロイメントの標準です。
レイヤースプリッティングとテンソル並列処理は どのように機能するか?
70B Transformerモデルは80レイヤーを持ちます。 レイヤースプリッティングでは、Ollamaは配置できます:
- GPU 1: レイヤー 1–40
- GPU 2: レイヤー 41–80
トークンが生成されると、GPU 1を通り、GPU 2を通り、次のトークンに戻ります。最小限の通信オーバーヘッド。
•💡: プロのヒント: レイヤーは軽量です—重要なのはGPU間通信速度です。GPU1にレイヤー1–40、GPU2にレイヤー41–80は、トークンごとに1回のGPU転送を意味します。NVLinkが重要な理由です。
vLLMでのマルチGPUセットアップ
vLLMは1つのコマンドでテンソル並列処理をサポートしています。 `--tensor-parallel-size`フラグを使用してGPUの数を指定します:
# 2つのGPUs上で70Bモデルを実行
vllm serve meta-llama/Llama-3.1-70B \
--tensor-parallel-size 2 \
--gpu-memory-utilization 0.95 \
--port 8000
# APIは http://localhost:8000/v1 にあります
# 同じAPI、自動マルチGPU処理•⚠️: 警告: 両方のGPUは同じVRAMを持つ必要があります。RTX 4090(24 GB)+ RTX 4080(16 GB)を組み合わせると、vLLMはGPUあたり16 GBに制限されます。最適なパフォーマンスのためにマッチングGPUを使用してください。
OllamaでのマルチGPUセットアップ
Ollamaは複数のGPUを自動検出して自動的に分割します:
1. Ollamaを通常実行: `ollama serve`
2. Ollamaが2+GPUを検出してモデルを自動分割
3. 設定不要—そのままです。
`nvidia-smi`または`rocm-smi`で確認して、両方のGPUがロードされているか見てください。
•🛠️: ベストプラクティス: `nvidia-smi`を実行してGPUメモリ使用率をチェックしてマルチGPUセットアップが機能していることを確認してください。1つのGPUだけがロードされている場合、Ollamaが2番目のGPUを検出しなかった可能性があります。ドライバーバージョンをチェックして必要に応じてアップグレードしてください。
2 GPUsでのパフォーマンス
| セットアップ | モデル | スピード | コスト |
|---|---|---|---|
| 1× RTX 4090 (24GB) | 7B | 150 tok/sec | ¥358,800 |
| 1× RTX 4090 (24GB) | 70B | フィットしない | ¥358,800 |
| 2× RTX 4090 (48GB) | 70B Q4 | 100 tok/sec | ¥717,600 |
| 2× RTX 4090 (48GB) | 70B Q5 | 90 tok/sec | ¥717,600 |
| 1× RTX 5090 (32GB) | 70B Q4 | 40–50 tok/sec | ¥399,800 |
| 2× RTX 5090 (64GB) | 70B Q8 | 120 tok/sec | ¥799,600 |
| 2× RTX 5090 (64GB) | 405B Q4 | 25–35 tok/sec | ¥799,600 |
| RTX 6000 Ada + RTX 4090 | 70B FP16 | 110 tok/sec | ¥1,349,200 |
•📌: キーポイント: 2つのRTX 4090sは70Bモデル上で約100 tok/secを提供します—5–10%の通信オーバーヘッドのため、単一GPUスピードの約90%です。RTX 5090(32 GB GDDR7、2026年1月発売)が状況を変えました:単一の5090は分割なしで70B Q4を40–50 tok/secで実行します。デュアル5090s(合計64 GB)は、405B Q4モデルを処理できる最初のコンシューマーセットアップです。
マルチGPUをいつ使うべきか?
マルチGPUは70B+モデルが必要な場合または高並行性サービスの場合は費用対効果的です。 複数のGPUを使用するべき場合:
- 70B以上のモデルを実行する必要があります。
- 50+の同時ユーザーを処理します(バッチ処理)。
- 複数の13Bモデルを同時実行したい。
- 本番サービスを実行します(実験ではなく)。
•💡: プロのヒント: 70Bモデルでの実験には、最初に単一GPU CPU オフロード(RTX 4090で8–10 tok/sec)を試してください。本番需要が確認されたら、マルチGPUセットアップ(100 tok/sec)用に2番目のRTX 4090に投資してください。
マルチGPUの一般的なミス
- 2 GPUsで2×スピードアップを期待する。 単一GPUスピードの約90%が得られます(5–10%のGPU通信オーバーヘッド)。
- GPUが同じである必要があると仮定する。 RTX 4090 + RTX 4080をミックスできますが、vLLMは低速GPUに制限されます。
- NVLinkを通信に使用しない。 NVLinkなしでは、マルチGPU通信は低速です。NVLinkはコンシューマーGPUでは珍しい。
- PCIe帯域幅を忘れる。 GPU間通信はPCIeを通ります。帯域幅を制限します(PCIe 4.0で~16 GB/sec)。
- 単一GPU オプションを試す前に2番目のGPUを買う。 2番目のRTX 4090に¥358,800以上を投資する前に、試してください:(1) Q4量子化(VRAMを半分)、(2) OllamaでのCPUオフロード(単一4090で70Bの8–10 tok/sec)、(3) RTX 5090 32 GB単一カード(分割なしで70B Q4を¥399,800で実行)。マルチGPUは最後の最適化であるべき、最初ではなく。
•⚠️: 警告: GPUモデルのマッチングは一貫したパフォーマンスに不可欠です。不一致のGPUs(例:4090 + 4080)は遅いカードがシステム速度を指示するボトルネックを作成します。本番環境では常に同一のGPUをペアにしてください。
よくある質問
•💬: ご存知ですか? NVLink帯域幅(900 GB/sec)対PCIe帯域幅(64 GB/sec)はマルチGPUパフォーマンスの隠れた要因です。NVLinkを搭載したA100/H100プロフェッショナルGPUは、ほぼ線形スケーリングを達成できます(例:2つのGPUで2×スピードアップ)。コンシューマーRTXカードはPCIeに制限され、5–10%のオーバーヘッドを引き起こします。
ローカルLLMsに複数のGPUを使用すべき場合は?
単一のGPUにターゲットモデルのVRAMが不足している場合、複数のGPUを使用してください。2つのRTX 4090s(合計48 GB)は、Q5量子化で70Bモデルを約100トークン/秒で実行します。単一GPUオフロードは同じモデルで8–10トークン/secしか達成しません。マルチGPUは70B以上のモデルに費用対効果的です。
vLLMテンソル並列処理はGPU間でどのように機能するか?
vLLMはテンソル並列処理を使用してモデルレイヤーをGPU間で分割します(`--tensor-parallel-size 2`)。各GPUはモデルウェイト行列の半分を保持します。計算は並列実行され、結果はNVLinkまたはPCIeを介して通信されます。NVLink(NVLink 4.0: 900 GB/sec双方向)はGPU間通信の場合、PCIe(64 GB/sec)より著しく高速です。
NVLinkはLLM推論に有意な違いをもたらすか?
NVLinkはGPU間通信を頻繁に必要とする大きなモデルの場合、PCIeに対してスループットを10–30%向上させます。2つのGPUに分割された70Bモデルの場合、NVLinkは通信オーバーヘッドを約15%から約3–5%に削減します。コンシューマーRTXカードはPCIeを使用します。NVLinkはプロフェッショナルA100/H100 GPUで利用可能です。ホーム使用ではPCIeで十分です。
レイヤー分割の場合、異なるGPUモデル(例:RTX 4090 + RTX 4080)をミックスできるか?
技術的には可です—vLLMとllama.cppは混合GPUセットアップをサポートします。実際には、遅いGPUがペアをボトルネックにします。4090+4080ペアは2つの4090sより2つの4080sに近いパフォーマンスを実現します。GPUモデルのマッチングは本番デプロイメント用に強く推奨されます。
70Bおよび405Bモデルに必要なGPU数は?
70B Q4: 2× RTX 4090に収まります(35 GB必要、48 GB利用可能)。70B Q8: 4× RTX 4090が必要(70 GB必要)。405B Q4: 4× RTX 4090が必要(200 GB必要—かろうじて収まります)。405Bの場合、プロフェッショナルA100 80GB×4(合計320 GB)が推奨プラットフォームです。
レイヤー分割対単一GPUのスピードペナルティは?
レイヤー分割はGPU間通信から5–10%のオーバーヘッドを追加します。70Bモデルを実行する2つのRTX 4090sは約100トークン/秒を達成します—単一理論48 GB GPUが達成するであろう約90%です。これはCPUオフロード(8–10トークン/秒)またはものすごく無理な70Bを実行する単一4090よりはるかに優れています。
マルチGPUなしで単一RTX 5090で70Bを実行できるか?
はい—RTX 5090(32 GB GDDR7、2026年1月)はLlama 3.3 70B Q4_K_Mに収まります(短いコンテキストで約40 GB KVキャッシュ、4Kコンテキストで32 GBぎりぎり)。パフォーマンス: 40–50 tok/sec。より長いコンテキスト(32K+)またはより高い量子化(Q5+)の70BではデュアルGPUがまだ必要です。5090は短いコンテキストでの70B Q4でマルチGPUの必要性を排除しました。
マルチGPU LLMセットアップの場合、PCIe 5.0は価値があるか?
PCIe 5.0はPCIe 4.0の64 GB/secに対して約128 GB/secに帯域幅を倍増します。デュアルGPU 70B推論の場合、これは通信オーバーヘッドを約10%から約6–7%に削減します。改善は顕著ですが変革的ではありません—NVLink(900 GB/sec)は依然としてほぼ線形スケーリングを達成する唯一の方法です。コンシューマービルドの場合、新規購入であればPCIe 5.0マザーボードが推奨されます。PCIe 4.0からマルチGPU用だけにアップグレードするのは費用対効果的ではありません。
ローカルマルチGPUセットアップでのデータ処理について
ローカルマルチGPU推論はクラウドサービスに送信することなく財務、医療、法的データを処理できます。機密データ(金融、医療、法的)の場合、ローカル推論はMETI AI Governance 2024と日本のデータ処理ガイドラインを満たしています。処理ポリシーを文書化し、ローカルモデルが定期的に更新されていることを確認してください。
日本の組織にとってマルチGPUはどんな価値があるか?
機密データを処理する日本の組織では、ローカルマルチGPUセットアップはプライバシー、規制準拠(METI AI Governance、個人情報保護法)、自律性を提供します。2つのRTX 4090s(¥717,600)は100 tok/secを提供します—カスタマーサービス、文書分析、データ処理に十分です。有料クラウドサービス(月¥54,000–¥216,000)と比較すると、マルチGPU投資は内部プロジェクトを活用する場合、2–3ヶ月で回収されます。
ソース
- vLLM テンソル並列処理ドキュメント -- 分散サービングとテンソル並列処理の公式vLLMドキュメント。
- Ollama マルチGPUサポート -- GPU検出とレイヤー分割のOllama GitHubドキュメント。
- PyTorch 分散テンソル -- 分散テンソル演算の コアフレームワークドキュメント。