AlexsJones/llmfit
요약
llmfit은 사용자의 하드웨어 사양(RAM, CPU, GPU)에 최적화된 LLM 모델을 찾아주는 터미널 기반 도구입니다. 모델의 품질, 속도, 적합성 등을 점수화하여 제공하며, 커뮤니티 리더보드를 통해 실제 사용자들의 성능 데이터를 비교할 수 있습니다.
핵심 포인트
- 하드웨어 사양에 맞는 최적의 모델 추천 기능
- TUI 및 CLI 모드 지원 및 멀티 GPU/MoE 지원
- 커뮤니티 리더보드를 통한 실제 성능 데이터 확인 가능
- Ollama, llama.cpp, MLX 등 다양한 런타임 지원
English ·
中文
새로운 기능: 커뮤니티 리더보드(Community Leaderboard)— 실제 사용자들의 실질적인 성능 데이터를 확인하세요. b를 누르면 본인의 GPU뿐만 아니라 모든 GPU에 대해 측정된 tok/s, TTFT, VRAM을 볼 수 있습니다. 27개 이상의 하드웨어 프리셋(RTX 5090부터 Apple M1까지) 중에서 선택할 수 있으며, H를 눌러 구매하거나 구축하기 전에 실제 수치를 비교해 보세요.
수백 개의 모델과 제공자. 단 하나의 명령어로 당신의 하드웨어에서 실행 가능한 모델을 찾으세요.
LLM 모델을 시스템의 RAM, CPU, GPU에 맞춰 적절한 크기로 조정해 주는 터미널 도구입니다. 하드웨어를 감지하고, 품질(Quality), 속도(Speed), 적합성(Fit), 컨텍스트(Context) 차원에서 각 모델의 점수를 매겨, 당신의 기기에서 실제로 잘 작동할 모델이 무엇인지 알려줍니다.
대화형 TUI(기본값)와 클래식 CLI 모드를 함께 제공합니다. 멀티 GPU 설정, MoE 아키텍처, 동적 양자화(Dynamic Quantization) 선택, 속도 추정 및 로컬 런타임 제공자(Ollama, llama.cpp, MLX, Docker Model Runner, LM Studio)를 지원합니다.
새로운 기능: 커뮤니티 리더보드 ( b) — 당신과 동일한 하드웨어를 사용하는 다른 사용자들의 실제 tok/s, TTFT 및 VRAM 사용량을 확인하세요. localmaxxing.com을 기반으로 하며, 이는 추정 성능과 실제 성능 사이의 간극을 메워줍니다.
기타 기능: 다운로드 매니저 (D), 고급 설정 (A), 그리고 하드웨어 시뮬레이션 — D를 눌러 다운로드를 관리하고, 기록을 확인하며, 모델을 삭제하고, 다운로드 디렉토리를 설정하세요. A를 눌러 TPS 효율성, 실행 모드 요인(Run mode factors), 점수 가중치(Scoring weights)를 조정하세요. S를 눌러 다양한 하드웨어를 시뮬레이션하세요.
자매 프로젝트:
- sympozium — Kubernetes에서 에이전트(Agents) 관리.
- llmserve — 로컬 LLM 모델 서빙을 위한 간단한 TUI. 모델을 선택하고, 백엔드를 선택하여 서빙하세요.
- llama-panel — 로컬 llama-server 인스턴스 관리를 위한 네이티브 macOS 앱.
scoop install llmfit
Scoop이 설치되어 있지 않다면, Scoop 설치 가이드를 따르세요.
사전 빌드된 바이너리 (권장 사항, 모든 macOS/Linux 버전에서 작동):
brew install AlexsJones/llmfit/llmfit
또는 homebrew-core formula를 통해 설치할 수 있으며, 병(Bottle)이 없는 macOS 버전에서는 소스에서 빌드됩니다:
brew install llmfit
port install llmfit
curl -fsSL https://llmfit.axjns.dev/install.sh | sh
GitHub에서 최신 릴리스 바이너리 (release binary)를 다운로드하여 /usr/local/bin에 설치합니다 (sudo 권한이 없는 경우 ~/.local/bin에 설치).
sudo 없이 ~/.local/bin에 설치하기:
curl -fsSL https://llmfit.axjns.dev/install.sh | sh -s -- --local
llmfit을 설치하거나 업데이트하려면:
uv tool install -U llmfit
설치 없이 실행하려면:
uvx llmfit
또한 pip나 uv와 같은 도구를 사용하여 일반적인 방식으로 Python 패키지로 llmfit을 설치할 수 있습니다.
docker run ghcr.io/alexsjones/llmfit
이 명령은 llmfit recommend 명령의 JSON 출력을 출력합니다. 이 JSON은 jq를 사용하여 추가로 쿼리할 수 있습니다.
podman run ghcr.io/alexsjones/llmfit recommend --use-case coding | jq '.models[].name'
git clone https://github.com/AlexsJones/llmfit.git
cd llmfit
cargo build --release
...
llmfit
대화형 터미널 UI (interactive terminal UI)를 실행합니다. 시스템 사양 (CPU, RAM, GPU 이름, VRAM, 백엔드 (backend))이 상단에 표시됩니다. 모델들은 종합 점수 (composite score) 순으로 정렬된 스크롤 가능한 테이블에 나열됩니다. 각 행에는 모델의 점수, 예상 토큰/초 (tok/s), 사용자의 하드웨어에 최적화된 양자화 (quantization), 실행 모드, 메모리 사용량 및 사용 사례 (use-case) 카테고리가 표시됩니다.
| 키 (Key) | 동작 (Action) |
|---|---|
Up / Down 또는 j / k | 모델 탐색 |
/ | 검색 모드 진입 (이름, 제공자, 파라미터, 사용 사례(use case)에 대한 부분 일치 검색) |
Esc 또는 Enter | 검색 모드 종료 |
Ctrl-U | 검색어 초기화 |
f | 적합도(fit) 필터 순환: 전체(All), 실행 가능(Runnable), 완벽(Perfect), 좋음(Good), 미미함(Marginal) |
a | 가용성(availability) 필터 순환: 전체(All), GGUF 가용(GGUF Avail), 설치됨(Installed) |
s | 정렬 기준 열 순환: 점수(Score), 파라미터(Params), 메모리 사용률(Mem%), 컨텍스트(Ctx), 날짜(Date), 사용 사례(Use Case) |
v | 시각적 모드(Visual mode) 진입 (여러 모델 선택) |
V | 선택 모드(Select mode) 진입 (열 기반 필터링) |
t | 색상 테마 순환 (자동 저장됨) |
p | 선택한 모델에 대한 계획(Plan) 모드 열기 (하드웨어 계획) |
P | 제공자(provider) 필터 팝업 열기 (입력 시 퍼지 필터링(fuzzy-filter) 적용) |
U | 사용 사례(use-case) 필터 팝업 열기 |
C | 기능(capability) 필터 팝업 열기 |
L | 라이선스(license) 필터 팝업 열기 |
R | 런타임/백엔드(runtime/backend) 필터 팝업 열기 (llama.cpp, MLX, vLLM) |
S | 하드웨어 시뮬레이션(hardware simulation) 팝업 열기 (RAM/VRAM/CPU 재설정) |
A | 고급 설정(advanced configuration) 팝업 열기 (효율성 튜닝, 실행 모드 요소 조정) |
b | 커뮤니티 리더보드(community leaderboard) 보기 열기 (localmaxxing.com) |
I | 추론 벤치마크(inference bench) 보기 열기 (사용자의 모델 대비 로컬 품질 점수 측정) |
h | 도움말(help) 팝업 열기 (모든 키 바인딩) |
m | 비교를 위해 선택한 모델 표시(Mark) |
c | 비교 보기(compare view) 열기 (표시된 모델 vs 선택된 모델) |
x | 비교 표시 해제 |
i | 설치 우선 정렬 토글 (감지된 모든 런타임 제공자 기준) |
d | 선택한 모델 다운로드 (여러 개가 사용 가능한 경우 제공자 선택창 표시) |
D | 다운로드 관리자(Download Manager) 열기 (기록, 삭제, 설정) |
r | 런타임 제공자로부터 설치된 모델 새로고침 |
Enter | 선택한 모델의 상세 보기 토글 |
PgUp / PgDn | 10개씩 스크롤 |
g / G | 맨 위로 / 맨 아래로 이동 |
q | 종료 |
TUI는 왼쪽 하단 상태 표시줄에 표시되는 Vim 스타일의 모드를 사용합니다. 현재 모드에 따라 활성화되는 키가 결정됩니다.
기본 모드입니다. 탐색, 검색, 필터링 및 보기 열기가 가능합니다. 위의 표에 있는 모든 키가 여기서 적용됩니다.
일괄 비교를 위해 연속된 범위의 모델을 선택합니다. v를 누르세요.
현재 행에 고정(anchor)한 다음, j / k 또는 화살표 키를 사용하여 선택 범위를 확장합니다. 선택된 행은 강조 표시됩니다.
| 키 | 동작 |
|---|---|
j / k 또는 화살표 | 선택 범위를 위/아래로 확장 |
c | 선택된 모든 모델 비교 (다중 비교 뷰 오픈) |
m | 두 모델 비교를 위해 현재 모델 표시 |
Esc 또는 v | 비주얼 모드 (Visual mode) 종료 |
다중 비교 뷰 (multi-compare view)는 행이 속성(Score, tok/s, Fit, Mem%, Params, Mode, Context, Quant 등)이고 열이 모델인 표를 표시합니다. 최적의 값은 강조 표시됩니다. 화면에 표시되는 것보다 더 많은 모델이 선택된 경우, h / l 또는 화살표 키를 사용하여 가로로 스크롤하십시오.
열 기반 동작 (Column-based actions). V (shift-v)를 눌러 선택 모드 (Select mode)에 진입한 다음, h / l 또는 화살표 키를 사용하여 열 헤더 사이를 이동합니다. 활성화된 열은 시각적으로 강조 표시됩니다. Enter 또는 Space를 눌러 해당 열의 현재 동작을 실행합니다.
| 열 | 필터 동작 |
|---|---|
| Inst | 가용성 필터 순환 |
| ... |
선택 모드에서도 행 탐색이 여전히 작동하므로 동작을 적용하면서 그 효과를 확인할 수 있습니다: j / k, 화살표 키, Ctrl-U, Ctrl-D, PageUp, PageDown, Home
하드웨어 시뮬레이션 팝업을 엽니다. RAM, VRAM, CPU 코어 수를 재정의하여 서로 다른 대상 하드웨어에 어떤 모델이 적합할지 확인할 수 있습니다. 모든 모델 점수, 적합 수준(fit levels), 속도 추정치는 시뮬레이션된 사양에 맞춰 즉시 재계산됩니다.
| 키 | 동작 |
|---|---|
Tab / j / k | RAM, VRAM, CPU 필드 간 전환 |
| 숫자 입력 | 선택된 필드 편집 |
Enter | 시뮬레이션 적용 |
Ctrl-R | 실제 감지된 하드웨어로 초기화 |
Esc | 취소 및 닫기 |
시뮬레이션이 활성화되면 시스템 바와 상태 바에 SIM 배지가 나타납니다. 전체 모델 테이블은 초기화할 때까지 시뮬레이션된 하드웨어를 반영합니다.
A를 눌러 고급 설정 (Advanced Configuration) 팝업을 엽니다. 이 패널을 통해 TPS (Tokens Per Second) 추정, 실행 모드 페널티(run mode penalties), 복합 점수(composite scoring) 뒤에 숨겨진 파라미터들을 조정할 수 있습니다. 이는 특정 모델(예: Qwen3 30B)에서 tok/s가 과대평가되었던 이슈 #449를 해결하기 위한 것입니다.
모든 변경 사항은 즉시 적용되며 모델 테이블이 재계산됩니다. Esc를 눌러 수락하거나 Ctrl-R을 눌러 기본값으로 초기화하여 닫으세요.
| 필드 | 설명 | 기본값 |
|---|---|---|
| Efficiency (효율성) | 대역폭 기반 TPS를 위한 전역 효율성 계수. 오버헤드(overhead)를 고려함 | 0.55 |
| GPU factor (GPU 계수) | 순수 GPU 추론(inference)을 위한 속도 승수 | 1.0 |
| CPU Offload (CPU 오프로드) | 가중치(weights)가 시스템 RAM으로 넘쳐날 때의 속도 승수 | 0.5 |
| MoE Offload (MoE 오프로드) | Mixture-of-Experts 전문가 전환(expert switching)을 위한 속도 승수 | 0.8 |
| Tensor Par (텐서 병렬) | 텐서 병렬(tensor-parallel) 추론을 위한 속도 승수 | 0.9 |
| CPU Only (CPU 전용) | CPU 전용 실행을 위한 속도 승수 | 0.3 |
| Context cap (컨텍스트 제한) | 메모리 추정에 사용되는 최대 컨텍스트 길이 (기본값을 사용하려면 비워둠) | auto |
| 키 | 동작 |
|---|---|
Tab / j / k | 필드 간 전환 |
숫자 입력 / . | 선택된 필드 편집 |
Left / Right | 필드 내 커서 이동 |
Backspace / Delete | 문자 삭제 |
Ctrl-U | 현재 필드 지우기 |
Enter | 변경 사항 적용 및 모든 점수 재계산 |
Esc / q | 적용하지 않고 닫기 |
D를 누르면
Download Manager(다운로드 관리자) 뷰를 엽니다. 이 전체 화면 뷰는 메인 모델 테이블을 대체하며 세 가지 섹션을 제공합니다:
Active Download(활성 다운로드)— 진행률 표시줄, 모델 이름 및 상태 메시지와 함께 현재 진행 중인 다운로드를 보여줍니다.
Config(설정)— GGUF 모델 디렉토리를 표시하고(편집 가능) 설정합니다. 설정된 경로는 세션 간에 유지됩니다.
History(기록)— 모델 이름, 제공자(provider), 상태 및 날짜와 함께 과거 다운로드 목록을 탐색할 수 있습니다(최신순). 실패한 다운로드는 기록에서 제거할 수 있으며, 성공한 다운로드는 제공자로부터 삭제할 수 있습니다.
Tab / Shift-Tab을 사용하여 섹션 간 포커스를 이동할 수 있습니다.
| 키 | 동작 |
|---|---|
Tab / Shift-Tab | 포커스 순환: Active → Config → History |
j / k 또는 화살표 | 기록 목록 탐색 (History에 포커스가 있을 때) |
x | 선택한 모델 삭제 (확인 프롬프트 표시) |
y / n | 삭제 확인 또는 취소 |
e | 다운로드 디렉토리 편집 (Config에 포커스가 있을 때) |
Enter | 디렉토리 편집 확인 |
Esc / D / q | 닫고 모델 테이블로 돌아가기 |
실패한 다운로드(예: 404 오류)의 경우, x를 누르면 기록에서 해당 항목이 제거됩니다. 성공한 다운로드의 경우, 제공자로부터 모델을 삭제합니다 (Ollama 및 llama.cpp 지원).
b를 누르면 Community Leaderboard(커뮤니티 리더보드) 뷰를 엽니다. llmfit의 이론적인 속도 추정치에만 의존하는 대신, 이 뷰는 동일한 하드웨어를 사용하는 다른 사용자들의 실제 성능 데이터(real-world performance data) — 실제 측정된 tok/s, 첫 번째 토큰 생성 시간(time-to-first-token), 그리고 최대 VRAM 사용량 — 를 보여줍니다.
데이터는 커뮤니티 벤치마크 데이터베이스인 localmaxxing.com에서 가져옵니다. 뷰를 열면 llmfit이 사용자의 하드웨어(GPU 모델, VRAM 계층, Apple Silicon 칩 제품군, OS)를 자동으로 감지하고 일치하는 결과를 조회합니다.
| 컬럼 | 설명 |
|---|---|
| Model | HuggingFace 모델 ID |
| Engine | 사용된 추론 런타임 (llama.cpp, vLLM, Ollama, MLX...) |
| Quant | 양자화 (Quantization) 형식 (Q4_K_M, Q8_0 등) |
| tok/s | 측정된 출력 토큰 생성 속도 |
| Total t/s | 전체 처리량 (프롬프트 + 생성) |
| TTFT | 첫 번째 토큰까지의 시간 (Time to First Token, 지연 시간) |
| VRAM | 추론 중 피크 메모리 사용량 |
| Ctx | 벤치마크에 사용된 컨텍스트 길이 (Context length) |
| User | 제출자 (*로 표시된 인증된 사용자) |
| 키 | 동작 |
|---|---|
j / k 또는 화살표 | 결과 탐색 |
H | 하드웨어 선택기 열기 (모든 GPU 탐색 가능) |
r | 새로고침 / API로부터 다시 가져오기 |
b / q / Esc | 닫기 및 모델 테이블로 돌아가기 |
H를 눌러
하드웨어 선택기를 여세요 — 27개의 인기 있는 GPU 및 칩(RTX 5090부터 CPU 전용, 그리고 Apple Silicon M1–M4 변체, AMD RX/MI 시리즈, NVIDIA 데이터센터 카드 포함)이 포함된 스크롤 가능한 목록입니다. 현재 사용 중인 하드웨어가 아니더라도, 하나를 선택하면 해당 하드웨어에 대한 벤치마크를 즉시 불러옵니다. 자신의 시스템으로 돌아가려면 "My Hardware (auto-detect)"를 선택하세요.
공개 벤치마크는 인증 없이 작동합니다. 전체 기능에 접근하려면 localmaxxing.com API 키를 제공하세요:
# 환경 변수를 통해 설정 (권장)
export LOCALMAXXING_API_KEY="bhk_your_key_here"
llmfit
...
| 변수 | 설명 |
|---|---|
LOCALMAXXING_API_KEY | localmaxxing.com API를 위한 Bearer 토큰 |
I (대문자)를 눌러
추론 벤치마크 (Inference Bench) 뷰를 여세요. 이 기능은 사용자의 로컬에서 실행 중인 프로바이더(Providers) — Ollama, vLLM, MLX — 를 대상으로 실시간 추론 벤치마크를 실행하여, 실제 추론 요청을 통해 첫 번째 토큰까지의 시간 (TTFT), 초당 토큰 수 (TPS), 그리고 전체 지연 시간 (Latency)을 측정합니다.
커뮤니티 리더보드(Community Leaderboard, 다른 사용자의 크라우드 소싱 데이터를 보여줌)와 달리, Inference Bench는 사용자의 실제 모델로 실제 하드웨어 성능을 측정합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Trending Rust (weekly)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기