llmfit vs whichllm 비교(설치 및 사용법) : 로컬 LLM 모델 추천 도구, 내 하드웨어에 맞는 AI 모델 찾기
- -
안녕하세요. 갓대희 입니다.

이번 포스팅은 [ 내 컴퓨터에 맞는 로컬 LLM을 골라주는 도구, llmfit vs whichllm 비교 ] 입니다. : )
로컬 LLM(Local LLM : 인터넷 서버가 아닌 내 컴퓨터에서 직접 실행하는 AI 언어 모델)을 처음 써보면 누구나 같은 벽에 부딪힌다. "그래서 어떤 모델을 내려받아야 하지?"
HuggingFace에 올라온 수만 개 모델 가운데 내 컴퓨터에서 실제로 잘 돌아가는 것을 한 번에 찾기는 쉽지 않다.

흔히 파라미터 수(parameter : 모델이 학습한 가중치 개수로, 70억 개면 7B, 140억 개면 14B처럼 표기한다)가 클수록 좋다고들 한다. 하지만 RAM이 부족한 컴퓨터에서 큰 모델을 돌리면 로딩조차 안 되거나, 답답할 만큼 느리다.

먼저 결론부터 말하면 좋은 모델보다 내 하드웨어에 맞는 모델을 골라야 한다.
whichllm 공식 저장소도 "파라미터 수가 아닌, 실제·최신성 인식 벤치마크 기준으로 순위를 매긴다"고 못 박아 둔다.
이 글은 그 "골라주는 일"을 대신 해주는 두 도구 llmfit과 whichllm을 설치부터 기본 사용법까지 나란히 놓고 비교한다. 나도 이번에 정리하며 다시 짚어 본 입장이라, 어려운 말은 최대한 풀어 쓰고 화면에 실제로 뭐가 찍히는지를 하나씩 같이 확인해 본다.
특히 이번에는 Apple M1 Pro 16GB와 M2 Max 32GB 두 대에서 직접 돌려, 메모리가 넉넉해지면 추천이 어떻게 달라지는지까지 실측으로 담았다.
※ llmfit 버전은 여러 PC에서 테스트하다 보니 1.1.2~1.1.3을 오간다. 결과 해석에는 영향이 없으니 참고만 하자.
이 글의 핵심 6가지
- llmfit: Rust로 만든 TUI(텍스트 기반 대화형 화면) + CLI 도구. 내장 카탈로그 5,000개 이상의 모델을 4차원으로 채점해 추천한다.
- whichllm: Python CLI 도구. HuggingFace 실시간 데이터와 커뮤니티 벤치마크를 합산해 추천한다.
- Apple M1 Pro 16GB와 M2 Max 32GB 두 대에서 직접 실행한 실측 출력값을 코드블록으로 담았다.
- 메모리가 16GB→32GB로 넉넉해지자, 두 도구 모두 더 높은 정밀도의 양자화를 추천했다. (llmfit: 4bit→8bit, whichllm: Q3→Q5)
- 선택 가이드: MLX(Apple Silicon 전용) 우선이면 llmfit, 최신 GGUF 모델 + GPU 시뮬레이션이 필요하면 whichllm.
- 설치 오류·빈 출력 등 초보자 빈출 문제를 FAQ로 정리했다.
목차
- 로컬 LLM — 파라미터 수만으로 고르면 실패하는 이유
- llmfit — 설치와 기본 사용법
- whichllm — 설치와 기본 사용법
- 두 도구 비교 — 기능표 · 추천 결과 · M1 vs M2
- 선택 가이드
- 제한사항 및 주의사항
- 트러블슈팅 / FAQ
- 결론 + 참고자료
용어부터 가볍게 짚고 가자
- 로컬 LLM: 인터넷 서버가 아닌 내 컴퓨터에서 직접 실행하는 AI 언어 모델
- TUI: 텍스트 기반 화면 인터페이스 — 터미널 안에서 방향키·Enter로 조작하는 대화형 화면
- CLI: 커맨드 라인 인터페이스 — 터미널에 명령어를 입력해서 쓰는 도구 (마우스 없이 키보드만)
- GGUF: 모델 파일 형식 — 가중치·설정을 단일 파일에 담아 Mac·Linux·Windows 모두에서 동작
- MLX: Apple이 만든 머신러닝 프레임워크 — Apple Silicon(M1/M2/M3) 전용, Mac 이외에서는 실행 불가
- Metal: Apple Silicon의 GPU 연산 프레임워크 — MLX가 이 위에서 동작
- tok/s: 초당 토큰 처리 속도 — 숫자가 클수록 응답이 빠르게 나온다
- 양자화(Quantization): 모델 가중치를 낮은 정밀도로 압축해 크기와 메모리를 줄이는 기법 (예: 4비트, 8비트)
- cargo: Rust의 패키지 관리자 겸 빌드 도구 — Python의 pip와 같은 역할
- HuggingFace: AI 모델과 데이터셋을 공유하는 대표적인 오픈소스 플랫폼
1. 로컬 LLM — 파라미터 수만으로 고르면 실패하는 이유
로컬 LLM은 ChatGPT처럼 서버에 요청을 보내지 않고 내 컴퓨터에서 모델 파일을 직접 실행한다.
인터넷이 끊겨도 쓸 수 있고 데이터도 외부로 나가지 않는다.
대신 내 컴퓨터의 RAM과 GPU 메모리가 모델을 감당할 수 있어야 한다.
가장 흔한 실수는 "파라미터 수가 크면 좋겠지"라는 생각으로 70B 모델을 내려받는 데서 시작한다.
4비트 양자화된 70B 모델은 약 40GB 이상의 메모리가 필요하므로, RAM 16GB 컴퓨터에서는 로딩조차 되지 않는다. 반대로 너무 작은 모델을 고르면 응답 품질이 낮아진다.

llmfit과 whichllm은 바로 이 지점을 해결하기 위한 도구다.
내 컴퓨터의 실제 하드웨어 스펙을 읽어 "지금 이 환경에서 잘 돌아가는 모델"을 추천해준다.
두 도구의 공통 목표
llmfit과 whichllm 모두 "내 하드웨어에 맞는 모델"을 찾아주는 도구다. 설치 방식·인터페이스·추천 기준이 다를 뿐, 해결하려는 문제는 같다. 처음에는 둘 중 하나만 써봐도 충분하다.
2. llmfit — 설치와 기본 사용법
llmfit이란
llmfit은 Rust로 만들어진 터미널 도구다.

시스템의 RAM, CPU, GPU를 감지하고 내장 카탈로그의 모델을 4가지 차원(메모리 적합도(memory fit), 추정 속도(estimated speed), 품질(quality), 컨텍스트 길이(context))에서 채점해, 실제로 잘 실행될 모델을 알려준다. (출처: llmfit README)
llmfit 채점 4차원
- Memory fit: 내 RAM/VRAM에 모델이 들어가는지 여부
- Estimated speed: 예상 처리 속도 (tok/s — 초당 토큰 수)
- Quality: 모델의 추론 품질 점수
- Context: 한 번에 처리할 수 있는 최대 입력 길이 (토큰 수)
이 4차원 점수를 합산해 0~100 범위의 최종 점수를 낸다.
설치 방법
llmfit v1.1.2의 설치 방법은 네 가지다.
# 방법 1: Homebrew로 설치 (macOS 권장 — PATH 자동 설정)
brew tap AlexsJones/llmfit && brew install llmfit
# 방법 2: pip으로 설치 (Python 환경이 이미 있다면)
pip install llmfit
# 방법 3: cargo로 설치 (Rust 개발자라면)
cargo install llmfit
# 방법 4: 설치 스크립트 — Rust·Python 없이 바이너리만 내려받기
curl -fsSL https://llmfit.axjns.dev/install.sh | sh
macOS에서 처음 설치한다면 방법 1(Homebrew)이 가장 간단하다.
PATH를 별도로 설정할 필요가 없어 설치 직후 바로 llmfit 명령을 쓸 수 있다.
Rust를 이미 쓰고 있다면 cargo install llmfit이 편리하고,
Python 환경에서 통합 관리하고 싶다면 pip install llmfit도 동작한다.
ex) brew tap AlexsJones/llmfit && brew install llmfit


Windows 사용자 주의
llmfit v1.1.2에는 Windows 환경에서 TUI 화면이 깨지는 버그가 보고돼 있다 (GitHub Issue #732, 2026-07-10 신규 보고). Windows에서 쓸 예정이라면 최신 이슈 목록을 먼저 확인해두는 것이 좋다. (출처: llmfit GitHub Issues, 2026-07-13 기준)
설치 후 버전을 확인해 제대로 설치됐는지 점검한다.
llmfit --version
# 출력 예: llmfit 1.1.3
ex) llmfit --version

기본 실행 — TUI 모드
설치 후 터미널에 llmfit 또는 llmfit fit을 입력하면 TUI(텍스트 기반 대화형 화면) 모드가 열린다.
방향키로 모델 목록을 탐색하고 Enter로 선택할 수 있다.
GUI처럼 마우스로 클릭하는 방식이 아니라 터미널 안에서 키보드만으로 조작하는 인터페이스다.
Apple M1 Pro 16GB macOS 환경에서 llmfit fit을 실행하면 다음과 같이 나온다.
# llmfit fit 실행 결과 (Apple M1 Pro 16GB, v1.1.2 실측)
# Metal 백엔드가 자동 감지됐다
# 551개 모델은 백엔드 불일치로 숨겨지고, 4820개가 표시된다
Status | Model | Size | Score | tok/s est. | Quant | Runtime | Mode | Mem%
🟢 Perfect | DeepSeek-R1-Distill-Qwen-14B (MLX-4bit) | 14.8B | 89 | 14.9 | mlx-4bit | MLX | GPU | 63.3%
🟢 Perfect | DeepSeek-R1-Distill-Qwen-14B (deepseek-ai) | 14.8B | 89 | 14.9 | mlx-4bit | MLX | GPU | 63.3%
...
Status 열의 🟢 Perfect는 이 모델이 현재 하드웨어에 가장 잘 맞는다는 표시다.
Score 89는 4차원 합산 점수이며, tok/s est. 14.9는 초당 14.9개 토큰 처리를 예상한다.
Mem% 63.3%는 전체 RAM 가운데 63.3%를 쓴다는 수치다.
M1 Pro 16GB에서는 MLX 4비트 양자화 기반 14B 모델이 상위에 올라온다.
llmfit은 Apple Silicon 환경을 감지하면 MLX 런타임을 우선으로 추천하기 때문이다.
같은 명령을 M2 Max 32GB에서 돌리면 상위 목록이 이렇게 바뀐다.
# llmfit fit 실행 결과 (Apple M2 Max 32GB, v1.1.3 실측)
# Metal 백엔드 자동 감지 · 551개 모델은 백엔드 불일치로 숨김, 4821개 표시
Status | Model | Size | Score | tok/s est. | Quant | Runtime | Mode | Mem%
🟢 Perfect | DeepSeek-R1-0528-Qwen3-8B | 8.2B | 95 | 26.9 | mlx-8bit | MLX | GPU | 30.7%
🟢 Perfect | DeepSeek-R1-0528-Qwen3-8B (unsloth)| 8.4B | 95 | 26.3 | mlx-8bit | MLX | GPU | 31.3%
🟢 Perfect | DeepSeek-R1-Distill-Qwen-7B | 7.6B | 94 | 28.9 | mlx-8bit | MLX | GPU | 26.7%
...
M1 16GB에서는 14B 모델을 4비트로 눌러 담아 89점이 1위였는데, M2 32GB에서는 8B 모델을 8비트로 여유 있게 올린 쪽이 95점으로 앞선다. 메모리가 늘자 "크게 눌러 담기"보다 "정밀하게 올리기"가 더 높은 점수를 받은 셈이다. 사용률도 63.3%→30.7%로 뚝 떨어진다.
ex) M2 Max 32GB — 화면 캡쳐


CLI 모드 — doctor, recommend --json, info
TUI가 아닌 명령어 한 줄(CLI) 방식도 지원한다.
주요 명령 세 가지를 소개한다.
llmfit doctor — 현재 시스템 정보를 텍스트로 출력해 llmfit이 내 환경을 어떻게 인식하는지 확인한다.
llmfit doctor
ex)


# Apple M1 Pro 16GB에서의 실측 출력 (v1.1.2)
llmfit version: 1.1.2
OS: macos (aarch64) # macOS, ARM 아키텍처
CPU: Apple M1 Pro
Total RAM: 16.0 GB
GPU: Apple M1 Pro (unified memory, 16.0 GB, Metal backend)
# unified memory = CPU와 GPU가 메모리를 공유 (Apple Silicon 특성)
# Metal backend = Apple의 GPU 연산 프레임워크 사용
cluster_mode: false
이 명령으로 llmfit이 하드웨어를 올바르게 읽었는지 확인해두면 이후 추천 결과를 해석하기가 한결 쉽다.
GPU 항목에 "Metal backend"가 보이면 MLX 가속이 정상 동작한다는 신호다.
llmfit recommend --json — 상위 추천 모델을 JSON(제이슨) 형식으로 출력한다.
JSON은 키:값 쌍으로 구성된 텍스트 데이터 형식으로, 자동화 스크립트나 다른 프로그램에 결과를 넘길 때 편리하다.
llmfit recommend --json
ex) m1 pro 16GB
{
"name": "DeepSeek-R1-Distill-Qwen-14B",
"best_quant": "mlx-4bit", // 이 하드웨어에서 최적인 양자화 방식
"category": "Reasoning", // 모델 카테고리 (추론 특화)
"context_length": 131072, // 최대 컨텍스트 길이 (토큰 수)
"effective_context_length": 8192, // 실제 유효 컨텍스트 길이
"estimated_tps": 14.9, // 추정 처리 속도 (tok/s)
"fit_level": "Perfect", // 적합도 레벨
"memory_required_gb": 10.12, // 필요한 RAM (GB)
"score": 89, // 최종 합산 점수 (0~100)
"backend": "Metal (MLX)", // 사용 백엔드
"disk_size_gb": 8.12 // 필요한 디스크 용량 (GB)
}
best_quant: "mlx-4bit"는 이 하드웨어에서 MLX 4비트 양자화를 최적으로 꼽았다는 표시다.
memory_required_gb: 10.12이므로 16GB RAM의 약 63%를 사용한다. 디스크에는 약 8.12GB가 필요하다.
llmfit info [모델명] — 특정 모델의 점수가 어떻게 계산됐는지 상세 근거를 보여준다. 속도 추정은 "런타임 샘플링과 실제 커뮤니티 측정값에 기반한 메모리 대역폭 모델"을 쓰며, 각 수치의 가정과 검증 방법도 확인할 수 있다. 추천 결과가 나온 이유를 살펴볼 때 유용한 명령이다.
ex) M2 Max 32GB — llmfit info 실측 출력은 필드가 30개가 넘어 처음엔 눈이 어지럽다. 초보자가 실제로 봐야 할 값만 추리면 아래 정도다. (전체 원본은 화면 캡처를 참고하자.)
# M2 Max 32GB 실측 (llmfit 1.1.3) — 원본 JSON에서 중요한 값만 발췌
name : deepseek-ai/DeepSeek-R1-0528-Qwen3-8B # 추천된 모델
best_quant : mlx-8bit # ← 이 하드웨어에 최적인 양자화 (M1에선 mlx-4bit였다)
score : 95.3 # 최종 점수 (0~100)
fit : 100 # 메모리 적합도
speed : 100 # 속도 점수
quality : 91.4 # 품질 점수
context : 100 # 컨텍스트 점수
estimated_tps : 26.9 # 추정 처리 속도 (초당 토큰 수)
memory_required : 9.82 GB / 32 GB # 32GB 중 9.82GB만 사용 → 사용률 30.7%
runtime : MLX (GPU) # Apple Silicon GPU(Metal) 위에서 실행
딱 한 줄만 본다면 — best_quant
M1 16GB에서는 4비트(mlx-4bit) 양자화를, M2 32GB에서는 8비트(mlx-8bit)를 골랐다. 메모리에 여유가 생기면 더 정밀한(=품질이 조금 더 높은) 양자화를 쓸 수 있기 때문이다. 두 컴퓨터의 추천이 얼마나 달라지는지는 4장 비교에서 이어서 본다.
llmfit의 추가 기능
llmfit bench --share: 내 기기에서 실측한 벤치마크 결과를 커뮤니티 PR로 기여하는 기능 (v1.1.2에서 OAuth 로그인 지원 추가, 2026-07-10 릴리스)- 자매 프로젝트: llmserve(모델 서빙 TUI), llama-panel(macOS 네이티브 앱), sympozium(에이전트 관리)
모델 추천 후 실제 서빙까지 이어서 하고 싶다면 llmserve와 연동하면 된다.
3. whichllm — 설치와 기본 사용법
whichllm이란
whichllm은 Python으로 만든 CLI 도구다.

GPU, CPU, RAM을 자동으로 감지한 다음 HuggingFace의 실시간 모델 목록과 여러 커뮤니티 벤치마크 데이터(LiveBench, Chatbot Arena, Aider, Artificial Analysis Index, Open LLM Leaderboard 등)를 합산해 상위 모델을 추천한다.
llmfit과 달리 내장 카탈로그가 아닌 HuggingFace 실시간 데이터를 쓰기 때문에, 방금 공개된 최신 모델도 추천 목록에 반영될 수 있다.
설치 방법
whichllm은 pip 한 줄로 설치한다. Python 3.11 이상이 필요하다.
# 표준 설치 (Python 3.11 이상 필요)
pip install whichllm
# 설치 없이 바로 실행 (uvx가 있다면)
uvx whichllm@latest
# Homebrew 설치 (macOS)
brew install andyyyy64/whichllm/whichllm
# uv tool 설치
uv tool install whichllm
Python이 이미 있다면 pip install whichllm이 가장 빠르다.
Python을 설치하기 싫거나 한 번만 써보고 싶다면 uvx whichllm@latest로 설치 없이 실행할 수 있다.
Python 버전 확인
whichllm은 Python 3.11 이상을 요구한다. 설치 전에 python3 --version으로 버전을 먼저 확인한다. Python이 없거나 버전이 낮다면 python.org에서 최신 버전을 내려받아 설치한다.
설치 후 버전을 확인한다.
whichllm --version
# 출력 예: whichllm 0.5.15
ex)

기본 실행
whichllm을 실행하면 먼저 하드웨어를 감지하고 추천 목록을 출력한다.

① 하드웨어 감지 출력:
# whichllm 0.5.15 하드웨어 감지 결과 (Apple M1 Pro 16GB 실측)
Hardware Info:
GPU 0: Apple M1 Pro — 16.0 GB shared (budget 15.2 GB) — BW: 200 GB/s
# shared = CPU와 GPU가 메모리를 공유 (Apple Silicon 특성)
# budget 15.2 GB = 실제 사용 가능한 GPU 메모리 예산
# BW = 메모리 대역폭 200 GB/s (초당 데이터 전송 속도)
CPU: Apple M1 Pro — 10 cores
RAM: 16.0 GB
Disk free: 56.0 GB
OS: darwin
같은 명령을 M2 Max 32GB에서 돌린 하드웨어 감지 결과다.
# whichllm 0.5.15 하드웨어 감지 결과 (Apple M2 Max 32GB 실측)
Hardware Info:
GPU 0: Apple M2 Max — 32.0 GB shared (budget 30.4 GB) — BW: 400 GB/s
# budget 30.4 GB = 실제 사용 가능한 GPU 메모리 예산 (M1은 15.2 GB였다)
# BW 400 GB/s = 메모리 대역폭 (M1의 200 GB/s 대비 2배)
CPU: Apple M2 Max — 12 cores
RAM: 32.0 GB
Disk free: 517.8 GB
OS: darwin
ex) M2 Max 32GB — 실제 화면

② 추천 목록 출력:
# 상위 추천 결과 (2026-07-13 실측)
# Top pick confidence: Low ← 신뢰도가 낮다는 경고. 결과를 맹신하지 말 것.
# Model Quant Fit/VRAM Speed Published Score
1 Qwen/Qwen3.6-27B Q3_K_M Full GPU 6.7 tok/s ~ 2026-04-21 80.2
14.7 GB (27.8B)
2 google/gemma-4-26B-A4B-it Q3_K_M Full GPU 49.3 tok/s ? 2026-03-11 79.9
1위 추천 모델은 Qwen/Qwen3.6-27B로, GGUF Q3_K_M 양자화, GPU VRAM 14.7GB 필요, 추정 처리 속도 6.7 tok/s, 점수 80.2다. tok/s 뒤 ~ 기호는 추정값을, ?는 불확실한 추정임을 나타낸다.
M2 Max 32GB에서 같은 명령을 돌리면 추천 모델은 그대로인데 양자화가 Q3→Q5로 올라가고, 신뢰도가 Low→High로 바뀐다.
# 상위 추천 결과 (Apple M2 Max 32GB, whichllm 0.5.15 실측)
# Top pick confidence: High (direct benchmark, gap +3.7) ← M1에선 Low였다
# Model Quant Fit/VRAM Speed Published Score
1 Qwen/Qwen3.6-27B Q5_K_M Full GPU 8.9 tok/s ~ 2026-04-21 88.9
21.2 GB (27.8B)
2 google/gemma-4-31B-it Q4_K_M Full GPU 9.8 tok/s ~ 2026-03-11 85.2
21.0 GB (32.7B)
3 google/gemma-4-26B-A4B-it Q8_0 Full GPU 36.6 tok/s ? 2026-03-11 84.8
27.7 GB (26.5B)
같은 Qwen3.6-27B이지만 M1에선 Q3_K_M(14.7GB), M2에선 Q5_K_M(21.2GB)을 골랐다. VRAM 여유가 늘자 더 정밀한 양자화를 얹은 것이다. 벤치마크 데이터도 충분해져 신뢰도가 High로 올라간 점도 눈에 띈다.
ex) M2 Max 32GB — 실제 화면

Top pick confidence: Low 표시에 대해
whichllm이 "Top pick confidence: Low"를 출력했다면 이 하드웨어의 벤치마크 데이터가 충분하지 않아 추천 결과를 보장하기 어렵다는 경고다. 참고 자료로 삼되, 최종 선택 전에는 직접 실행해 확인하는 것이 좋다.
추가 명령 — plan, --gpu, upgrade, run, snippet
whichllm에는 기본 추천 외에도 쓸 만한 명령이 여럿 있다.

whichllm plan "모델명" — 특정 모델을 실행하려면 어떤 GPU가 필요한지 알려준다. GPU 구매를 고민할 때 미리 확인하기 좋다.
# llama 3 70b 모델을 실행하려면 어떤 GPU가 필요한지 조회
whichllm plan "llama 3 70b"
# 실측 출력 핵심 결과
★ Minimum GPU for full offload: L40S (48 GB) at Q4_K_M
# → Q4_K_M 양자화 기준으로 모델 전체를 GPU에 올리려면 최소 48GB VRAM이 필요하다
# → L40S는 서버용 고성능 GPU. 일반 MacBook 16GB로는 이 모델의 전체 GPU 실행이 어렵다
ex) 불필요한 내용도 많지만 전문

# 구매 전 특정 GPU로 시뮬레이션 (예: RTX 4090 환경에서 어떤 모델이 추천되나)
whichllm --gpu "RTX 4090"
# 현재 GPU와 업그레이드 후보 GPU 비교
whichllm upgrade "M1 Pro" "M3 Max"
# 추천 모델을 바로 내려받아 채팅 인터페이스 실행
whichllm run "Qwen3.6-27B"
# 특정 모델을 Python 코드로 실행하는 예시 스니펫 생성
whichllm snippet "Qwen3.6-27B"
whichllm --gpu "RTX 4090"은 GPU를 실제로 갖고 있지 않아도 해당 환경에서의 추천 결과를 미리 볼 수 있다.
whichllm run은 모델을 내려받아 바로 채팅까지 이어진다.
whichllm snippet은 Python 코드에서 모델을 쓰는 예시를 생성해준다.
whichllm의 캐시 전략
whichllm은 네트워크 요청을 최소화하기 위해 결과를 캐시(cache — 자주 쓰는 데이터를 미리 저장해두는 영역)한다.
- 모델 목록 캐시: 6시간 유효
- 벤치마크 데이터 캐시: 24시간 유효
- 저장 위치:
~/.cache/whichllm/
결과가 최신 모델을 반영하지 않는다면 ~/.cache/whichllm/ 디렉토리를 삭제하고 재실행한다.
4. 두 도구 비교 — 기능표 · 추천 결과 · M1 vs M2
기능 비교표
두 도구를 주요 축에서 나란히 비교한다.

| 비교 항목 | llmfit | whichllm |
|---|---|---|
| 구현 언어 | Rust | Python |
| 인터페이스 | TUI(기본) + CLI | CLI |
| 설치 | brew / pip / cargo / curl 스크립트 | pip install |
| Python 필요 여부 | 없어도 됨 (바이너리 설치 가능) | 필요 (3.11 이상) |
| 모델 데이터베이스 | 내장 카탈로그 (5,000개 이상) | HuggingFace 실시간 |
| 벤치마크 소스 | 내부 측정 + 커뮤니티 | LiveBench · Arena ELO · AA Index 등 |
| 점수 체계 | 4차원 합산 (0~100) | 벤치마크 가중 합산 (0~100) |
| Apple Silicon 지원 | MLX 우선 | GGUF/Q 기반 |
| 오프라인 사용 | 가능 (모델 다운로드·리더보드 조회 시에만 외부 연결) | 캐시 TTL 내 가능 |
| 라이선스 | MIT | MIT |
| GitHub 스타 | 약 29.3k+ | 약 5.7k+ |
비교표만 보면 llmfit이 더 다양한 설치 방법과 MLX 지원에서 앞서 보이지만, whichllm은 HuggingFace 실시간 연동과 GPU 시뮬레이션(--gpu) 기능에서 차별화된다.
어느 쪽이 절대적으로 우월하다기보다, 자신의 상황에 맞는 쪽을 고르는 것이 중요하다.
같은 M1 Pro, 다른 추천 결과 — MLX vs GGUF
M1 Pro 16GB에서 두 도구를 직접 실행해보면, 같은 하드웨어임에도 추천 결과가 달리 나온다.
| llmfit (v1.1.2) | whichllm (v0.5.15) | |
|---|---|---|
| 1위 추천 모델 | DeepSeek-R1-Distill-Qwen-14B | Qwen/Qwen3.6-27B |
| 양자화 방식 | MLX-4bit | Q3_K_M (GGUF) |
| 합산 점수 | 89 | 80.2 |
| 추정 처리 속도 | 14.9 tok/s | 6.7 tok/s |
| 필요 VRAM | 10.12 GB | 14.7 GB |
두 도구는 지향하는 런타임 포맷부터 다르다. llmfit은 Apple Silicon에서 MLX 포맷을 우선 추천하고, whichllm은 GGUF 포맷을 기준으로 추천한다. 같은 하드웨어에서도 각자 다른 "최선"을 내놓는 셈이다.
MLX vs GGUF — 어떻게 다른가
- MLX: Apple Silicon 전용. safetensors 파일 구조. Mac 이외에서는 실행 불가. 같은 하드웨어에서 GGUF 대비 약 15~40% 빠른 속도와 약 10% 낮은 메모리 사용을 보인다. 단, 이 이점은 32GB 이상 통합 메모리에서 두드러지고, 16GB 시스템에서는 실질 차이가 줄어든다.
- GGUF: 크로스플랫폼. 단일 파일로 Mac·Linux·Windows 모두에서 동작. Q4_K_M 양자화는 레이어 내 혼합 정밀도를 써서, 공격적 양자화 시 MLX 4비트보다 품질이 약간 더 높다.
(출처: dev.to — MLX vs GGUF on Apple Silicon, 2026-07-13)
M1 Pro 16GB처럼 통합 메모리 16GB 환경에서는 MLX와 GGUF의 속도 차이가 32GB+ 환경보다 줄어든다. 속도를 최우선으로 한다면 MLX(llmfit 추천)가 유리하고, 다른 플랫폼에서도 같은 모델을 쓰거나 품질을 조금 더 챙기고 싶다면 GGUF(whichllm 추천)가 더 안전한 선택이다.
메모리가 넉넉해지면? — M1 16GB vs M2 32GB 실측
같은 도구라도 하드웨어가 바뀌면 추천이 달라진다.
두 도구를 Apple M1 Pro 16GB와 M2 Max 32GB에서 각각 직접 돌린 1위 추천 결과를 나란히 놓았다.


llmfit 1위 추천 — M1 vs M2
| 항목 | M1 Pro 16GB (v1.1.2) | M2 Max 32GB (v1.1.3) |
|---|---|---|
| 1위 모델 | DeepSeek-R1-Distill-Qwen-14B | DeepSeek-R1-0528-Qwen3-8B |
| 양자화 | MLX-4bit | MLX-8bit |
| 합산 점수 | 89 | 95.3 |
| 추정 처리 속도 | 14.9 tok/s | 26.9 tok/s |
| 필요 메모리 | 10.12 GB | 9.82 GB |
| 메모리 사용률 | 63.3% | 30.7% |
whichllm 1위 추천 — M1 vs M2
| 항목 | M1 Pro 16GB | M2 Max 32GB |
|---|---|---|
| 1위 모델 | Qwen/Qwen3.6-27B | Qwen/Qwen3.6-27B (동일) |
| 양자화 (GGUF) | Q3_K_M | Q5_K_M |
| 필요 VRAM | 14.7 GB | 21.2 GB |
| 추정 처리 속도 | 6.7 tok/s | 8.9 tok/s |
| 점수 | 80.2 | 88.9 |
| 추천 신뢰도 | Low | High |
메모리가 늘면 무엇이 달라지나 — 세 가지
- 양자화 정밀도가 올라간다. llmfit은 4bit→8bit, whichllm은 Q3→Q5. 메모리에 여유가 생기니 더 정밀하게(=품질이 조금 더 높게) 담는다.
- 더 빠르고 여유로워진다. M2 Max는 메모리 대역폭이 200→400 GB/s로 넓어져 llmfit 추정 속도가 거의 2배(14.9→26.9 tok/s)가 되고, 메모리 사용률은 63%→31%로 절반이 된다.
- 추천이 안정된다. whichllm 신뢰도가 Low→High로 바뀐다. 벤치마크 데이터가 충분한 주류 하드웨어일수록 추천을 더 믿을 수 있다는 뜻이다.

다만 두 도구가 서로 다른 "최선"을 내놓는다는 큰 그림은 32GB에서도 그대로다. llmfit은 작고 빠른 8B를 MLX 8비트로, whichllm은 큰 27B를 GGUF로 추천한다. llmfit = Apple Silicon 최적화·속도, whichllm = 크로스플랫폼·큰 최신 모델이라는 성격 차이는 하드웨어가 좋아져도 유지된다.
수치 해석 주의 — 위 tok/s는 두 도구가 내놓는 추정값이다(실측 처리 속도가 아니다).
llmfit은 메모리 대역폭 기반 추정, whichllm은 커뮤니티 벤치마크 기반이라 서로 다른 방식으로 계산한다.
절대 수치를 맞대기보다 "같은 도구 안에서 M1→M2로 갈 때의 변화"를 보는 용도로 삼는 것이 안전하다.
5. 선택 가이드
두 도구 중 어느 것을 써야 할지 상황별로 정리한다.
| 상황 | 추천 도구 | 이유 |
|---|---|---|
| Apple Silicon Mac에서 MLX 최고 속도 원함 | llmfit | MLX 우선 지원, 더 빠른 추정 속도 |
| Python 없이 바이너리 한 줄로 설치하고 싶다 | llmfit | curl 스크립트 설치 지원 |
| TUI 대화형 탐색 인터페이스를 선호한다 | llmfit | 기본 인터페이스가 TUI |
| 자동화 파이프라인에 JSON 출력이 필요하다 | llmfit | llmfit recommend --json 지원 |
| HuggingFace 최신 모델이 즉시 반영되길 원한다 | whichllm | 실시간 HuggingFace 연동 |
| GPU 구매 전 어떤 GPU가 필요한지 확인하고 싶다 | whichllm | whichllm plan, --gpu 플래그 |
| 현재 GPU와 업그레이드 후보를 비교하고 싶다 | whichllm | whichllm upgrade 명령 |
| Python 코드에서 모델 실행 예시가 필요하다 | whichllm | whichllm snippet 명령 |
간단 요약
- Mac에서 MLX로 빠르게 돌리고 싶다 → llmfit
- 최신 HuggingFace 모델 확인 또는 GPU 구매 전 시뮬레이션 → whichllm
M1 Pro 16GB에서 두 도구를 함께 써보니 llmfit으로 MLX 모델을 먼저 확인하고 whichllm으로 GGUF 최신 모델을 이중 점검하는 방식이 가장 실용적이었다. 처음에는 하나를 골라 시작하고, 익숙해지면 두 도구를 상호 보완적으로 쓰는 것도 좋은 방법이다.
6. 제한사항 및 주의사항
두 도구 모두 유용하지만 알아두어야 할 한계가 있다.

| 제한사항 | llmfit | whichllm |
|---|---|---|
| 별도 추론 엔진 필요 | 추천만 하고 직접 실행하려면 Ollama·llama.cpp 등 별도 엔진 필요 | whichllm run으로 직접 실행 가능 |
| 메모리 추정 정확도 | 엔진 최적화·백그라운드 앱에 따라 실제 사용량과 다를 수 있음 | 커뮤니티 리더보드 기반이라 하드웨어별 실측이 아님 |
| 최신 모델 반영 | 내장 카탈로그 업데이트 주기에 의존, 틈새 모델 누락 가능 | macOS에서 AA 스크레이퍼 오작동·HF 429 에러 등 파이프라인 실패 사례 있음 |
| 플랫폼 이슈 | Windows TUI 화면 깨짐 버그 (#732, 2026-07-10) | 일부 GPU에서 추천 결과 품질 문제 보고 (#104, #76) |
| 하드웨어 한계 | RAM이 근본적으로 부족한 환경에서는 적합한 모델을 찾지 못할 수 있음 | 동일 |
(출처: llmfit 제한사항 분석, whichllm 이슈, 2026-07-13 기준)
주의: 추천 결과가 실행 보장을 의미하지는 않는다

두 도구 모두 "이 모델이 잘 실행될 것 같다"는 추정을 내놓는다.
실제 로딩·실행 성능은 백그라운드 앱, OS 메모리 압박, 추론 엔진 버전 등에 따라 달라진다.
추천 결과는 출발점으로 삼고, 최종 실행 전 llmfit doctor 또는 whichllm 하드웨어 감지 결과를 한 번 더 확인하자.
공식 가이드가 다루지 않는 부분
llmfit README와 whichllm README 모두 추천받은 모델을 실제로 내려받고 실행하는 과정까지 자세히 다루지는 않는다. 모델을 실행하려면 Ollama, llama.cpp, MLX-LM 같은 별도 추론 엔진이 필요하다. 로컬 LLM이 처음이라면 Ollama 설치·실행 가이드도 함께 참고하자.
7. 트러블슈팅 / FAQ
설치 및 실행 시 자주 마주치는 문제들
Q. llmfit 설치 후 llmfit: command not found 오류가 난다.
cargo나 pip으로 설치했을 때 PATH가 설정되지 않아서 생기는 문제다.
# cargo 설치 경로가 PATH에 있는지 확인
echo $PATH | grep -o '[^:]*\.cargo[^:]*'
# 없으면 셸 설정 파일에 추가 (zsh 기준)
echo 'export PATH="$HOME/.cargo/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
# pip 설치의 경우 Scripts 폴더 확인
pip show llmfit | grep Location
Homebrew 설치(brew install llmfit)는 PATH를 자동으로 설정하므로 이 문제가 생기지 않는다. 처음 설치라면 Homebrew를 추천하는 이유가 여기 있다.
Q. llmfit 실행 시 모델 목록이 비어 있거나 아무것도 표시되지 않는다.
백엔드 필터 때문일 가능성이 높다. llmfit doctor로 감지된 백엔드부터 확인한다.
# 시스템 감지 확인
llmfit doctor
# GPU가 None으로 나오면, 모든 백엔드 모델 표시 시도
llmfit fit --all
Q. whichllm 실행 시 "Benchmark pipeline fails" 오류가 난다.
macOS에서 Artificial Analysis 스크레이퍼 오작동이나 HuggingFace API 429 에러(요청 초과)가 발생할 수 있다.
# 캐시를 삭제하고 재시도
rm -rf ~/.cache/whichllm/
# HuggingFace 토큰 설정으로 API 한도 늘리기 (HF 계정 필요)
export HF_TOKEN=your_token_here
whichllm
Q. whichllm 설치 시 "Python 3.11 or higher required" 메시지가 나온다.
# 현재 Python 버전 확인
python3 --version
# pyenv로 원하는 버전 설치 (pyenv가 없다면 brew install pyenv 먼저)
pyenv install 3.11
pyenv global 3.11
Q. llmfit과 whichllm을 함께 써도 되나?
물론이다. llmfit의 MLX 기반 추천과 whichllm의 GGUF 기반 최신 모델 추천을 나란히 비교해보는 방식이 가장 실용적이다. 두 도구가 서로 다른 포맷과 모델을 추천하므로 상호 보완 관계로 쓸 수 있다.
Q. llmfit이 추천한 모델을 실제로 실행하려면 어떻게 하나?
llmfit은 추천 도구이고 직접 실행 기능은 없다. 추천받은 모델을 실행하려면 다음 중 하나가 필요하다.
- Ollama:
ollama pull <모델명>후ollama run <모델명> - MLX-LM:
pip install mlx-lm후 MLX 모델 직접 실행 - llama.cpp: GGUF 파일을 직접 로드
8. 결론 + 참고자료
llmfit과 whichllm은 "파라미터 수가 아닌, 내 하드웨어에 맞는 LLM을 찾아주는 것"이라는 같은 문제를 저마다 다른 방식으로 푼다.
llmfit은 Rust 기반 TUI에서 Apple Silicon MLX 추천과 직관적인 탐색을 제공하고, whichllm은 Python CLI에서 HuggingFace 실시간 연동과 GPU 시뮬레이션 기능을 제공한다.
M1 Pro 16GB에서 직접 두 도구를 실행하면 각자 다른 추천이 나온다.
어느 쪽이 더 나은 추천인가의 문제는 아니다.
두 추천이 서로 다른 런타임 철학(MLX vs GGUF)과 목적(Apple Silicon 최적화 vs 크로스플랫폼 최신 모델)을 반영한다는 점이 흥미롭다.
같은 두 도구를 M2 Max 32GB에서 돌리면, 큰 그림은 유지된 채 세부단계가 한 단계씩 올라간다.
llmfit은 8B 모델을 MLX-8bit로(점수 95.3, 26.9 tok/s, 사용률 30.7%),
whichllm은 같은 27B를 GGUF Q5_K_M로(점수 88.9, 8.9 tok/s, 신뢰도 High) 추천했다.
메모리에 여유가 생기니 두 도구 모두 더 정밀한 양자화를 택하고, 속도와 추천 신뢰도가 함께 올라간 것이다.
핵심 교훈은 그대로다 — 정답은 "가장 큰 모델"이 아니라 "지금 내 컴퓨터에 맞는 모델"이고, 그 답은 하드웨어가 바뀔 때마다 달라진다.
독자 적용 체크리스트
- [ ]
brew install llmfit && llmfit doctor로 내 시스템이 제대로 감지되는지 확인해본다 - [ ]
llmfit fit을 실행해 상위 추천 모델 목록을 확인해본다 - [ ]
pip install whichllm && whichllm으로 GGUF 기반 추천과 비교해본다 - [ ] GPU 구매를 고민한다면
whichllm plan "<원하는 모델명>"으로 필요한 GPU 스펙을 확인해본다 - [ ] 최종 선택한 모델을 Ollama나 MLX-LM으로 실제 실행해 처리 속도를 직접 측정해본다
지금 바로 시작할 수 있다. macOS에서는 brew install llmfit && llmfit fit 한 줄이면 내 컴퓨터에 맞는 모델 목록을 30초 안에 확인할 수 있다.
참고자료
- llmfit GitHub (AlexsJones/llmfit) — README, 설치 방법, 릴리스 노트
- whichllm GitHub (Andyyyy64/whichllm) — README, 설치 방법, 릴리스 노트
- llmfit v1.1.2 릴리스 노트 — 2026-07-10
- whichllm v0.5.15 릴리스 노트 — 2026-07-03
- lib.rs — llmfit Rust 패키지
- PyPI — whichllm Python 패키지
- dev.to — MLX vs GGUF on Apple Silicon
- letsdatascience.com — whichllm 소개
- coddykit.com — llmfit 제한사항
작성일: 2026-07-13 · M2 Max 32GB 실측 보강: 2026-07-20
분석 대상 버전: llmfit 1.1.2~1.1.3, whichllm 0.5.15
검증 환경: Apple M1 Pro 16GB (macOS), Apple M2 Max 32GB (macOS)
이 글의 수치는 위 두 환경의 실측 기준이며, 버전·벤치마크 데이터에 따라 이후 달라질 수 있다.
소중한 공감 감사합니다