Compartir comentarios
Las respuestas se generan en base a la documentación.

Docker Model Runner

Requiere: Docker Engine o Docker Desktop (Windows) 4.41+ o Docker Desktop (MacOS) 4.40+
Para: Consulta la sección de Requisitos más abajo

Docker Model Runner (DMR) facilita la gestión, ejecución y despliegue de modelos de IA utilizando Docker. Diseñado para desarrolladores, Docker Model Runner simplifica el proceso de descarga (pull), ejecución y servicio de modelos de lenguaje grandes (LLM) y otros modelos de IA directamente desde Docker Hub, cualquier registro compatible con OCI o Hugging Face.

Con una integración perfecta en Docker Desktop y Docker Engine, puedes servir modelos a través de API compatibles con OpenAI y Ollama, empaquetar archivos GGUF como artefactos de OCI e interactuar con modelos tanto desde la línea de comandos como desde la interfaz gráfica.

Ya sea que estés creando aplicaciones de IA generativa, experimentando con flujos de trabajo de aprendizaje automático o integrando la IA en el ciclo de vida de desarrollo de tu software, Docker Model Runner proporciona una forma consistente, segura y eficiente de trabajar con modelos de IA localmente.

Características principales

Requisitos

Docker Model Runner es compatible con las siguientes plataformas:

Windows(amd64):

  • GPU NVIDIA
  • Controladores (drivers) NVIDIA 576.57+

Windows(arm64):

  • OpenCL para Adreno

  • GPU Qualcomm Adreno (serie 6xx y posteriores)

    Note

    Es posible que algunas funciones de llama.cpp no sean totalmente compatibles con la serie 6xx.

  • Apple Silicon

Solo Docker Engine:

  • Admite backends de CPU, NVIDIA (CUDA), AMD (ROCm) y Vulkan
  • Requiere el controlador NVIDIA 575.57.08+ cuando se utilizan GPU NVIDIA

Cómo funciona Docker Model Runner

Los modelos se descargan de Docker Hub, de un registro compatible con OCI o de Hugging Face la primera vez que los utilizas y se almacenan localmente. Se cargan en memoria solo en tiempo de ejecución cuando se realiza una solicitud, y se descargan cuando no están en uso para optimizar los recursos. Dado que los modelos pueden ser grandes, la descarga inicial puede llevar algún tiempo. Después de eso, se guardan en la caché local para un acceso más rápido. Puedes interactuar con el modelo utilizando API compatibles con OpenAI y Ollama.

Motores de inferencia

Docker Model Runner admite tres motores de inferencia:

MotorIdeal paraFormato del modelo
llama.cppDesarrollo local, eficiencia de recursosGGUF (cuantizado)
vLLMProducción, alto rendimientoSafetensors
DiffusersGeneración de imágenes (Stable Diffusion)Safetensors

llama.cpp es el motor predeterminado y funciona en todas las plataformas. vLLM requiere GPU NVIDIA y es compatible con Linux x86_64 y Windows con WSL2. Diffusers permite la generación de imágenes y requiere GPU NVIDIA en Linux (x86_64 o ARM64). Consulta Motores de inferencia para obtener una comparación detallada y la configuración.

Tamaño del contexto

Los modelos tienen un tamaño de contexto configurable (longitud del contexto) que determina cuántos tokens pueden procesar. El valor predeterminado varía según el modelo, pero suele ser de 2,048 a 8,192 tokens. Puedes ajustar esto por modelo:

$ docker model configure --context-size 8192 ai/qwen2.5-coder

Consulta Opciones de configuración para obtener detalles sobre el tamaño del contexto y otros parámetros.

Tip

¿Utilizas Testcontainers o Docker Compose? Testcontainers para Java y Go, y Docker Compose son compatibles con Docker Model Runner.

Problemas conocidos

docker model no se reconoce

Si ejecutas un comando de Docker Model Runner y ves:

docker: 'model' is not a docker command

Significa que Docker no puede encontrar el plugin porque no está en el directorio de plugins de la CLI esperado.

Para solucionar esto, crea un enlace simbólico para que Docker pueda detectarlo:

$ ln -s /Applications/Docker.app/Contents/Resources/cli-plugins/docker-model ~/.docker/cli-plugins/docker-model

Una vez enlazado, vuelve a ejecutar el comando.

Privacidad y recopilación de datos

Docker Model Runner respeta tus ajustes de privacidad en Docker Desktop. La recopilación de datos está controlada por el ajuste Send usage statistics:

  • Deshabilitado: no se recopilan datos de uso
  • Habilitado: solo se recopilan datos mínimos y no personales:
    • Nombres de los modelos (a través de solicitudes HEAD a Docker Hub)
    • Información del agente de usuario (user agent)
    • Si las solicitudes se originan en el host o en contenedores

Cuando se utiliza Docker Model Runner con Docker Engine, se realizan solicitudes HEAD a Docker Hub para realizar un seguimiento de los nombres de los modelos, independientemente de cualquier configuración.

Nunca se recopila el contenido de los prompts, las respuestas ni la información de identificación personal.

Compartir comentarios

Gracias por probar Docker Model Runner. Para informar de errores o solicitar funciones, abre un problema en GitHub. También puedes enviar comentarios a través del enlace Give feedback junto a la configuración de Enable Docker Model Runner.

Pasos siguientes