-
수백 개의 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 사용
-
적합도 분석: 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일간 캐싱
프로젝트 구조 및 배포
- 주요 모듈: hardware.rs(하드웨어 감지), models.rs(모델 DB), fit.rs(점수 계산), providers.rs(런타임 통합), tui_app.rs(UI 상태 관리)
-
Cargo.toml에 메타데이터 포함, cargo publish로 crates.io 배포 가능
- MIT 라이선스 기반 오픈소스
대안 도구
-
llm-checker(Node.js 기반): Ollama를 통해 실제 모델을 실행·벤치마크하는 방식
- MoE 구조는 지원하지 않으며, 모든 모델을 밀집형으로 처리
플랫폼 지원
-
Linux/macOS(Apple Silicon): 완전 지원
-
Windows: RAM·CPU 감지 및 NVIDIA GPU(nvidia-smi) 지원
-
GPU 감지 실패 시 --memory=<SIZE> 옵션으로 VRAM 수동 지정 가능