whichllm 설치 및 하드웨어·VRAM 확인 가이드
이 문서는 Windows에서 `whichllm`을 설치하고 다음 작업을 수행하는 방법을 정리한 가이드입니다.
목차
이 문서는 Windows에서 whichllm을 설치하고 다음 작업을 수행하는 방법을 정리한 가이드입니다.
- 현재 PC의 CPU, GPU, RAM 확인
- 현재 하드웨어에 적합한 로컬 LLM 추천
- 구매를 고려 중인 GPU를 가상으로 입력해 모델 적합성 비교
- 특정 모델과 양자화 방식의 예상 VRAM 사용량·생성 속도 확인
- 실제 모델 실행 중 GPU 사용률, VRAM, 전력 및 온도 측정
[!IMPORTANT]
whichllm이 출력하는 VRAM과 속도는 모델 구조와 하드웨어 사양을 바탕으로 한 예상치입니다. 실제 GPU 사용률·VRAM·전력·온도는 모델을 실행하면서nvidia-smi로 측정해야 합니다.
1. whichllm 설치
1.1 uv 설치
PowerShell을 열고 다음 명령을 실행합니다.
winget install --id=astral-sh.uv -e
설치가 끝나면 PowerShell을 완전히 닫았다가 다시 연 후 확인합니다.
uv --version
1.2 설치하지 않고 한 번 실행
uvx whichllm@latest
uvx는 격리된 임시 환경에서 최신 whichllm을 실행합니다.
1.3 자주 사용할 경우 영구 설치
uv tool install whichllm
설치 확인:
whichllm --help
기존 설치 업데이트:
uv tool upgrade whichllm
2. 현재 PC 하드웨어 확인
CPU, GPU, VRAM, RAM 등 감지된 하드웨어 정보만 출력합니다.
whichllm hardware
현재 PC에서 실행하기 좋은 모델을 추천받습니다.
whichllm
결과를 10개까지 자세히 확인:
whichllm --top 10 --details
기술적으로 실행은 가능하지만 너무 느린 모델을 제외:
whichllm --speed usable --top 10
GPU VRAM에 완전히 들어가는 모델만 표시:
whichllm --gpu-only --top 10
실행 엔진과 Windows가 사용할 VRAM 1GB를 남겨두고 추천:
whichllm --gpu-only --speed usable --vram-headroom 1GB --top 10
더 안전하게 2GB를 남기려면:
whichllm --gpu-only --speed usable --vram-headroom 2GB --top 10
3. 구매를 고려 중인 GPU 시뮬레이션
실제로 장착되지 않은 GPU도 이름으로 입력해 예상 결과를 볼 수 있습니다.
RTX 5080
whichllm --gpu "RTX 5080" --top 10 --details
RTX 5090
whichllm --gpu "RTX 5090" --top 10 --details
다른 GPU
아래 명령의 GPU 이름만 바꿉니다.
whichllm --gpu "H100" --top 10 --details
다중 GPU 구성
whichllm --gpu "2x RTX 5080" --top 10 --details
서로 다른 GPU를 조합할 수도 있습니다.
whichllm --gpu "RTX 5080, RTX 4090" --top 10 --details
업그레이드 후보 한 번에 비교
whichllm upgrade "RTX 5080" "RTX 5090" "H100"
4. 특정 모델의 VRAM·속도 예상
Gemma 4 26B A4B + Q3_K_M
8K 컨텍스트를 기준으로 필요한 GPU를 확인합니다.
whichllm plan "google/gemma-4-26B-A4B-it" --quant Q3_K_M --context-length 8192
RTX 5080에서 해당 양자화 조건으로 모델을 검색:
whichllm --gpu "RTX 5080" --quant Q3_K_M --context-length 8192 --top 10 --details
Gemma 4 26B A4B + Q4_0
공식 QAT Q4_0과 비슷한 메모리 조건을 확인할 때 사용합니다.
whichllm plan "google/gemma-4-26B-A4B-it" --quant Q4_0 --context-length 8192
RTX 5080에서 Q4_0 조건 확인:
whichllm --gpu "RTX 5080" --quant Q4_0 --context-length 8192 --top 10 --details
[!NOTE]
google/gemma-4-26B-A4B-it-qat-q4_0-gguf는 Google이 4비트 양자화를 고려해 추가 학습한 공식 QAT 체크포인트입니다. 위--quant Q4_0계산은 주로 메모리 조건을 비교하기 위한 것이므로 실제 파일 크기와 실행 메모리는 LM Studio 또는 GGUF 파일 정보에서도 확인해야 합니다.
컨텍스트 길이에 따른 차이 비교
8K:
whichllm plan "google/gemma-4-26B-A4B-it" --quant Q4_0 --context-length 8192
16K:
whichllm plan "google/gemma-4-26B-A4B-it" --quant Q4_0 --context-length 16384
32K:
whichllm plan "google/gemma-4-26B-A4B-it" --quant Q4_0 --context-length 32768
컨텍스트 길이가 늘어나면 KV 캐시가 커지므로 모델 가중치가 같아도 전체 VRAM 사용량은 증가합니다.
5. JSON으로 예상 VRAM과 부하 정보 출력
whichllm의 JSON 결과에는 다음과 같은 정보가 포함될 수 있습니다.
fit_type: 전체 GPU 적재, 부분 오프로딩, CPU 실행 등의 적합 방식vram_required_bytes: 예상 필요 VRAMvram_available_bytes: 사용 가능한 VRAMestimated_tok_per_sec: 예상 생성 속도speed_range_tok_per_sec: 예상 속도 범위speed_confidence: 속도 추정 신뢰도speed_notes: 속도 및 병목 관련 설명
RTX 5080 결과를 JSON 파일로 저장:
whichllm --gpu "RTX 5080" --top 10 --json |
Set-Content -Encoding utf8 ".\whichllm-rtx5080.json"
RTX 5090 결과 저장:
whichllm --gpu "RTX 5090" --top 10 --json |
Set-Content -Encoding utf8 ".\whichllm-rtx5090.json"
PowerShell에서 VRAM GB와 점유율 계산
다음 스크립트는 RTX 5080을 가정하고 추천 모델별 예상 VRAM 사용량과 VRAM 점유율을 표로 출력합니다.
$result = whichllm --gpu "RTX 5080" --top 10 --json | ConvertFrom-Json
$table = $result.models | ForEach-Object {
$required = [double]$_.vram_required_bytes
$available = [double]$_.vram_available_bytes
[pscustomobject]@{
Model = $_.model_id
Fit = $_.fit_type
Required_VRAM_GB = [math]::Round($required / 1GB, 2)
Available_VRAM_GB = [math]::Round($available / 1GB, 2)
VRAM_Usage_Percent = if ($available -gt 0) {
[math]::Round(($required / $available) * 100, 1)
} else {
$null
}
Estimated_Tok_S = $_.estimated_tok_per_sec
Speed_Confidence = $_.speed_confidence
Speed_Notes = $_.speed_notes
}
}
$table | Format-Table -AutoSize
결과를 CSV로 저장:
$table | Export-Csv -NoTypeInformation -Encoding utf8 ".\whichllm-rtx5080-vram.csv"
[!WARNING]
위VRAM_Usage_Percent는 실제 GPU 사용률이 아니라 예상 필요 VRAM ÷ 사용 가능 VRAM으로 계산한 메모리 점유 예상치입니다.
6. 실제 실행 중 GPU 부하와 VRAM 측정
whichllm은 계획 도구이므로 실제 GPU 사용률, 전력, 온도는 nvidia-smi로 확인합니다.
현재 상태 한 번 확인
nvidia-smi
1초마다 실시간 모니터링
nvidia-smi `
--query-gpu=timestamp,name,utilization.gpu,utilization.memory,memory.used,memory.total,power.draw,temperature.gpu `
--format=csv `
-l 1
확인 가능한 항목:
utilization.gpu: 실제 GPU 연산 사용률utilization.memory: GPU 메모리 컨트롤러 사용률memory.used: 실제 VRAM 사용량memory.total: 전체 VRAMpower.draw: 소비전력temperature.gpu: GPU 온도
종료하려면 Ctrl+C를 누릅니다.
측정 결과를 파일로 저장
nvidia-smi `
--query-gpu=timestamp,name,utilization.gpu,utilization.memory,memory.used,memory.total,power.draw,temperature.gpu `
--format=csv `
-l 1 |
Tee-Object -FilePath ".\gpu-load-log.csv"
모델을 먼저 실행한 다음 이 명령을 별도의 PowerShell 창에서 실행하면 실제 추론 부하를 기록할 수 있습니다.
7. 빠른 실행 순서
아래 순서대로 실행하면 됩니다.
# 1. 현재 하드웨어 확인
whichllm hardware
# 2. RTX 5080에서 실행 가능한 모델 추천
whichllm --gpu "RTX 5080" --gpu-only --speed usable --vram-headroom 1GB --top 10
# 3. Gemma 4 Q3_K_M 예상 확인
whichllm plan "google/gemma-4-26B-A4B-it" --quant Q3_K_M --context-length 8192
# 4. Gemma 4 Q4_0 예상 확인
whichllm plan "google/gemma-4-26B-A4B-it" --quant Q4_0 --context-length 8192
# 5. 전체 예상치를 JSON으로 저장
whichllm --gpu "RTX 5080" --top 10 --json |
Set-Content -Encoding utf8 ".\whichllm-rtx5080.json"
# 6. 실제 모델 실행 중 별도 PowerShell에서 GPU 부하 측정
nvidia-smi `
--query-gpu=timestamp,name,utilization.gpu,utilization.memory,memory.used,memory.total,power.draw,temperature.gpu `
--format=csv `
-l 1