- Herramienta que, entre cientos de modelos LLM y proveedores, encuentra con un solo comando los modelos que realmente pueden ejecutarse en la RAM, CPU y GPU de tu sistema
- Puntúa cada modelo según calidad, velocidad, ajuste y contexto, muestra si es ejecutable y ofrece compatibilidad tanto con TUI (interfaz de terminal) como con modo CLI
- Soporta múltiples GPU, arquitectura MoE, cuantización dinámica, estimación de velocidad e integración con runtimes locales (Ollama, llama.cpp, MLX)
- Analiza por modelo el modo de ejecución (GPU, CPU+GPU, CPU) y el nivel de ajuste (Perfect, Good, Marginal, Too Tight) para proponer la mejor combinación
- Ofrece a los desarrolladores que quieren aprovechar LLM de forma eficiente en entornos locales la automatización de la selección de modelos basada en hardware
Resumen de funciones principales
- llmfit es una herramienta basada en terminal que detecta las especificaciones de hardware del sistema y evalúa si un modelo LLM realmente puede ejecutarse
- Lee información de RAM, CPU y GPU para calcular por modelo puntajes de calidad, velocidad, ajuste y contexto
- Los resultados se muestran en una TUI interactiva o en una CLI tradicional
- Soporta múltiples GPU, Mixture-of-Experts (MoE), selección dinámica de cuantización, estimación de velocidad e integración con runtimes locales
- Soporta Ollama, llama.cpp y MLX como runtimes locales, con detección automática de modelos instalados y posibilidad de descarga
- Mediante el modo Plan, permite calcular en sentido inverso el hardware mínimo y recomendado necesario para un modelo específico
- Funciona en diversas plataformas como macOS, Linux, Windows y Ascend
Instalación y ejecución
- En macOS/Linux se instala con
brew install llmfit o con el comando curl -fsSL https://llmfit.axjns.dev/install.sh | sh
- En Windows se puede instalar con
cargo install llmfit
- Al ejecutar el comando
llmfit, se abre la TUI y se muestran las especificaciones del sistema y la lista de modelos
- En modo CLI ofrece varios subcomandos, como
llmfit --cli, llmfit fit --perfect -n 5 y llmfit recommend --json
Cómo funciona
- Detección de hardware: recopila información de RAM, CPU y GPU usando
sysinfo, nvidia-smi, rocm-smi, system_profiler, entre otros
- Base de datos de modelos: obtiene cientos de modelos desde la API de HuggingFace y los guarda en
data/hf_models.json
- Incluye modelos principales como Meta Llama, Mistral, Qwen, Google Gemma, Microsoft Phi, DeepSeek e IBM Granite
- Cuantización dinámica: recorre niveles de Q8_0 a Q2_K y selecciona automáticamente la cuantización de mayor calidad dentro de la memoria disponible
- Estimación de velocidad: usa la fórmula basada en el ancho de banda de memoria de la GPU
(bandwidth_GB_s / model_size_GB) × 0.55
- Incluye una tabla integrada de ancho de banda para unas 80 GPU
- Análisis de ajuste: evalúa la ejecutabilidad y el margen de memoria en modos GPU, CPU+GPU y CPU
Interfaz de usuario
- Teclas de control de la TUI:
f para el filtro de ajuste, a para el filtro de disponibilidad y s para cambiar el criterio de orden
p para entrar al modo Plan, d para descargar modelos y t para cambiar el tema
- En el modo Plan se puede modificar la longitud de contexto, la cuantización, la velocidad objetivo de tokens y más, para calcular la VRAM/RAM/CPU necesarias
- Temas: incluye 6 temas de color integrados, como Default, Dracula, Solarized, Nord, Monokai y Gruvbox
Runtime e integraciones
- Integración con Ollama: se conecta a instancias locales o remotas de Ollama (variable de entorno
OLLAMA_HOST) para detectar y descargar modelos instalados
- Integración con llama.cpp: descarga archivos GGUF de HuggingFace al caché local y muestra si están instalados
- Integración con MLX: soporta caché de modelos y conexión con servidor para Apple Silicon
- Integración con OpenClaw: mediante la skill
llmfit-advisor, el agente OpenClaw recomienda y configura automáticamente modelos adecuados para el hardware
Gestión de la base de datos de modelos
- El script
scripts/scrape_hf_models.py genera automáticamente la lista de modelos desde la API de HuggingFace
- El comando
make update-models actualiza los datos y recompila el binario
- Los modelos se clasifican en categorías como general, coding, razonamiento, multimodal, chat y embeddings
- El caché de fuentes GGUF (
data/gguf_sources_cache.json) almacena en caché las rutas de descarga durante 7 días
Compatibilidad de plataformas
- Linux/macOS (Apple Silicon): soporte completo
- Windows: soporta detección de RAM y CPU, y GPU NVIDIA (
nvidia-smi)
- Si falla la detección de GPU, se puede especificar manualmente la VRAM con la opción
--memory=
Licencia
1 comentarios
Opiniones en Hacker News
Este proyecto se ve bastante genial y útil, pero ojalá fuera en formato de sitio web
Me da cosa ejecutar un binario. Creo que esta funcionalidad se puede implementar perfectamente en la web
Según la explicación en GitHub, necesita leer a nivel de sistema la cantidad de RAM, el número de GPU y el tipo de backend (CUDA, Metal, etc.)
Por las restricciones del sandbox del navegador, JavaScript no puede acceder directamente a esa información
Para hacer una versión web, habría que pedir al usuario que suba reportes como
.spxde macOS oinxide Linux, o que seleccione manualmente su configuración de hardwareEste enfoque es menos conveniente, pero tiene la ventaja de poder probar combinaciones de hardware hipotéticas
La verdad, no creo que sea muy común que alguien que corre modelos locales no sepa qué hardware tiene
Este proyecto es realmente excelente
En realidad, lo único que hace falta es el tamaño del LLM y el ancho de banda de memoria
Con una fórmula simple se puede determinar si el modelo encaja o no
Por ejemplo, para correr un modelo de 32B en 4bit, se necesitan al menos 16GB de VRAM
Si calculas
tok/s = memory_bandwidth / llm_size, una RTX3090 (960GB/s) da alrededor de 60 tok/sEn los modelos MoE, la velocidad la determinan los parámetros activos
Si además le dejas un margen de alrededor del 10%, obtienes una estimación realista
Si cargas los parámetros del modelo con
mmap, puedes escalar sin pérdida de rendimiento mientras haya suficiente RAMVisualmente está padre, pero en mi máquina Qwen 3.5 corre bien y la herramienta dice que no es posible
Al final, parece que este tipo de herramientas solo sirve como referencia aproximada
Si aplicas ajustes personalizados como los de Unsloth, en la práctica puedes correr más modelos
Como están saliendo modelos demasiado rápido, tampoco parece fácil de mantener
Este método puede acortar la vida útil del disco a largo plazo
La idea es buena, pero los modelos recomendados están algo desactualizados
En mi M4 MacBook Pro (128GB RAM) me recomienda Qwen 2.5 o Starcoder 2
Como ya dijeron varios, esto estaría mejor hecho como sitio web que como herramienta CLI
Bastaría con ingresar CPU, RAM y especificaciones de la GPU en un formulario para hacer el cálculo
No entiendo por qué tendría que descargarlo y ejecutarlo
Estaría mejor simplemente elegir las especificaciones en un menú desplegable y ver el resultado
Cubre bastante bien la mayoría de los casos, pero en casos como los AMD iGPU donde ROCm no tiene soporte, se puede correr con base en Vulkan
Si configuras el driver para usar RAM del sistema como si fuera VRAM, puedes cargar modelos que en principio no serían posibles
Es especialmente útil con layer offloading o modelos MoE cuantizados
Claude también da recomendaciones bastante decentes de modelos si le metes las especificaciones del sistema
No estoy seguro de qué tan actualizada esté la información. Lo probé tomando como base Ollama y LM Studio
Yo hago que Claude o Codex prueben varios modelos en secuencia con Ollama y luego evalúen el rendimiento automáticamente
En unos 30 minutos puedes encontrar un modelo adecuado para tu sistema