llmfit - 내 하드웨어에 맞는 LLM 모델을 찾아 자동 최적화하는 터미널 도구
(github.com/AlexsJones)- 수백 개의 LLM 모델과 제공자를 대상으로, 내 시스템 RAM·CPU·GPU에서 실제로 실행 가능한 모델을 한 번의 명령으로 찾아주는 도구
- 각 모델을 품질·속도·적합도·컨텍스트 기준으로 점수화해 실행 가능 여부를 표시하여, TUI(터미널 UI) 와 CLI 모드를 모두 지원
- 다중 GPU·MoE 구조·동적 양자화·속도 추정·로컬 런타임(Ollama, llama.cpp, MLX)과 통합
- 모델별로 실행 모드(GPU, CPU+GPU, CPU) 와 적합 수준(Perfect, Good, Marginal, Too Tight) 을 분석해 최적 조합을 제시
- 로컬 환경에서 LLM을 효율적으로 활용하려는 개발자에게 하드웨어 기반 모델 선택 자동화를 제공
주요 기능 개요
-
llmfit은 터미널 기반 도구로, 시스템의 하드웨어 사양을 감지해 LLM 모델이 실제로 실행 가능한지 평가
- RAM, CPU, GPU 정보를 읽어 모델별로 품질·속도·적합도·컨텍스트 점수를 계산
- 결과는 인터랙티브 TUI 또는 전통적인 CLI 형태로 표시
- 다중 GPU, Mixture-of-Experts(MoE), 동적 양자화 선택, 속도 추정, 로컬 런타임 통합 기능 지원
- 로컬 런타임으로 Ollama, llama.cpp, MLX를 지원하며, 설치된 모델 자동 감지 및 다운로드 가능
- Plan 모드를 통해 특정 모델에 필요한 최소·권장 하드웨어를 역으로 계산 가능
- macOS, Linux, Windows, Ascend 등 다양한 플랫폼에서 동작
설치 및 실행
- macOS/Linux에서는
brew install llmfit또는curl -fsSL https://llmfit.axjns.dev/install.sh | sh명령으로 설치 - Windows는
cargo install llmfit을 통해 설치 가능 - 실행 시
llmfit명령으로 TUI가 열리며, 시스템 사양과 모델 목록이 표시 - CLI 모드에서는
llmfit --cli,llmfit fit --perfect -n 5,llmfit recommend --json등 다양한 하위 명령 제공
작동 방식
-
하드웨어 감지:
sysinfo,nvidia-smi,rocm-smi,system_profiler등을 이용해 RAM·CPU·GPU 정보 수집 -
모델 데이터베이스: HuggingFace API에서 수백 개 모델을 가져와
data/hf_models.json에 저장- Meta Llama, Mistral, Qwen, Google Gemma, Microsoft Phi, DeepSeek, IBM Granite 등 주요 모델 포함
- 동적 양자화: Q8_0~Q2_K 계층을 순회하며, 사용 가능한 메모리 내에서 최고 품질 양자화를 자동 선택
-
속도 추정: GPU 메모리 대역폭 기반 계산식
(bandwidth_GB_s / model_size_GB) × 0.55사용- 약 80종 GPU에 대한 대역폭 테이블 내장
- 적합도 분석: GPU·CPU+GPU·CPU 모드별로 실행 가능 여부와 메모리 여유도 평가
사용자 인터페이스
-
TUI 조작키:
-
f로 적합도 필터,a로 가용성 필터,s로 정렬 기준 변경 -
p로 Plan 모드 진입,d로 모델 다운로드,t로 테마 변경
-
- Plan 모드에서는 컨텍스트 길이, 양자화, 목표 토큰 속도 등을 수정하며 필요한 VRAM/RAM/CPU를 계산
- 테마: Default, Dracula, Solarized, Nord, Monokai, Gruvbox 등 6가지 내장 색상 테마 제공
런타임 및 통합 기능
-
Ollama 통합: 로컬 또는 원격 Ollama 인스턴스(
OLLAMA_HOST환경 변수)와 연결해 설치 모델 감지 및 다운로드 - llama.cpp 통합: HuggingFace GGUF 파일을 로컬 캐시에 다운로드하고 설치 여부 표시
- MLX 통합: Apple Silicon용 모델 캐시 및 서버 연동 지원
-
OpenClaw 연동:
llmfit-advisor스킬을 통해 OpenClaw 에이전트가 하드웨어에 맞는 모델을 자동 추천 및 설정
모델 데이터베이스 관리
-
scripts/scrape_hf_models.py스크립트로 HuggingFace API에서 모델 목록 자동 생성 -
make update-models명령으로 데이터 갱신 및 바이너리 재빌드 - 모델은 일반, 코딩, 추론, 멀티모달, 채팅, 임베딩 등 카테고리로 분류
- GGUF 소스 캐시(
data/gguf_sources_cache.json)를 통해 다운로드 경로를 7일간 캐싱
플랫폼 지원
- Linux/macOS(Apple Silicon): 완전 지원
-
Windows: RAM·CPU 감지 및 NVIDIA GPU(
nvidia-smi) 지원 -
GPU 감지 실패 시
--memory=옵션으로 VRAM 수동 지정 가능
라이선스
- MIT 라이선스
Hacker News 의견들
-
이 프로젝트는 꽤 멋지고 유용해 보이지만, 웹사이트 형태였으면 좋겠음
실행 파일을 돌리는 건 부담스러움. 이런 기능은 웹에서도 충분히 구현 가능하다고 생각함- 이 도구는 하드웨어 감지에 의존하기 때문에 웹에서는 한계가 있음
GitHub 설명에 따르면, RAM 용량, GPU 개수, 백엔드 종류(CUDA, Metal 등)를 시스템 수준에서 읽어야 함
브라우저의 sandbox 제약 때문에 자바스크립트로는 이런 정보를 직접 접근할 수 없음
웹 버전으로 만들려면 사용자가 macOS의.spx나 Linux의inxi리포트를 업로드하거나, 직접 하드웨어 구성을 선택하는 방식이 필요함
이런 접근은 덜 편리하지만, 가상의 하드웨어 조합을 테스트할 수 있는 장점이 있음 - Hugging Face에서도 비슷한 기능을 제공하지만, 하드웨어 정보를 수동 입력해야 함
사실 로컬 모델을 돌리는 사람이 자기 하드웨어를 모르는 경우가 많지는 않다고 생각함 - 최근에 whatmodelscanirun.com이라는 사이트를 봤는데, 참고할 만함
- Hugging Face에도 이미 내장된 기능이 있음
- 커뮤니티 기반의 LLM 모델 DB 사이트 inferbench.com도 있음. 토큰 속도나 설정 정보를 공유함
- 이 도구는 하드웨어 감지에 의존하기 때문에 웹에서는 한계가 있음
-
이 프로젝트는 정말 훌륭함
사실 필요한 건 LLM 크기와 메모리 대역폭뿐임
간단한 계산식으로 모델이 맞는지 판단할 수 있음
예를 들어, 32B 모델을 4bit로 돌리려면 최소 16GB VRAM이 필요함
tok/s = memory_bandwidth / llm_size로 계산하면 RTX3090(960GB/s)은 약 60 tok/s 정도 나옴
MoE 모델은 활성 파라미터 수가 속도를 결정함
여기에 10% 정도 여유를 두면 현실적인 추정이 됨-
KV 캐시는 토큰당 쓰기 횟수가 적어서 스왑이 용이함
mmap으로 모델 파라미터를 로드하면 RAM이 충분할 때 성능 저하 없이 확장 가능함 - 좋은 경험칙임. 다만 대부분의 경우 컨텍스트 윈도우 크기가 커질수록 RAM 사용량이 기하급수적으로 늘어남
- 이 공식을 몰랐는데, 공유해줘서 고마움
-
KV 캐시는 토큰당 쓰기 횟수가 적어서 스왑이 용이함
-
시각적으로는 멋지지만, 내 머신에서 Qwen 3.5가 잘 돌아가는데 도구는 불가능하다고 나옴
결국 이런 도구는 대략적인 참고용으로만 쓸 수 있을 듯함
Unsloth 같은 커스텀 튜닝을 적용하면 실제로는 더 많은 모델을 돌릴 수 있음
모델이 너무 빠르게 쏟아져서 유지보수도 쉽지 않을 것 같음- 아마도 디스크와 RAM 간의 스왑이 일어나고 있을 가능성이 있음
이런 방식은 장기적으로 디스크 수명을 단축시킬 수 있음
- 아마도 디스크와 RAM 간의 스왑이 일어나고 있을 가능성이 있음
-
아이디어는 좋지만, 추천 모델이 좀 구식임
내 M4 MacBook Pro(128GB RAM)에 Qwen 2.5나 Starcoder 2를 추천함 -
여러 사람이 말했듯, 이건 CLI 도구보다는 웹사이트로 구현하는 게 더 나음
CPU, RAM, GPU 스펙을 폼에 입력하면 충분히 계산 가능함 -
왜 굳이 다운로드해서 실행해야 하는지 모르겠음
그냥 드롭다운으로 사양 입력해서 결과를 보면 좋겠음 -
대부분의 경우를 잘 커버하지만, AMD iGPU처럼 ROCm이 지원되지 않는 경우는 Vulkan 기반으로 돌릴 수 있음
드라이버 설정으로 시스템 RAM을 VRAM처럼 활용하면, 원래는 불가능한 모델도 로드 가능함
특히 레이어 오프로드나 양자화된 MoE 모델에서 유용함 -
Claude도 시스템 스펙을 입력하면 꽤 괜찮은 모델 추천을 해줌
- 나도 Claude에 “이 컴퓨터에서 돌릴 수 있는 최고의 로컬 LLM은?”이라고 물어봤는데, 이미 설치된 모델과 하나 더 추천해줌
최신 정보인지는 확실치 않음. Ollama와 LM Studio를 기준으로 테스트했음
- 나도 Claude에 “이 컴퓨터에서 돌릴 수 있는 최고의 로컬 LLM은?”이라고 물어봤는데, 이미 설치된 모델과 하나 더 추천해줌
-
나는 Claude나 Codex에게 Ollama로 여러 모델을 순차적으로 돌려보게 하고, 성능을 자동 평가하게 함
30분 정도면 내 시스템에 맞는 모델을 찾을 수 있음- 그 프롬프트를 공유해줄 수 있는지 궁금함