Ollama frente a LM Studio, llama.cpp y MLX-LM en macOS
Traducción automática
Este artículo se tradujo automáticamente a partir de la versión original en inglés.
Usa Ollama para un servicio local de modelos o LM Studio para seleccionar modelos y disponer de una interfaz de escritorio. Usa llama.cpp para controlar directamente el runtime. Usa MLX-LM para generación en Python o fine-tuning en Apple Silicon. Tanto Ollama como LM Studio ofrecen APIs y funcionamiento sin interfaz gráfica. Elige según cómo cargues los modelos, los llames y examines su rendimiento.
Para una aplicación que necesite un endpoint local, prueba primero Ollama o LM Studio. Pasa a llama.cpp o MLX-LM cuando el servicio existente no ofrezca los controles que requiere tu tarea.
Registra el modelo, el runtime, los ajustes de generación y la configuración de red para poder repetir la configuración.
Tabla de recomendaciones
| Herramienta | Función principal | Úsala cuando | Principal contrapartida |
|---|---|---|---|
| Ollama | Servicio local gestionado y ciclo de vida de modelos | Quieres rápidamente un endpoint pequeño y fácil de automatizar | Menor control de bajo nivel que llama.cpp. |
| LM Studio | Descubrimiento de modelos, SDKs, demonio y flujos de trabajo con servidores locales | Quieres un único entorno de desarrollo con y sin interfaz gráfica | Su abstracción sigue ocultando algunos detalles del runtime. |
| llama.cpp | Inferencia con GGUF, cuantización, opciones del servidor y control de Metal | Necesitas controlar el contexto, el lote, la cuantización y el comportamiento del runtime | Requiere más configuración y más opciones. |
| MLX-LM | Generación y fine-tuning nativos de Apple Silicon | Quieres experimentar a nivel de Python en Macs con chips de la serie M | Ecosistema de serving más pequeño que el de Ollama o llama.cpp. |
¿Cuál deberías instalar primero?
Empieza con Ollama si quieres gestionar un modelo mediante un servicio local al que pueda llamar tu aplicación. Prueba la API con los prompts y formatos de respuesta que necesita tu aplicación.
Instala primero LM Studio si quieres seleccionar y comparar modelos en una aplicación de escritorio. Sus herramientas de desarrollo incluyen SDKs de Python y TypeScript, APIs locales, structured output y un daemon sin interfaz gráfica. Comprueba la compatibilidad con tool use del modelo elegido.
Instala primero llama.cpp si necesitas ajustar directamente la longitud de contexto, el tamaño del lote, la cuantización o las opciones de Metal. Su CLI y su servidor ofrecen esos controles sin un servicio independiente de gestión de modelos.
Usa MLX-LM cuando hagas algo más que servir un modelo de chat. Encaja con experimentos de modelos nativos de Apple Silicon, conversión, fine-tuning y flujos de trabajo en Python en los que la memoria unificada forma parte del diseño.
Matriz de flujos de trabajo
| Flujo de trabajo | Opción predeterminada | Motivo |
|---|---|---|
| API local para una aplicación | Ollama | Ergonomía estable para desarrolladores y amplia compatibilidad de integración. |
| Comparación manual de modelos | LM Studio | La GUI agiliza la comparación de prompts y modelos. |
| Depuración del rendimiento | llama.cpp | Puedes ver y controlar los parámetros del runtime. |
| Serving de modelos GGUF cuantizados | llama.cpp u Ollama | Usa llama.cpp para tener control y Ollama por comodidad. |
| Experimentos con modelos en Apple Silicon | MLX-LM | Herramientas de modelos nativas para Macs con chips de la serie M. |
| Demo para personal no técnico | LM Studio | Es fácil de mostrar y ajustar de forma interactiva. |
| Configuración de ingeniería reproducible | CLI/API de cualquiera de las herramientas, con modelos fijados | Registra el modelo, el runtime y los ajustes de generación para que un script pueda repetir la ejecución. |
Notas sobre el hardware
La memoria unificada disponible limita el modelo, el contexto y el número de peticiones que puede ejecutar un Mac con Apple Silicon. Un modelo que cabe en un MacBook Pro de 64 GB puede resultar inutilizable en un MacBook Air de 8 GB. La cuantización reduce la memoria de los pesos, mientras que los prompts más largos aumentan la memoria de la caché de atención. Haz benchmarks con la longitud real del prompt y las peticiones simultáneas.
Prueba un modelo más pequeño que quepa sin recurrir demasiado a la memoria de intercambio antes de probar uno mayor que agote la memoria. Para programación, comprueba la gestión del contexto y la integración con herramientas en tareas reales. Para preguntas sobre documentos, comprueba si la recuperación proporciona las evidencias necesarias antes de cambiar de modelo.
Mantén la inferencia en local
Elige explícitamente el modelo local y el backend. Una API en localhost aún puede reenviar una petición a un modelo en la nube o a una integración externa. Las FAQ de Ollama documentan el modo solo local (OLLAMA_NO_CLOUD=1) y su vinculación predeterminada a la interfaz de bucle local. Mantén el servidor accesible únicamente desde tu máquina, salvo que asegures deliberadamente el acceso para otros clientes.
LM Studio puede ejecutar offline los modelos descargados; descubrir y descargar modelos requiere acceso a la red. Comprueba las funciones en la nube, los plugins, la telemetría y la aplicación que realiza las llamadas, además del servidor de modelos. Descargar un modelo y enviar un prompt privado son operaciones de red diferentes.
Qué no debes hacer
Empieza con Ollama o LM Studio y prueba si la inferencia local satisface la tarea. Usa llama.cpp o MLX-LM cuando necesites controles que el servicio no ofrezca. Ejecuta benchmarks más amplios cuando el rendimiento afecte a los requisitos del producto.
No compares modelos únicamente en una interfaz de chat si la carga real consiste en extracción estructurada, edición de código o síntesis de respuestas con RAG. Escribe un pequeño script de evaluación con prompts representativos.
Lecturas adicionales
- LLMs locales en macOS cubre la configuración práctica.
- Variantes de LLMs de pesos abiertos explica GGUF, GPTQ, AWQ, modelos base y modelos instruct.
- Configuración de un MacBook para ingeniería de AI cubre una configuración más amplia de la estación de trabajo.