RTX 5090 + WSL2로 구축한 개인 AI 개발 환경 — 32GB GPU를 완전히 활용하는 실용적인 설정
Source: Dev.to
왜 RTX 5090 + WSL2인가?
RTX 5090의 32 GB VRAM은 대형 LLM 모델을 로컬에서 추론하기에 실용적인 선택입니다. RTX 4090(24 GB)과 비교했을 때 VRAM 용량이 33 % 증가해 모델 크기 확장 여지가 늘어납니다. vLLM의 배치 처리와 병렬 추론을 활용하면 32 GB 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
TensorRT를 사용해 FP8 양자화 모델을 최적화하여 고속 추론을 구현합니다.
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 $USER
예시 워크로드
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 조합은 AI 개발에 32 GB VRAM 전체를 할당할 수 있는 실용적인 설정입니다. 메모리 제한, 디스크 I/O와 같은 WSL2 문제는 구성 파일을 수정하고 systemd를 활성화함으로써 해결할 수 있으며, 최신 vLLM 및 TensorRT 기능을 완전히 활용할 수 있습니다. 데이터 파일을 WSL2 Linux 파일 시스템에 두는 것이 성능 향상의 핵심 포인트입니다.