なぜ 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が整形と検証を行った。