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 (권장, 설치 없이 바로 실행)
# 일회성 실행 (설치 안 함)
uvx whichllm@latest
# 전역 설치
uv tool install whichllm
# 업데이트
uv tool upgrade whichllm
방법 2: Homebrew
brew install andyyyy64/whichllm/whichllm
방법 3: pip
pip install whichllm
설치가 완료되면 whichllm을 바로 실행하면 됩니다.
빠르게 시작하기
자동 감지 및 모델 추천
설정할 필요 없이 그냥 실행하세요:
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, 혼합 전문가) 모델이라는 점에 주목하세요. 총 파라미터 수는 크지만 활성 파라미터가 적어서 속도가 훨씬 빠릅니다.
하드웨어 정보 확인
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든 시뮬레이션할 수 있습니다:
# 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으로 업그레이드하면 얼마나 향상될지 알고 싶으신가요?
whichllm upgrade "RTX 4090" "RTX 5090" "H100"
각 구성에서의 추천 모델, 점수, 속도를 한눈에 확인할 수 있습니다.
역방향 계획: 특정 모델을 돌리려면 어떤 GPU가 필요한가?
# 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 종류, 달성 가능한 성능 수준을 알려줍니다.
원클릭 채팅: 추천 후 바로 사용
모델을 추천받은 후 바로 대화를 시작할 수 있습니다:
# 지정된 모델 다운로드 및 채팅
whichllm run "qwen 2.5 1.5b gguf"
# 최적 모델 자동 선택 후 채팅
whichllm run
WhichLLM이 격리 환경을 생성하고, 모델을 다운로드하며, 인터랙티브 대화를 시작합니다.
Python 코드 스니펫 생성
애플리케이션에서 특정 모델을 사용하려면, WhichLLM이 바로 실행 가능한 Python 코드를 생성해 줍니다:
whichllm snippet "qwen 7b"
출력:
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은 작업 유형별로 모델을 필터링할 수 있습니다:
# 프로그래밍에 가장 적합한 모델 선택
whichllm --profile code
# 일반 대화
whichllm --profile general
# 수학 추론
whichllm --profile math
# 비전/멀티모달
whichllm --profile vision
양자화 정밀도별 필터링
# Q4_K_M 양자화만 추천
whichllm --quant Q4_K_M
# 더 많은 결과 표시
whichllm --top 20
# 최소 속도 요구사항
whichllm --min-speed 30
증거 레벨 제어
WhichLLM은 각 모델의 점수에 증거 등급을 표기합니다. 추천의 신뢰도를 제어할 수 있습니다:
# 엄격 모드: 직접 벤치마크 데이터가 있는 모델만 추천
whichllm --evidence strict
# 기본 모드: 동일 시리즈 모델의 세대 간 매칭 허용
whichllm --evidence base
JSON 출력: 스크립트 통합
WhichLLM을 자동화 워크플로우에 통합하세요:
#最佳 모델의 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}'
출력 예시:
{
"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 공식 리더보드
- 멀티모달/비전 평가 — 해당 시 적용
점수 규칙
- 크기가 전부가 아님: 27B 모델이 더 높은 점수를 받으면 32B 모델보다 앞에 랭킹됩니다
- 시기 감쇠: 2024년 모델이 과거 고득점으로 2026년 신모델을 누르지 않습니다
- 신뢰도分级: 각 점수에 증거 등급이 표기됩니다:
-
direct— 해당 모델, 해당 양자화 방식에 직접 벤치마크 데이터 존재 -variant— 동일 모델 다른 양자화 버전 데이터 -base— 베이스 모델 데이터(세대 간 추론) -interpolated— 보간 추정 -self-reported— 개발자가 직접 보고한 데이터 - 조작 방지 메커니즘: 신뢰할 수 없는 가짜 업로드 데이터를 거부하여, 소형 개조 모델이 대형 모델 점수를 빌리는 것을 방지합니다
실측: 다양한 하드웨어의最佳 선택
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을 살 수 있습니다:
# 현재 하드웨어 시뮬레이션
whichllm --gpu "RTX 3060"
# 업그레이드 옵션 시뮬레이션
whichllm upgrade "RTX 3060" "RTX 5070" "RTX 4090"
출력 결과를 비교하여, 각 카드가 어떤 모델을 돌릴 수 있고 속도는怎样的인지 확인한 후 합리적으로 결정하세요.
시나리오 2: 프로젝트 모델 선택 조언
팀이 로컬 RAG 시스템을 개발하려고 합니다. 추론 모델을 선택해야 합니다:
# CI 서버 구성으로 테스트
whichllm --gpu "RTX 4090" --profile code --json | jq
JSON 출력을 의사결정 문서에 바로 통합하세요.
시나리오 3: 엣지 디바이스 배포
# CPU only 모드
whichllm --cpu-only --top 10
IoT나 임베디드场景에 적합한 CPU 추론용 소형 모델을 찾으세요.
자주 묻는 질문
Q: WhichLLM이 모델을 로컬에 다운로드하나요?
A: 기본적으로 whichllm은 HuggingFace API와 로컬 캐시 데이터만 조회합니다. 모델을 다운로드하지 않습니다. whichllm run 명령어만 모델을 다운로드합니다.
Q: 모델 데이터는 어떻게 업데이트하나요?
whichllm --refresh
캐시를 강제 새로고침하여 HuggingFace의最新 모델을 가져옵니다.
Q: 네트워크 환경이 없으면怎么办?
A: WhichLLM은 캐시 메커니즘을 내장하고 있습니다. 오프라인 상태에서는 미리 캐시된 스냅샷 데이터를 사용합니다.
Q: AMD 그래픽카드를 지원하나요?
A: 네, WhichLLM은 NVIDIA, AMD, Apple Silicon 및 순수 CPU 모드를 지원합니다.
요약
WhichLLM은 로컬 LLM 개발자가 직면한 핵심 문제를 해결합니다: 방대한 모델 중에서 자신의 하드웨어에 가장 적합한 모델을 찾는 것. 주요 하이라이트는 다음과 같습니다:
- 증거 기반 스마트 순위 — 단순 파라미터 크기排序가 아니라, 실제 벤치마크 데이터와 시기성을 종합
- GPU 시뮬레이션 기능 — 하드웨어 구매 전 성능 테스트 가능, 충동 소비 방지
- 원클릭 통합 — 추천, 채팅, 코드 생성까지 하나의 도구로 모두 해결
- 스크립트화 가능 — JSON 출력으로 자동화 워크플로우에 쉽게 통합
로컬 LLM에 막 입문한 개발자이든, 프로덕션 환경을 구축 중인 팀이든, WhichLLM은 수시간의 시행착오 시간을 절약해 줄 것입니다.
프로젝트 정보:
- GitHub: github.com/Andyyyy64/whichllm
- 라이선스: MIT
- 설치: pip install whichllm 또는 brew install andyyyy64/whichllm/whichllm