# llmfit - 내 하드웨어에 맞는 LLM 모델을 찾아 자동 최적화하는 터미널 도구

> Clean Markdown view of GeekNews topic #27143. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=27143](https://news.hada.io/topic?id=27143)
- GeekNews Markdown: [https://news.hada.io/topic/27143.md](https://news.hada.io/topic/27143.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2026-03-03T07:33:48+09:00
- Updated: 2026-03-03T07:33:48+09:00
- Original source: [github.com/AlexsJones](https://github.com/AlexsJones/llmfit)
- Points: 28
- Comments: 1

## Summary

**llmfit**은 로컬 하드웨어에 맞는 **LLM 모델을 자동으로 탐색·평가**해주는 터미널 도구입니다. 시스템의 RAM·CPU·GPU 정보를 감지해 수백 개 모델 중 실제 실행 가능한 후보를 점수화하고, **TUI와 CLI 인터페이스**를 통해 품질·속도·적합도를 한눈에 비교할 수 있습니다. Ollama·llama.cpp·MLX 등 주요 로컬 런타임과 통합되어, 개발자가 자신의 환경에서 최적의 모델 조합을 손쉽게 찾을 수 있도록 돕습니다.

## Topic Body

- **수백 개의 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 라이선스

## Comments



### Comment 52201

- Author: neo
- Created: 2026-03-03T07:33:48+09:00
- Points: 1

###### [Hacker News 의견들](https://news.ycombinator.com/item?id=47211830) 
- 이 프로젝트는 꽤 멋지고 유용해 보이지만, **웹사이트 형태**였으면 좋겠음  
  실행 파일을 돌리는 건 부담스러움. 이런 기능은 웹에서도 충분히 구현 가능하다고 생각함  
  - 이 도구는 **하드웨어 감지**에 의존하기 때문에 웹에서는 한계가 있음  
    [GitHub 설명](https://github.com/AlexsJones/llmfit?tab=readme-ov-file#how-it-works)에 따르면, RAM 용량, GPU 개수, 백엔드 종류(CUDA, Metal 등)를 시스템 수준에서 읽어야 함  
    브라우저의 **sandbox 제약** 때문에 자바스크립트로는 이런 정보를 직접 접근할 수 없음  
    웹 버전으로 만들려면 사용자가 macOS의 `.spx`나 Linux의 `inxi` 리포트를 업로드하거나, 직접 하드웨어 구성을 선택하는 방식이 필요함  
    이런 접근은 덜 편리하지만, 가상의 하드웨어 조합을 테스트할 수 있는 장점이 있음  
  - Hugging Face에서도 비슷한 기능을 제공하지만, **하드웨어 정보를 수동 입력**해야 함  
    사실 로컬 모델을 돌리는 사람이 자기 하드웨어를 모르는 경우가 많지는 않다고 생각함  
  - 최근에 [whatmodelscanirun.com](https://whatmodelscanirun.com)이라는 사이트를 봤는데, 참고할 만함  
  - Hugging Face에도 이미 내장된 기능이 있음  
  - 커뮤니티 기반의 LLM 모델 DB 사이트 [inferbench.com](https://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 사용량이 기하급수적으로 늘어남  
  - 이 공식을 몰랐는데, 공유해줘서 고마움  

- 시각적으로는 멋지지만, 내 머신에서 Qwen 3.5가 잘 돌아가는데 도구는 불가능하다고 나옴  
  결국 이런 도구는 **대략적인 참고용**으로만 쓸 수 있을 듯함  
  Unsloth 같은 커스텀 튜닝을 적용하면 실제로는 더 많은 모델을 돌릴 수 있음  
  모델이 너무 빠르게 쏟아져서 유지보수도 쉽지 않을 것 같음  
  - 아마도 **디스크와 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나 Codex에게 Ollama로 여러 모델을 순차적으로 돌려보게 하고, **성능을 자동 평가**하게 함  
  30분 정도면 내 시스템에 맞는 모델을 찾을 수 있음  
  - 그 프롬프트를 공유해줄 수 있는지 궁금함
