Why You Need WhichLLM?

로컬에서 대규모 언어 모델(LLM)을 실행하는 것이 개발자들의 일상이 되었습니다. Ollama로 Qwen을 돌리든, llama.cpp로 GGUF를 조정하든, LM Studio로 모델을 로드하든, 개발자들이 공통으로 직면하는 문제가 하나 있습니다:

내 하드웨어로 어떤 모델을 돌릴 수 있을까? 내 장비에서 성능이 가장 좋은 모델은 뭘까?

HuggingFace에는 수십만 개의 모델이 있습니다. 사양은 1.5B부터 72B까지 다양하고, 양자화 방식도 Q4_K_M, Q5_K_M, Q8_0 등 여러 가지입니다. 무작정 70B 모델을 다운로드했다가 반나절 기다려보니 VRAM이 부족해서 시간만 낭비한 경험이 있으신가요?

WhichLLM 은 바로 이 문제를 해결하기 위해 탄생했습니다. 하드웨어 구성을 자동으로 감지하고, 실제 벤치마크 데이터(파라미터 수가 아님)를 비교하여, 단 1초 만에 하드웨어에 가장 적합한 모델을 추천해 줍니다.

핵심 기능 한눈에 보기

기능 설명
자동 감지 NVIDIA/AMD/Apple Silicon/CPU 구성을 자동으로 식별
스마트 순위 실제 벤치마크(LiveBench, Aider, Open LLM Leaderboard 등) 기반, 파라미터 수 과시가 아님
시기 인식 구형 모델이 과거 점수가 좋다고 해서 신모델보다 앞에 서지 않음
GPU 시뮬레이션 그래픽카드 교체 전에도 성능 예측 가능: whichllm --gpu "RTX 5090"
원클릭 채팅 추천 후 바로 다운로드하고 대화 시작
코드 스니펫 바로 실행 가능한 Python 추론 코드 생성
업그레이드 계획 현재 머신과 후보 하드웨어 간 차이 비교

설치 방법

WhichLLM은 다양한 설치 방법을 제공합니다. uv 또는 Homebrew 사용을 권장합니다:

방법 1: uv (권장, 설치 없이 바로 실행)

BASH
# 일회성 실행 (설치 안 함)
uvx whichllm@latest

# 전역 설치
uv tool install whichllm

# 업데이트
uv tool upgrade whichllm

방법 2: Homebrew

BASH
brew install andyyyy64/whichllm/whichllm

방법 3: pip

BASH
pip install whichllm

설치가 완료되면 whichllm을 바로 실행하면 됩니다.

빠르게 시작하기

자동 감지 및 모델 추천

설정할 필요 없이 그냥 실행하세요:

BASH
whichllm

출력 예시:

#1 Qwen/Qwen3.6-27B 27.8B Q5_K_M  score 92.8  27 t/s
#2 Qwen/Qwen3-32B  32.0B Q4_K_M  score 83.0  31 t/s
#3 Qwen/Qwen3-30B-A3B 30.0B Q5_K_M  score 82.7  102 t/s

WhichLLM이 GPU/CPU/RAM을 자동으로 감지하고, 가장 적합한 모델을 추천하며 종합 점수 순으로 정렬합니다. 3위 모델이 MoE(Mixture of Experts, 혼합 전문가) 모델이라는 점에 주목하세요. 총 파라미터 수는 크지만 활성 파라미터가 적어서 속도가 훨씬 빠릅니다.

하드웨어 정보 확인

BASH
whichllm hardware

출력 예시:

GPU: NVIDIA RTX 4090 (24 GB VRAM)
CPU: AMD Ryzen 9 7950X (16 cores)
RAM: 64 GB

GPU 모델과 VRAM 크기를 정확히 모를 때 특히 유용합니다.

고급 기능

GPU 시뮬레이션: 그래픽카드 구매 전에 테스트

RTX 5090으로 업그레이드를 고려 중이지만, 어떤 모델을 돌릴 수 있을지 궁금하신가요? WhichLLM은 어떤 GPU든 시뮬레이션할 수 있습니다:

BASH
# RTX 5090 시뮬레이션
whichllm --gpu "RTX 5090"

# RTX 4060 시뮬레이션
whichllm --gpu "RTX 4060"

# VRAM 커스터마이징
whichllm --gpu "RTX 5060 16"

출력 예시:

#1 Qwen/Qwen3.6-27B 27.8B Q6_K    score 94.7  ~40 t/s
#2 Qwen/Qwen3-32B  32.0B Q5_K_M  score 88.0  ~38 t/s

하드웨어 구매 전 의사결정에 매우 실용적입니다.

업그레이드 계획: 업그레이드 효과 비교

RTX 4090에서 RTX 5090으로 업그레이드하면 얼마나 향상될지 알고 싶으신가요?

BASH
whichllm upgrade "RTX 4090" "RTX 5090" "H100"

각 구성에서의 추천 모델, 점수, 속도를 한눈에 확인할 수 있습니다.

역방향 계획: 특정 모델을 돌리려면 어떤 GPU가 필요한가?

BASH
# Llama 3 70B를 돌리려면 어떤 그래픽카드가 필요할까?
whichllm plan "llama 3 70b"

# Qwen2.5-72B의 Q8_0 양자화 버전 실행
whichllm plan "Qwen2.5-72B" --quant Q8_0

# 긴 컨텍스트 시나리오
whichllm plan "mistral 7b" --context-length 32768

필요한 VRAM량, 추천 GPU 종류, 달성 가능한 성능 수준을 알려줍니다.

원클릭 채팅: 추천 후 바로 사용

모델을 추천받은 후 바로 대화를 시작할 수 있습니다:

BASH
# 지정된 모델 다운로드 및 채팅
whichllm run "qwen 2.5 1.5b gguf"

# 최적 모델 자동 선택 후 채팅
whichllm run

WhichLLM이 격리 환경을 생성하고, 모델을 다운로드하며, 인터랙티브 대화를 시작합니다.

Python 코드 스니펫 생성

애플리케이션에서 특정 모델을 사용하려면, WhichLLM이 바로 실행 가능한 Python 코드를 생성해 줍니다:

BASH
whichllm snippet "qwen 7b"

출력:

PYTHON
from llama_cpp import Llama

llm = Llama.from_pretrained(
    repo_id="Qwen/Qwen2.5-7B-Instruct-GGUF",
    filename="qwen2.5-7b-instruct-q4_k_m.gguf",
    n_ctx=4096,
    n_gpu_layers=-1,
    verbose=False,
)

output = llm.create_chat_completion(
    messages=[{"role": "user", "content": "Hello!"}],
)
print(output["choices"][0]["message"]["content"])

복사해서 붙여넣기만 하면 됩니다. 문서를 뒤적일 필요가 없습니다.

고급 구성 옵션

용도별 필터링

WhichLLM은 작업 유형별로 모델을 필터링할 수 있습니다:

BASH
# 프로그래밍에 가장 적합한 모델 선택
whichllm --profile code

# 일반 대화
whichllm --profile general

# 수학 추론
whichllm --profile math

# 비전/멀티모달
whichllm --profile vision

양자화 정밀도별 필터링

BASH
# Q4_K_M 양자화만 추천
whichllm --quant Q4_K_M

# 더 많은 결과 표시
whichllm --top 20

# 최소 속도 요구사항
whichllm --min-speed 30

증거 레벨 제어

WhichLLM은 각 모델의 점수에 증거 등급을 표기합니다. 추천의 신뢰도를 제어할 수 있습니다:

BASH
# 엄격 모드: 직접 벤치마크 데이터가 있는 모델만 추천
whichllm --evidence strict

# 기본 모드: 동일 시리즈 모델의 세대 간 매칭 허용
whichllm --evidence base

JSON 출력: 스크립트 통합

WhichLLM을 자동화 워크플로우에 통합하세요:

BASH
#最佳 모델의 HuggingFace ID 가져오기
whichllm --top 1 --json | jq -r '.models[0].model_id'

#最佳 코딩 모델의 전체 정보 가져오기
whichllm --profile code --top 3 --json | jq '.models[] | {name: .model_id, score: .score, speed: .estimated_tok_per_sec}'

출력 예시:

JSON
{
  "models": [
    {
      "model_id": "Qwen/Qwen3.6-27B-GGUF",
      "score": 92.8,
      "estimated_tok_per_sec": 27.3,
      "speed_confidence": "high",
      "quant": "Q5_K_M"
    }
  ]
}

점수 체계 상세 설명

WhichLLM의 점수 체계는 핵심 하이라이트로, 별도로 설명할 가치가 있습니다.

데이터 소스

WhichLLM은 다음 벤치마크 데이터를 집계합니다:

  • LiveBench — 실시간 생성 최신 평가
  • Artificial Analysis — 제3자 독립 테스트 플랫폼
  • Aider — AI 프로그래밍 어시스턴트 벤치마크
  • Chatbot Arena ELO — LMSYS의 크라우드소싱 점수
  • Open LLM Leaderboard — HuggingFace 공식 리더보드
  • 멀티모달/비전 평가 — 해당 시 적용

점수 규칙

  1. 크기가 전부가 아님: 27B 모델이 더 높은 점수를 받으면 32B 모델보다 앞에 랭킹됩니다
  2. 시기 감쇠: 2024년 모델이 과거 고득점으로 2026년 신모델을 누르지 않습니다
  3. 신뢰도分级: 각 점수에 증거 등급이 표기됩니다: - direct — 해당 모델, 해당 양자화 방식에 직접 벤치마크 데이터 존재 - variant — 동일 모델 다른 양자화 버전 데이터 - base — 베이스 모델 데이터(세대 간 추론) - interpolated — 보간 추정 - self-reported — 개발자가 직접 보고한 데이터
  4. 조작 방지 메커니즘: 신뢰할 수 없는 가짜 업로드 데이터를 거부하여, 소형 개조 모델이 대형 모델 점수를 빌리는 것을 방지합니다

실측: 다양한 하드웨어의最佳 선택

WhichLLM의 최신 데이터(2026년 6월)에 따르면, 다양한 하드웨어 구성의 추천은 다음과 같습니다:

하드웨어 VRAM 最佳 추천 속도
RTX 5090 32 GB Qwen3.6-27B Q6_K (score 94.7) ~40 t/s
RTX 4090 / 3090 24 GB Qwen3.6-27B Q5_K_M (score 92.8) ~27 t/s
RTX 4060 8 GB Qwen3-14B Q3_K_M (score 71.0) ~22 t/s
Apple M3 Max 36 GB Qwen3.6-27B Q5_K_M (score 89.4) ~9 t/s
순수 CPU 실행 — gpt-oss-20b (MoE) Q4_K_M (score 45.2) ~6 t/s

💡 참고: MoE(혼합 전문가) 모델의 활성 파라미터는 총 파라미터보다 훨씬 적습니다. 따라서 동일 하드웨어에서 속도가 더 빠릅니다. WhichLLM의 점수 체계는 이미 이 점을 고려하고 있습니다.

유사 도구와 비교

기능 WhichLLM Ollama LM Studio LocalAI
自动推荐最佳模型 ✅ ❌ ❌ ❌
GPU 시뮬레이션 ✅ ❌ ❌ ❌
벤치마크 데이터 순위 ✅ ❌ ❌ ❌
업그레이드 계획 ✅ ❌ ❌ ❌
코드 스니펫 생성 ✅ ❌ ❌ ❌
원클릭 채팅 ✅ ✅ ✅ ✅
JSON 출력 ✅ ✅ ❌ ❌
CLI 경량화 ✅ ✅ ❌ ✅

Ollama는 여전히 모델을 실행하기 좋은 선택입니다. 하지만 WhichLLM은 모델 선택 문제를 해결합니다. 두 도구는 상호 보완적입니다: WhichLLM으로最佳 모델을 찾고, Ollama나 다른 도구로 실행하세요.

실전 시나리오

시나리오 1: 새 그래픽카드 구매 결정

RTX 3060에서 업그레이드하려고 합니다. 예산은 충분해서 RTX 5070이나 중고 RTX 4090을 살 수 있습니다:

BASH
# 현재 하드웨어 시뮬레이션
whichllm --gpu "RTX 3060"

# 업그레이드 옵션 시뮬레이션
whichllm upgrade "RTX 3060" "RTX 5070" "RTX 4090"

출력 결과를 비교하여, 각 카드가 어떤 모델을 돌릴 수 있고 속도는怎样的인지 확인한 후 합리적으로 결정하세요.

시나리오 2: 프로젝트 모델 선택 조언

팀이 로컬 RAG 시스템을 개발하려고 합니다. 추론 모델을 선택해야 합니다:

BASH
# CI 서버 구성으로 테스트
whichllm --gpu "RTX 4090" --profile code --json | jq

JSON 출력을 의사결정 문서에 바로 통합하세요.

시나리오 3: 엣지 디바이스 배포

BASH
# CPU only 모드
whichllm --cpu-only --top 10

IoT나 임베디드场景에 적합한 CPU 추론용 소형 모델을 찾으세요.

자주 묻는 질문

Q: WhichLLM이 모델을 로컬에 다운로드하나요?

A: 기본적으로 whichllm은 HuggingFace API와 로컬 캐시 데이터만 조회합니다. 모델을 다운로드하지 않습니다. whichllm run 명령어만 모델을 다운로드합니다.

Q: 모델 데이터는 어떻게 업데이트하나요?

BASH
whichllm --refresh

캐시를 강제 새로고침하여 HuggingFace의最新 모델을 가져옵니다.

Q: 네트워크 환경이 없으면怎么办?

A: WhichLLM은 캐시 메커니즘을 내장하고 있습니다. 오프라인 상태에서는 미리 캐시된 스냅샷 데이터를 사용합니다.

Q: AMD 그래픽카드를 지원하나요?

A: 네, WhichLLM은 NVIDIA, AMD, Apple Silicon 및 순수 CPU 모드를 지원합니다.

요약

WhichLLM은 로컬 LLM 개발자가 직면한 핵심 문제를 해결합니다: 방대한 모델 중에서 자신의 하드웨어에 가장 적합한 모델을 찾는 것. 주요 하이라이트는 다음과 같습니다:

  1. 증거 기반 스마트 순위 — 단순 파라미터 크기排序가 아니라, 실제 벤치마크 데이터와 시기성을 종합
  2. GPU 시뮬레이션 기능 — 하드웨어 구매 전 성능 테스트 가능, 충동 소비 방지
  3. 원클릭 통합 — 추천, 채팅, 코드 생성까지 하나의 도구로 모두 해결
  4. 스크립트화 가능 — JSON 출력으로 자동화 워크플로우에 쉽게 통합

로컬 LLM에 막 입문한 개발자이든, 프로덕션 환경을 구축 중인 팀이든, WhichLLM은 수시간의 시행착오 시간을 절약해 줄 것입니다.


프로젝트 정보: - GitHub: github.com/Andyyyy64/whichllm - 라이선스: MIT - 설치: pip install whichllm 또는 brew install andyyyy64/whichllm/whichllm