最終テスト日:七月 2026。Windowsネイティブ対応のための コミュニティPR が提出されましたが、安定版にはまだマージされていません。そのため現時点ではWSL2とDockerの組み合わせが推奨される方法となります。
前提条件
- Windows 11 (22H2 or later) with WSL2 enabled
- 1 or more NVIDIA GPUs with driver version ≥535
- WSL2バックエンドが有効化されたDocker Desktop for Windows
- At least 16 GB of system RAM (32 GB recommended for models ≥13B)
手順1:GPU対応のWSL2をインストールする
管理者権限でPowerShellを開き、WSL2をインストールします:nvidia-smiでデバイスが検出されない場合は、Windows用NVIDIAドライバーを535以上に更新してからWSLを再起動してください。
手順2:NVIDIA Container Toolkitを併用してDockerをインストールする。
- Windows上でDocker Desktopをインストールしてください。
- Docker Desktopの設定画面を開き、Use the WSL 2 based engineのチェックが入っていることを確認してください。
- Under Resources → WSL Integration, enable your Ubuntu distribution.
手順3:Docker Composeを利用してvLLMを起動する。
Create adocker-compose.yml file:
docker-compose.yml
Uvicorn running on http://0.0.0.0:8000, the server is ready.
手順 4:正常に動作するかを確認します。
WSL2内からテストリクエストを送信してください。choices配列を持つJSONオブジェクトです。
マルチGPU構成(MCDM)
WSL2ではMicrosoft Compute Driver Model(MCDM)を通じてマルチGPUテンサー並列処理が可能です。これにより旧来のTCCモードが置き換えられ、NVIDIAドライバーのバージョンは≥535である必要があります。MCDMモードへ切り替える方法
Windowsホスト上で管理者権限付きのコマンドプロンプトを開いてください。0の部分をGPUインデックスに置き換えてください)、再起動してください。再起動後、すべてのGPUがWSL2内に認識されていることを確認してください。
テンサー並列処理機能付きで起動する方法
Update yourdocker-compose.yml command to use multiple GPUs:
Windowsホストからの接続方法
WSL2は軽量な仮想マシン内で動作し、独自のネットワーク環境を持ちます。Dockerのポートマッピング機能により、localhost:8000がWSL2仮想マシンからWindowsホストへ自動的に転送されるため、Windows上のアプリケーションからvLLMにアクセスすることが可能です:
localhostによる転送が機能しない場合は、WSL2のIPアドレスを確認し、直接そのアドレスを利用すればよい:
Tokiosを利用してエンドポイントを公開する
WSL2上でvLLMを実行すればローカル環境で推論処理が可能だが、アクセス可能な範囲は同一マシン内に限られる。WSL2内にvLLMコンテナと共にTokiosコネクターを導入すれば、ポート転送やファイアウォール設定なしで安全なトンネル経由でモデルにアクセス可能となり、あらゆるデバイスから利用できるようになる:https://api.tokios.com/v1経由でモデルにアクセスできるようになる。
詳細な手順については コネクターのインストール を参照されたい。
トラブルシューティング
WSL環境でGPUが検出されない2
WSL環境でGPUが検出されない2
お使いのNVIDIAドライバが古すぎるか、WSL2のカーネルが古くなっています。Windows用NVIDIAドライバを535以上にアップデートした後、PowerShellから
wsl --updateを実行し、wsl --shutdownを使ってWSLを再起動してください。CUDAカーネルイメージが利用不可
CUDAカーネルイメージが利用不可
Specific vLLM versions (v0.22/v0.23) ship CUDA kernels that don’t match every WSL2 CUDA toolkit version. Pin your Docker image to a known-good tag, for example
vllm/vllm-openai:v0.21.0, instead of latest.マルチGPU環境でメモリ不足が発生
マルチGPU環境でメモリ不足が発生
vLLMはOllamaよりも多くのVRAMをCUDAグラフ用に確保します。もし 32B モデルが 2x RTX 3090 上でメモリ不足を起こす場合、
--gpu-memory-utilization の値を 0.85 まで下げるか、--max-model-len の設定を減らしてみてください。Dockerコンテナが直ちに終了してしまう
Dockerコンテナが直ちに終了してしまう
Docker DesktopのWSL2連携機能がご使用のディストリビューションで有効になっているか確認してください。
docker compose logs vllmを実行すると終了理由が確認できますが、多くの場合GPUドライバが見つからないかモデルパスが不正確であることが原因です。MCDM機能が有効化されていない
MCDM機能が有効化されていない
If
nvidia-smi inside WSL2 only shows 1 GPU on a multi-GPU system, MCDM may not be active. Run nvidia-smi -g <GPU_ID> -dm 0 on the Windows host for each GPU, then reboot.Windowsネイティブ環境での対応状況
SystemPanic氏によるコミュニティフォーク版では、WSL2やDockerを使わずにvLLMをWindowsネイティブ環境で利用できるようになっています。このプルリクエストは2025初頭に提出されましたが、現時点では安定版にマージされていません。進捗状況はvLLMのGitHubリポジトリで確認できます。 安定版リリースでネイティブサポートが実装されるまで、WSL2とDockerの組み合わせがWindows環境における本番用の運用手段となります。次に行うべき手順
vLLMのリモートアクセス設定
Tokiosを利用すればポートフォワーディングなしで、どのデバイスからでもご自身のvLLMサーバーにアクセス可能です。
モデルの適合性確認
ご使用のGPUのVRAM容量に適したモデルや、期待できるスループット値を確認しましょう。