今回はWSL環境(Windows + RTX 3050 Laptop GPU)で、 軽量LLMをvLLMでどこまで実用的に動かせるか試してみた。
今回使ったモデルは Qwen2.5-1.5B-Instruct-AWQ
量子化済みの軽量モデルで、VRAM 6GBクラスでも動作可能だろうということで選びました。
今回作成したコード: github.com
🤖 vLLMとは?
最近仕事でも聞くようになったvLLM vLLMは、LLM(大規模言語モデル)向けの高速推論エンジン。 KVキャッシュを使うことでLLM系の推論がPytorch等で直接使うよりも速くなるらしいです。
もともとはサーバ用途向けに作られていて、
- 高速推論
- GPUメモリ効率の改善
- 同時リクエスト処理
- OpenAI互換API
などが特徴。
特に有名なのが PagedAttention という仕組みで、 KV Cacheのメモリ管理を効率化できる。
そのおかげで、
- 少ないVRAMでも動かしやすい
- 複数リクエスト時に強い
- 長文生成でも安定しやすい
というメリットがある。
最近はローカルLLM用途でも人気が高く、
- Hugging Face のモデルをそのまま使いやすい
- OpenAI API互換サーバとして動かせる
- AWQ/GPTQ量子化モデル対応
など、実験用途でもかなり便利。
今回は、このvLLMがWSL + RTX 3050 Laptop GPU環境でどこまで実用になるのか試してみた。
🧪 環境
正直Linuxで試したいですが、今持っているのがNvidiaGPUのWindows Laptopなので今回は厳しい制約(WSL)の環境で試してみました。 実際Nvidia Driverで少しハマりました。
- OS: WSL2 (Ubuntu)
- GPU: RTX 3050 Laptop GPU
- CUDA: 13.2
- Python: 3.11 (conda)
- 推論エンジン: vLLM
- VRAM: 6GB
📦 使用モデル
6GBというとてもじゃないけどLLM動かすようなGPUではないので、軽量かつ量子化されたモデルを使用。 Qwenが選択肢が多いかつ、性能が高いのでそこから探しました。 モデル: Qwen2.5-1.5B-Instruct-AWQ
1.5BのAWQ量子化モデル。
⚙️ 試したこと
- vLLMでモデルロード
- プロンプト推論
- 初期化時間測定
- 推論時間測定
- トークン数取得
- スループット計算
🚧 ハマったポイント
① GPUメモリ設定
最初は以下設定で実行:
gpu_memory_utilization=0.9
→ VRAM不足でクラッシュ
修正:
gpu_memory_utilization=0.5
→ 安定動作
あまりパラメータは振っていませんが、高いとGPUめもり不足エラーでダメでした。
② NVIDIAドライバ問題
CUDAエラーで起動できなかった。
原因は Windows側のNVIDIAドライバが古かったこと。
Game Ready Driverへ更新して解決。
③ VRAM使用量
実測では約3GB前後。
RTX 3050 Laptop GPU(6GB)でも余裕あり。

📊 ベンチマーク結果
===== BENCHMARK SUMMARY ===== Init time : 35.257 sec Total time : 17.023 sec Input tokens : 13 Output tokens : 248 Total tokens : 261 Throughput : 14.57 tok/sec
💬入力プロンプト
今回はよくある
"Pythonで1から10までを足すコードを書いて"
💬 出力例
total = 0 for i in range(1, 11): total += i print(total)
🔍 感想
🟢 初期化(35秒)
モデルロードはそこそこ重い。 軽量モデルでもロードには時間がかかる。 最初キャッシュを使えていないのかなとも思いましたが、2回目以降でこの数字でした。
🟡 推論速度(14 tok/sec)
ローカルGPU環境としては十分実用レベル。
🟢 VRAM消費(約3GB)
RTX 3050 Laptop GPUでも問題なく動作。 もうちょっと大きいモデルでも良かったかも
💡 まとめ
- WSL2でもvLLMは普通に動く
- RTX 3050 Laptop GPUでも軽量LLMは実用可能
- VRAM設定を攻めすぎると落ちる
- WSLでのWindows側でのNVIDIAドライバ更新は重要
- 初期化は重いが推論は安定
- 小型量子化モデルならローカル運用しやすい
正直LLMだけ動いて何ができるんだと思いますが、私の発想力がないだけかもしれない。
以上、WSLでvLLM使ってLLM動かしてみたでした。


























