¿Qué es MLflow?
MLflow nació en 2018 como la herramienta de código abierto de Databricks para la contabilidad del machine learning: el seguimiento de experimentos registra los parámetros, las métricas y los archivos de cada ejecución de entrenamiento, y el registro de modelos versiona los modelos resultantes para su despliegue. Desde la línea 3.x también cubre aplicaciones LLM. El tracing registra cada llamada al modelo, cada recuperación y cada llamada a herramientas como spans, con autologging de una línea para OpenAI, Anthropic, LangChain, LlamaIndex, DSPy y otros, y acepta datos de OpenTelemetry. mlflow.genai.evaluate puntúa una app contra un dataset con jueces LLM integrados o con tus propios scorers, un registro de prompts guarda versiones inmutables con alias movibles y un AI Gateway enruta peticiones entre proveedores de modelos.
Todo el repositorio está bajo Apache-2.0, sin carpeta con licencia comercial, y la versión 3.17.2 salió el 21 de octubre de 2026. El paquete de Python necesita Python 3.10 o posterior; existen clientes de TypeScript y Java para tracing.
Autoalojarlo es gratis. Ofrecen MLflow gestionado Databricks, AWS SageMaker, Azure ML, Nebius y GCP. Databricks no publica un precio aparte: MLflow viene con un workspace, que se factura por el cómputo que usa, y su Free Edition es solo para uso personal y no comercial.
¿Merece la pena MLflow?
MLflow es el sistema único sensato para un equipo que entrena sus propios modelos y además lanza funciones con LLM: un solo servidor Apache-2.0 guarda ejecuciones de entrenamiento, modelos registrados, trazas de agentes, resultados de evaluación y versiones de prompts, y ninguna función del código está tras una licencia de pago. Tiene unas 28.600 estrellas en GitHub, publicó la v3.17.2 el 21 de octubre de 2026 y su README afirma más de 60 millones de descargas mensuales.
La parte de LLM ya es lo bastante completa para sostenerse sola. El tracing es una línea por biblioteca, como mlflow.openai.autolog(), y la documentación dice que el paquete aparte mlflow-tracing ocupa un 95% menos para servicios en producción. La evaluación pasa un dataset por tu app y lo califica con jueces integrados como Correctness y Guidelines o con funciones @scorer en Python puro, y el feedback de los revisores se guarda en la propia traza. Frente a Langfuse, la carga operativa es menor: MLflow arranca sobre un archivo SQLite (el valor por defecto desde 3.7.0) y crece hacia PostgreSQL más almacenamiento S3, GCS o Azure Blob, mientras que la versión de producción de Langfuse necesita ClickHouse, Postgres, Redis y almacenamiento de objetos. Langfuse es la herramienta LLM más centrada, con una app web en TypeScript y precios de nube publicados; el centro de gravedad de MLflow sigue siendo Python.
El punto débil es la seguridad por defecto. mlflow server no pide inicio de sesión salvo que se arranque con --app-name basic-auth, y los avisos de seguridad de 2026 se concentran justo en esa configuración: en octubre, una ejecución remota de código crítica y una lectura arbitraria de archivos de gravedad alta en servidores sin autenticación, ambas corregidas en 3.17.0. Las versiones antiguas traían la contraseña de administrador password1234, que ahora se rechaza. La telemetría anónima de uso está activada por defecto desde 3.2.0; excluye parámetros, nombres de archivo y contenido de modelos, y MLFLOW_DISABLE_TELEMETRY=true o DO_NOT_TRACK=true la desactiva.
Las actualizaciones también exigen cuidado. La versión 3.17.0 obliga a detener todos los procesos que escriben, hacer una copia de seguridad y ejecutar mlflow db upgrade, sin actualización gradual con versiones mezcladas. Es el precio de ser dueño de la base de datos, y también su sentido.
Weights & Biases sigue siendo el servicio alojado más pulido para paneles de experimentos, y su capa LLM, Weave, cobra por volumen de datos: Pro empieza en 60 $ al mes con 1,5 GB y luego 0,10 $ por MB. MLflow cuesta lo que un servidor pequeño y una instancia de Postgres, y su historial de ejecuciones se queda en tablas que puedes respaldar y consultar tú mismo, lo que a la mayoría de los equipos les importa más que un gráfico más bonito.
Dónde se gana su sitio
Un equipo de ciencia de datos de cuatro personas en un minorista que entrena modelos de previsión de demanda
Comparar cientos de ejecuciones de entrenamiento y llevar el modelo ganador a producción
Cada ejecución registra parámetros, métricas y el archivo del modelo en un servidor MLflow compartido; el registro versiona los modelos y un alias marca el que está en producción. El único coste es el servidor, una base de datos PostgreSQL y un bucket S3.
Un ingeniero de plataforma en un banco que añade un asistente LLM a una pila de ML existente
Trazar y evaluar el asistente sin comprar un producto de observabilidad aparte
El autologging y el paquete mlflow-tracing envían spans al servidor MLflow que el equipo de ML ya opera; mlflow.genai.evaluate califica cada versión contra un conjunto de pruebas. Antes de salir a producción, activa basic-auth o SSO y actualiza a 3.17.0 o posterior para cerrar los avisos de octubre de 2026.
Un responsable de analítica en una empresa que ya usa Databricks
Dar a los analistas experimentos registrados y modelos gobernados sin operar servidores
MLflow gestionado viene integrado en el workspace y enlazado con Unity Catalog y Model Serving, sin tarifa aparte por MLflow; la factura es el cómputo de Databricks que usan los trabajos, que Databricks no publica como precio de MLflow.
Antes de decidirte
- Puesta en marcha
- uvx mlflow server arranca un servidor local en el puerto 5000 sobre SQLite; en producción se usa el paquete de Docker Compose (MLflow, PostgreSQL y RustFS) o el chart oficial de Helm.
- Integraciones
- SDK de Python, TypeScript y Java; autologging para OpenAI, Anthropic, LangChain, LlamaIndex, DSPy, Pydantic AI y Vercel AI; ingesta y exportación OpenTelemetry; almacenamiento de artefactos en S3, GCS o Azure Blob; versiones gestionadas en Databricks, SageMaker, Azure ML, Nebius y GCP.
- Datos y privacidad
- Ejecuciones, trazas y prompts se quedan en tu propia base de datos y almacén de objetos. La telemetría anónima de uso hacia mlflow-telemetry.io está activada por defecto desde 3.2.0 y excluye parámetros, nombres de archivo y contenido de modelos; MLFLOW_DISABLE_TELEMETRY=true o DO_NOT_TRACK=true la desactiva. Nueve avisos desde julio de 2026, cuatro de gravedad alta o crítica.
- Coste a escala
- Autoalojar cuesta un servidor de aplicación, una base de datos PostgreSQL y almacenamiento de objetos; la documentación no publica dimensionamiento. Databricks no cobra una tarifa aparte por MLflow y factura el cómputo del workspace; su Free Edition excluye el uso comercial.
- Límites
- Unas 2.225 issues y pull requests abiertas. Basic-auth no limita los intentos de inicio de sesión y solo permite cerrar sesión cerrando el navegador; protecciones de red como --allowed-hosts solo funcionan en el servidor uvicorn por defecto, no con --gunicorn-opts ni --waitress-opts.
Lo bueno
- Seguimiento de experimentos, registro de modelos, tracing de LLM, evaluación y prompts en un solo servidor Apache-2.0
- Ninguna función con licencia comercial en el código
- Arranca sobre SQLite; crece hacia PostgreSQL y S3, GCS o Azure Blob
- Tracing compatible con OpenTelemetry y autologging de una línea para las principales bibliotecas LLM
Lo malo
- El servidor funciona sin autenticación salvo que se configure basic-auth o SSO
- Nueve avisos de seguridad publicados desde julio de 2026, incluida una RCE crítica en servidores sin autenticación
- Telemetría anónima activada por defecto
- Las actualizaciones de esquema requieren parada; sin actualizaciones graduales con versiones mezcladas
Ideal para
Equipos de Python que entrenan modelos y crean funciones con LLM y quieren un único sistema de registro gratuito y autoalojado para ambas cosas.
Alternativas a MLflow
MLflow: preguntas frecuentes
- ¿Merece la pena MLflow?
- Sigue siendo el sitio por defecto para registrar experimentos de ML, ahora con tracing y evaluación de LLM incluidos gratis; protege el servidor antes de que nadie más pueda llegar a él. Le damos un 4.4 sobre 5.
- ¿Cuánto cuesta MLflow?
- Gratis y de código abierto bajo Apache-2.0; solo pagas el servidor, la base de datos y el almacenamiento de objetos. MLflow gestionado en Databricks no tiene precio de lista propio y se factura a través del cómputo de Databricks; la Free Edition es solo para uso personal.
- ¿Qué inconvenientes tiene MLflow?
- El servidor funciona sin autenticación salvo que se configure basic-auth o SSO; nueve avisos de seguridad publicados desde julio de 2026, incluida una RCE crítica en servidores sin autenticación; telemetría anónima activada por defecto; las actualizaciones de esquema requieren parada; sin actualizaciones graduales con versiones mezcladas.
- ¿Para quién es MLflow?
- Equipos de Python que entrenan modelos y crean funciones con LLM y quieren un único sistema de registro gratuito y autoalojado para ambas cosas.
- ¿Cuánto cuesta MLflow para un equipo o en producción?
- Autoalojar cuesta un servidor de aplicación, una base de datos PostgreSQL y almacenamiento de objetos; la documentación no publica dimensionamiento. Databricks no cobra una tarifa aparte por MLflow y factura el cómputo del workspace; su Free Edition excluye el uso comercial.
- ¿Es MLflow seguro para los datos de la empresa?
- Ejecuciones, trazas y prompts se quedan en tu propia base de datos y almacén de objetos. La telemetría anónima de uso hacia mlflow-telemetry.io está activada por defecto desde 3.2.0 y excluye parámetros, nombres de archivo y contenido de modelos; MLFLOW_DISABLE_TELEMETRY=true o DO_NOT_TRACK=true la desactiva. Nueve avisos desde julio de 2026, cuatro de gravedad alta o crítica.
- ¿Cuáles son las mejores alternativas a MLflow?
- Las alternativas más cercanas que hemos analizado son Langfuse, W&B Weave, Arize Phoenix y Opik.
Respuestas comprobadas el 1 nov 2026.
