【vLLM】マルチGPUでtensor-parallel-sizeを指定するとハングする問題の解決法

この記事では、vLLMで複数GPUを使ったテンソル並列処理(tensor parallelism)を設定した際にプロセスがハングする問題について、海外コミュニティでの解決策を要約して解説します。

1. どんな問題(エラー)が発生したか?

  • 発生した環境やツール: vLLM、マルチGPU環境(2枚以上のNVIDIA GPU)
  • エラーメッセージ: ハング(フリーズ)して応答なし、またはNCCL通信エラー
  • 症状: --tensor-parallel-size 2以上を指定するとモデルロード中にプロセスが停止する

2. 結論(解決策)

GPU間のNCCL通信設定の問題またはGPU構成の非対称性が原因です。環境変数の設定と通信テストで解決します。

3. 具体的な手順

  1. GPU構成を確認
    nvidia-smi -L

    全GPUが同じモデルであることを確認します。異なるGPUの混在はサポートされません。

  2. NCCL通信をテスト
    python -c "
    import torch, torch.distributed as dist
    dist.init_process_group('nccl')
    print('NCCL OK')
    "
  3. 環境変数を設定
    export NCCL_DEBUG=WARN
    export NCCL_P2P_DISABLE=0
    export CUDA_VISIBLE_DEVICES=0,1
  4. –enforce-eagerでデバッグ
    vllm serve model_name --tensor-parallel-size 2 --enforce-eager

    CUDA Graphを無効にしてエラーを特定します。

4. 補足・注意点

RTX 5070 TiとRTX 5080のように異なるGPU間でのテンソル並列は非対応です。同一モデルのGPU同士を使用してください。PCIeスロットの帯域幅も性能に影響します。NVLinkがある場合はNCCL通信が高速化されます。


5.
👉 【RunPod】1時間数十円から使える高性能クラウドGPU

参考元

本記事は海外コミュニティの複数のディスカッションを要約・再構成したものです。

Source: vLLM Documentation

💡 この問題を根本的に解決するには

ローカル環境のGPUトラブルが頻発する場合、ハードウェアの見直しも検討してみてください:

💡 この問題を根本的に解決するには

ローカル環境でGPUトラブルが頻発する場合、クラウドGPUサービスの利用も検討してみてください。環境構築の手間なく、すぐにAI開発を始められます。

  • RunPod — RTX 4090が$0.44/h〜、ワンクリックでJupyter環境が起動
  • Vast.ai — コミュニティGPUマーケットプレイス、最安値でGPUレンタル
この記事は役に立ちましたか?