21P by GN⁺ 1일전 | ★ favorite | 댓글 1개
  • 수백 개의 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 사용량이 기하급수적으로 늘어남
    • 이 공식을 몰랐는데, 공유해줘서 고마움
  • 시각적으로는 멋지지만, 내 머신에서 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분 정도면 내 시스템에 맞는 모델을 찾을 수 있음

    • 그 프롬프트를 공유해줄 수 있는지 궁금함