whichllm은 로컬 머신의 GPU, CPU, RAM을 감지한 뒤 Hugging Face 모델 중 실제로 실행 가능하고 성능이 좋은 후보를 랭킹하는 CLI다. 단순히 “VRAM에 들어가는 가장 큰 모델”을 고르지 않고, 벤치마크 품질·최신성·양자화 포맷·예상 속도를 함께 고려한다. GitHub 기준 ★893, MIT 라이선스다.
왜 필요한가
로컬 LLM 선택에서 가장 흔한 실수는 파라미터 수만 보는 것이다. 32B 모델이 VRAM에 들어가더라도 더 최신 27B 모델이 품질과 속도에서 나을 수 있다. MoE 모델은 총 파라미터와 활성 파라미터가 달라 속도 예측도 다르게 해야 한다.
whichllm은 이 판단을 자동화한다.
핵심 기능
| 기능 | 설명 |
|---|---|
| 하드웨어 자동 감지 | NVIDIA, AMD, Apple Silicon, CPU-only 환경을 감지한다 |
| 벤치마크 기반 랭킹 | LiveBench, Aider, Chatbot Arena, Open LLM Leaderboard 등 평가 신호를 병합한다 |
| 최신성 반영 | 오래된 모델 계열 점수를 할인해 낡은 리더보드 착시를 줄인다 |
| VRAM 추정 | weights, GQA KV cache, activation, overhead를 함께 추산한다 |
| 실행·스니펫 | whichllm run, whichllm snippet으로 바로 실행하거나 Python 코드를 출력한다 |
| 계획 모드 | 특정 모델을 돌리려면 어떤 GPU가 필요한지 역산한다 |
사용 예
uvx whichllm
whichllm --gpu "RTX 4090"
whichllm --profile coding --top 5
whichllm run
whichllm plan "llama 3 70b"JSON 출력도 지원하므로 Ollama나 자체 런처와 연결하기 쉽다.
whichllm --top 1 --json | jq -r '.models[0].model_id'어떤 사람에게 좋은가
- 로컬 LLM을 처음 설치하는 개발자
- RTX 4090, Apple Silicon, CPU-only 등 다양한 하드웨어에서 모델 후보를 빠르게 비교하려는 사용자
- Ollama·llama.cpp·Transformers 실행 스크립트를 자동화하려는 팀
- GPU 업그레이드 전에 실제 모델 적합성을 시뮬레이션하려는 사용자
관련 문서
- local-slm — 로컬 소형 언어 모델 개요
- llmfit — 내 PC 사양에 맞는 로컬 LLM 추천 도구
- llama-cpp — GGUF 기반 로컬 추론 런타임
- local-slm-tips-m4-24gb — Apple Silicon 로컬 LLM 운용 팁
참고 자료
- Andyyyy64/whichllm — GitHub 공식 저장소