Skip to content
BotServBotServ
OllamaSolución de problemasTroubleshootingGPUOOMErroresIA local

Solución de problemas en Ollama: errores comunes

Resuelve problemas en Ollama: GPU no detectada, modelos no cargan, Out of Memory, inferencia lenta y más.

S

schutzgeist

11 min read
Solución de problemas en Ollama: errores comunes

Solución de problemas en Ollama: resuelve los errores más comunes

Qué cubre este artículo

  • Los problemas más frecuentes en Ollama y cómo resolverlos paso a paso
  • Diagnóstico de errores de GPU, memoria y conexión con comandos prácticos
  • Cómo leer y entender los logs de Ollama en Linux, Windows y macOS
  • Consejos para evitar los obstáculos típicos durante la solución de problemas
  • Respuestas a las preguntas más importantes sobre cómo solucionar problemas en Ollama

Introducción: solución de problemas en Ollama explicada de forma clara

Ollama simplifica mucho la ejecución de modelos locales. Pero cuando algo falla, muchos usuarios se encuentran con mensajes de error crípticos sin saber por dónde empezar. Este artículo te guía a través de los problemas más comunes y te muestra cómo resolverlos de manera sistemática.

No necesitas conocimientos profundos de administración de sistemas. Cada sección explica el problema, su causa y los pasos concretos para solucionarlo. Si aún no conoces Ollama, consulta primero la descripción general de Ollama.

¿Por qué necesito solucionar problemas?

Imagina que descargas un modelo con ollama run llama3 y en lugar de una respuesta recibes solo un mensaje de error. O tu GPU se ignora y la inferencia se ralentiza en la CPU. Estas situaciones son frustrantes, pero casi siempre se pueden resolver.

Escenarios típicos en los que necesitas solucionar problemas:

  • Un modelo no se carga y Ollama genera un error Out of Memory
  • La GPU no se detecta aunque los controladores estén instalados
  • La API no responde porque el puerto está bloqueado
  • Ollama no arranca después de una actualización

La buena noticia: la mayoría de los problemas se remontan a pocas causas. Con el diagnóstico correcto, pronto volverás a funcionar.

Solución de problemas en Ollama explicada brevemente

La solución de problemas en Ollama sigue un proceso simple:

  1. Identifica el síntoma: ¿Qué sucede exactamente y qué debería suceder?
  2. Revisa los logs: Ollama escribe logs detallados que te muestran la causa.
  3. Delimita la causa: ¿GPU, memoria, red o modelo?
  4. Aplica la solución: Implementa los pasos correspondientes de este artículo.
  5. Verifica el resultado: Prueba si el problema se ha resuelto.

Este proceso te ayuda con cualquier problema, no solo los descritos aquí.

Para quién está pensado este artículo

Este artículo va dirigido a usuarios principiantes y avanzados que ejecutan Ollama localmente y han encontrado problemas. Necesitas conocimientos básicos de línea de comandos, pero no experiencia en administración de sistemas. Si aún no has configurado Ollama, el artículo sobre configuración te será útil.

Términos importantes relacionados con la solución de problemas en Ollama

TérminoSignificado
LogUn archivo con mensajes del sistema que ayuda en la búsqueda de errores
OOMOut of Memory, la RAM o VRAM es insuficiente
GPUGraphics Processing Unit, acelera la inferencia
VRAMVideo RAM, la memoria de la GPU para el modelo y el contexto
CUDALa plataforma de NVIDIA para computación en GPU
ControladorSoftware que permite al sistema operativo comunicarse con la GPU
OLLAMA_DEBUGVariable de entorno para logs más detallados
JournalctlHerramienta de Linux para leer logs de servicios Systemd
Event ViewerHerramienta de Windows para ver logs del sistema y aplicaciones
CrashEl colapso repentino del programa

Problema 1: la GPU no se detecta

Ollama utiliza la GPU automáticamente cuando los controladores y el runtime están correctamente instalados. Si no es así, recurre a la CPU y la inferencia se vuelve extremadamente lenta.

Diagnóstico

Primero, verifica que tu GPU sea reconocida por el sistema:

nvidia-smi

Si este comando funciona, el sistema conoce tu GPU. Si no, falta el controlador o está defectuoso.

Luego, verifica si Ollama detecta la GPU. Inicia Ollama con logs de depuración:

OLLAMA_DEBUG=1 ollama serve

En los logs busca líneas como GPU 0 o CUDA. Si solo aparece CPU, Ollama no está utilizando la GPU.

Soluciones

  1. Actualiza el controlador: Instala el controlador NVIDIA más reciente para tu sistema operativo.
  2. Verifica CUDA: Ollama incluye su propio runtime de CUDA, pero un CUDA Toolkit instalado ayuda en el diagnóstico.
  3. Ajusta OLLAMA_GPU_OVERHEAD: Si Ollama detecta la GPU pero los modelos no se cargan, el VRAM podría ser escaso. Establece OLLAMA_GPU_OVERHEAD en un valor más alto:
export OLLAMA_GPU_OVERHEAD=2000000000

Esto reserva VRAM adicional para overhead y previene bloqueos.

  1. Reinicia Ollama: Después de actualizar controladores, debes reiniciar Ollama para que reconozca de nuevo la GPU.

Más fundamentos en el artículo CPU vs GPU.

Problema 2: el modelo no se carga o se bloquea

Un problema frecuente: intentas cargar un modelo y recibes un error OOM u Ollama se bloquea.

Causas

  • VRAM insuficiente: El modelo no cabe en la memoria de gráficos.
  • Cuantización muy alta: Un modelo con alta precisión requiere más memoria.
  • Contexto demasiado largo: Un contexto grande consume VRAM adicional.

Soluciones

  1. Elige un modelo más pequeño: Si llama3:70b no funciona, prueba con llama3:8b.
  2. Reduce la cuantización: Usa una versión más cuantizada. Más información en el artículo Cuantización.
  3. Ajusta la longitud del contexto: Reduce num_ctx en las opciones para ahorrar VRAM. Detalles en el artículo Longitud del contexto.
  4. Verifica RAM y VRAM: Compara tu memoria con los requisitos en el artículo Requisitos de RAM y VRAM.

Ejemplo de una solicitud de modelo con contexto reducido:

ollama run llama3 --num-ctx 2048

Problema 3: la inferencia es muy lenta

Si la inferencia tarda varios segundos por token, Ollama probablemente se esté ejecutando en la CPU en lugar de la GPU.

Diagnóstico

Inicia Ollama con logs de depuración y carga un modelo:

OLLAMA_DEBUG=1 ollama serve

En los logs busca library=cuda o library=cpu. Si aparece cpu, Ollama no está usando la GPU.

Soluciones

  1. Verifica GPU offloading: Ollama descarga capas del modelo a la GPU. Asegúrate de tener suficiente VRAM para todas las capas. Más información en el artículo GPU offloading.
  2. Fuerza capas de GPU: Con --num-gpu controlas cuántas capas se envían a la GPU:
ollama run llama3 --num-gpu 35
  1. Limita el ancho de banda: Si otros programas usan la GPU, ciérralos para liberar ancho de banda.
  2. Actualiza el controlador: Los controladores obsoletos ralentizan el rendimiento de la GPU.

Problema 4: la conexión a la API falla

Ollama proporciona una API en el puerto 11434. Cuando las conexiones fallan, generalmente se debe al puerto, firewall o configuración del host.

Diagnóstico

Prueba si la API responde localmente:

curl http://localhost:11434/api/version

Si obtienes una respuesta con el número de versión, la API está funcionando. Si no, Ollama no está iniciado o el puerto está bloqueado.

Soluciones

  1. Verificar el puerto: Asegúrate de que el puerto 11434 esté disponible. Puedes identificar puertos en uso con:
lsof -i :11434
  1. Establecer OLLAMA_HOST: Si accedes desde otra máquina, configura OLLAMA_HOST en 0.0.0.0:
export OLLAMA_HOST=0.0.0.0:11434

Encontrarás más detalles en el artículo Acceso en red.

  1. Configurar el firewall: Abre el puerto 11434 en tu firewall si accedes de forma remota.
  2. Reiniciar el servicio: Reinicia el servicio Ollama si la API no responde.

Problema 5: El modelo no responde o genera contenido sin sentido

A veces un modelo está en ejecución, pero las respuestas son incorrectas, incoherentes o simplemente no llegan.

Causas

  • Modelo inadecuado: Los modelos pequeños o mal entrenados generan alucinaciones con frecuencia.
  • Sin indicación del sistema: Sin instrucciones claras, el modelo no sabe qué esperas de él.
  • Contexto demasiado largo: Cuando el contexto excede el límite, Ollama descarta mensajes antiguos, lo que causa confusión.

Soluciones

  1. Usar un modelo más grande: Cambia a un modelo con más parámetros si tu memoria lo permite.
  2. Establecer una indicación del sistema: Dale al modelo un rol y descripción de tarea claros.
  3. Ajustar la longitud del contexto: Reduce num_ctx si el contexto se vuelve demasiado largo.
  4. Descargar el modelo nuevamente: Si el archivo del modelo está corrupto, bórralo y descárgalo otra vez:
ollama rm llama3
ollama pull llama3

Aprende más sobre gestión de modelos en el artículo Gestionar modelos.

Problema 6: Disco lleno

Los modelos ocupan mucho espacio. Un modelo de 70B consume fácilmente 40 GB. Si almacenas varios modelos, el disco se llena rápidamente.

Diagnóstico

Verifica dónde Ollama guarda los modelos. Por defecto es:

  • Linux: ~/.ollama/models
  • Windows: C:\Users\TuNombre\.ollama\models
  • macOS: ~/.ollama/models

Soluciones

  1. Listar y eliminar modelos: Muestra todos los modelos instalados y elimina los que no uses:
ollama list
ollama rm modelo-no-usado
  1. Cambiar la ubicación de almacenamiento: Establece OLLAMA_MODELS en una ruta con más espacio:
export OLLAMA_MODELS=/mnt/disco_grande/ollama/models
  1. Monitorear el espacio: Revisa regularmente el uso de disco, especialmente si pruebas modelos nuevos con frecuencia.

Problema 7: Ollama no inicia

Si Ollama no inicia, suele ser por problemas con el servicio, el puerto o los permisos.

Diagnóstico

Verifica el estado del servicio en Linux:

systemctl status ollama

En Windows y macOS, revisa los registros para ver mensajes de error al iniciar.

Soluciones

  1. Verificar conflictos de puerto: Si otro programa usa el puerto 11434, ciérralo o cambia el puerto de Ollama.
  2. Verificar permisos: El servicio Ollama necesita permisos de lectura en el directorio de modelos. En Linux, el servicio suele ejecutarse con el usuario ollama.
  3. Reinstalar el servicio: Si el servicio está corrupto, reinstálalo:
sudo systemctl daemon-reload
sudo systemctl restart ollama
  1. Revisar los registros: Consulta los registros para encontrar el mensaje de error exacto. Lee más en la siguiente sección.

Registros y diagnóstico

Los registros son tu herramienta más valiosa para solucionar problemas. Ollama escribe mensajes detallados que revelan la causa.

Linux

Ollama se ejecuta como servicio de Systemd. Lee los registros con:

journalctl -u ollama -f

El flag -f sigue el registro en tiempo real. Para mensajes más detallados, establece OLLAMA_DEBUG=1 en el archivo del servicio.

Windows

En Windows, abre el Visor de eventos. Busca eventos con origen ollama u Ollama. También encontrarás registros en %LOCALAPPDATA%\Ollama\.

macOS

En macOS, usa la app Consola. Busca ollama en el filtro. Alternativamente, desde la terminal:

log stream --predicate 'process == "ollama"'

Errores comunes en la resolución de problemas

  1. Ignorar los registros: Muchos usuarios buscan sin leer los registros, que casi siempre contienen la respuesta.
  2. Olvidar los controladores: Sin controladores GPU actualizados, Ollama usa solo la CPU, lo que causa inferencia lenta.
  3. Subestimar la VRAM: Incluso con mucha VRAM en la GPU, el contexto consume memoria adicional. Reserva un margen.
  4. Variables de entorno incorrectas: Variables como OLLAMA_HOST u OLLAMA_MODELS deben estar bien configuradas y ser adoptadas al reiniciar el servicio.
  5. Versión desactualizada de Ollama: Los bugs en versiones antiguas a menudo ya están corregidos. Mantén Ollama actualizado.
  6. Múltiples modelos ejecutándose: Ejecutar varios modelos simultáneamente sobrecarga la VRAM y el ancho de banda. Detén los modelos que no uses.
  7. Olvidar el firewall: Con acceso remoto, el firewall a menudo bloquea el puerto. Verifica esto antes de investigar más a fondo.

Hardware, costos y seguridad en la resolución de problemas

Hardware: No necesitas una máquina especial para solucionar problemas. Un sistema con GPU, controladores actuales y VRAM suficiente basta. Si pruebas modelos con frecuencia, una GPU con 16 GB de VRAM o más es una buena inversión.

Costos: Ollama es gratuito. Los costos surgen solo por hardware si necesitas actualizar. Una GPU de segunda mano con 12 a 16 GB de VRAM generalmente es suficiente para modelos de 8B y 13B.

Seguridad: Si expones Ollama en la red, asegura la API. No configures OLLAMA_HOST en 0.0.0.0 sin un firewall, o cualquiera en la red podrá acceder a tus modelos. Lee más en el artículo Acceso en red.

Enlaces útiles e información sobre resolución de problemas

FAQ: Resolución de problemas de Ollama - Preguntas frecuentes

¿Por qué no se detecta mi GPU? Generalmente falta el controlador NVIDIA actualizado o CUDA no está instalado correctamente. Verifica con nvidia-smi que la GPU sea reconocida por el sistema e inicia Ollama con OLLAMA_DEBUG=1 para ver la detección de GPU en los registros.

¿Qué significa el error OOM? OOM significa Out of Memory. Tu VRAM o RAM no son suficientes para cargar el modelo. Elige un modelo más pequeño, reduce la cuantización o disminuye la longitud del contexto.

¿Por qué la inferencia es tan lenta? Probablemente Ollama esté usando la CPU en lugar de la GPU. Revisa los registros para library=cuda y asegúrate de que el controlador GPU esté actualizado. Si la GPU se detecta, verifica el GPU offloading con --num-gpu.

¿Cómo cambio el puerto de Ollama? Establece la variable de entorno OLLAMA_HOST al puerto deseado, por ejemplo OLLAMA_HOST=0.0.0.0:8080. Luego reinicia el servicio Ollama.

¿Dónde almacena Ollama los modelos? Por defecto en ~/.ollama/models en Linux y macOS, en C:\Users\TuNombre\.ollama\models en Windows. Cambia el path con la variable OLLAMA_MODELS.

¿Cómo leo los registros de Ollama en Linux? Usa journalctl -u ollama -f para seguir los registros en tiempo real. Para mensajes más detallados, establece OLLAMA_DEBUG=1 en la configuración del servicio.

¿Qué hacer si Ollama no inicia después de una actualización? Verifica el estado del servicio con systemctl status ollama y revisa los registros. A menudo se debe a conflictos de puerto o cambios en permisos. Reinstalar el servicio suele resolver el problema.

¿Por qué mi modelo genera contenido sin sentido? Las alucinaciones ocurren frecuentemente con modelos pequeños, sin indicaciones del sistema claras, o con contextos demasiado largos. Usa un modelo más grande, proporciona instrucciones claras y reduce la longitud del contexto.

¿Puedo ejecutar múltiples modelos simultáneamente? Sí, pero rápidamente sobrecargarás la VRAM y el ancho de banda. Detén los modelos que no uses y cárgalos solo cuando sea necesario.

¿Cómo reservo VRAM adicional para overhead? Establece OLLAMA_GPU_OVERHEAD en un valor más alto, por ejemplo OLLAMA_GPU_OVERHEAD=2000000000. Esto previene bloqueos cuando la VRAM se agota.

Fuentes y lecturas complementarias

Volver al blog
Share:

Entradas relacionadas