moru
/가이드/whichllm 설치 및 하드웨어·VRAM 확인 가이드
시작 가이드

whichllm 설치 및 하드웨어·VRAM 확인 가이드

이 문서는 Windows에서 `whichllm`을 설치하고 다음 작업을 수행하는 방법을 정리한 가이드입니다.

ON
·
10분 읽기
·
554 조회
목차

이 문서는 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: 예상 필요 VRAM
  • vram_available_bytes: 사용 가능한 VRAM
  • estimated_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: 전체 VRAM
  • power.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

참고 자료

번역팩을 찾고 계세요?
566개의 번역팩이 이미 준비되어 있습니다.
둘러보기