RTX 5090 + WSL2 で構築する個人向けAI開発環境 — 32GB GPUを使い切る実践セットアップ

なぜ RTX 5090 + WSL2 か

RTX 5090の32GB VRAMは、大規模LLMモデルのローカル推論において現実的な選択肢である。RTX 4090(24GB)と比べてVRAM容量が33%向上し、モデルサイズ拡大の余地が広がる。vLLMのバッチ処理により、並列推論で32GBのVRAMを使い切ることができる。

CUDA 12.8は最新のツールキットで、PyTorchやtritonとの完全な互換性を備える。WSL2環境ではWindowsホストのGPUドライバが直接GPUを提供するため、Linuxのツールチェーン(vLLM、TensorRT、llama.cppなど)の恩恵をそのまま受けられる。

システム全体の構成

vLLMサーバ(常駐プロセス)

systemctl --user enable vllm.service
systemctl --user start vllm.service

- モデル: Nemotron 9B などのモデルをFP8で推論する。
- gpu-memory-utilization で使用量を制御する。

### TensorRT ボードゲームAI
FP8量子化モデルをTensorRTで最適化し、高速な推論を実現する。

### Streamlit アプリ
LLMの推論結果の表示や検索フォームなどのUIを提供する。

実運用でのGPU共有

vLLMサーバは常駐プロセスとして起動し、CUDA_VISIBLE_DEVICES で特定のGPUを指定する。ボードゲームAIを起動する際は、gpu-memory-utilization パラメータでvLLMの使用量を制限し、リソースを共有する。

切り替え手順は次のとおりである。
- vLLMのメモリ使用量を確認する。
- 必要に応じてvLLMサービスを再起動し、メモリ割り当てを調整する。
- TensorRTプロセスを起動する。

WSL2 固有の落とし穴

### メモリ制限の設定
WSL2のデフォルトのメモリ制限では不足することがある。

# ~/.wslconfig (on Windows)
[wsl2]
memory=16GB

設定変更後は wsl --shutdown で適用する。

### ディスクI/Oのレイテンシ
WSL2からWindowsファイルシステム(/mnt/c/...)にアクセスすると、I/O性能が低下する。データファイルをWSL2のディストリビューション内(/home/...)に配置することで、ネイティブなLinuxファイルシステムの性能を活かせる。

### systemd サービスの設定
WSL2でsystemdを使う場合は、/etc/wsl.conf に以下を追加する。

[boot]
systemd=true

ユーザサービスを自動起動するには loginctl enable-linger が必要である。

ワークロードの例

LLM推論(vLLM)

python -m vllm.entrypoints.openai.api_server \
  --model nvidia/NVIDIA-Nemotron-Nano-9B-v2-Japanese \
  --dtype auto \
  --max-model-len 32768

### ボードゲームAI(TensorRT最適化)
FP8量子化により、VRAMを大幅に節約しながら高速な推論が可能になる。

### SQLite FTS5 検索
全文検索エンジンを活かした高速なデータ検索も、並行して運用できる。

まとめ

RTX 5090 + WSL2の組み合わせは、32GB VRAMをまるごとAI開発に充てられる実用的なセットアップである。WSL2の課題(メモリ制限、ディスクI/O)は設定ファイルの調整で解消でき、最新のvLLMやTensorRTの機能をフルに活用できる。データファイルをWSL2のLinuxファイルシステム内に配置することが性能の鍵になる。

本記事はNemotron-Nano-9B-v2-Japaneseによって生成され、Gemini 2.5 Flashが整形と検証を行った。