Model Registry
Aprende cómo un model registry versiona, gobierna y despliega modelos de ML. Explora Ultralytics Platform para el entrenamiento centralizado, la gestión, el seguimiento y la reproducibilidad.
Un registro de modelos es un sistema centralizado para organizar, versionar, gobernar y recuperar modelos de aprendizaje automático a lo largo de su ciclo de vida. Conecta archivos de modelos, como los pesos del modelo aprendidos, con metadatos que describen cómo se entrenó, evaluó, aprobó y desplegó cada modelo. Como componente central de las operaciones de aprendizaje automático, un registro ofrece a los equipos una fuente confiable para decidir qué versión de un modelo debe servir al tráfico de producción.
Cómo funciona un registro de modelos#
El registro de modelos comienza después de que una ejecución de entrenamiento produce un modelo candidato. El registro crea una entrada con nombre, asigna una versión y registra la información necesaria para comprender y reproducir el artefacto. Una entrada típica incluye:
- Artefacto del modelo: Los pesos serializados, la lógica de preprocesamiento, los archivos de configuración o una referencia a su ubicación de almacenamiento.
- Versión: Un identificador inmutable que distingue un candidato de otro.
- Métricas y parámetros: Precisión de validación, precisión (precision), recuerdo (recall), latencia, detalles del conjunto de datos, hiperparámetros y otras medidas.
- Linaje: Conexiones entre el modelo, su código fuente, la ejecución de entrenamiento y los datos.
- Estado: Etiquetas como candidato, aprobado, rechazado, campeón (champion) o archivado.
- Información de despliegue: Entornos y puntos de conexión (endpoints) que utilizan la versión actualmente.
Las plataformas implementan estas ideas de manera diferente. El flujo de trabajo del registro de modelos de MLflow utiliza modelos registrados, versiones, alias y etiquetas, mientras que el Registro de modelos de Amazon SageMaker admite grupos de modelos, estados de aprobación, linaje y automatización de despliegues. Algunos sistemas también registran una firma de modelo: el esquema de entrada y salida esperado descrito en la documentación de firmas de modelos de Snowflake.
Los alias como champion o production proporcionan nombres estables que pueden moverse entre versiones inmutables. Como se explica en la guía de alias de modelos de Vertex AI, una aplicación puede solicitar un alias sin codificar rígidamente un número de versión.
Registro de modelos frente a conceptos relacionados#
Un registro de modelos se solapa con varias herramientas de aprendizaje automático, pero cumple un propósito distinto:
- El seguimiento de experimentos registra las ejecuciones de entrenamiento, incluidos los parámetros, las métricas y los artefactos intermedios. Un registro recibe las salidas seleccionadas de esos experimentos y las gestiona como candidatos de lanzamiento.
- El almacenamiento de artefactos contiene archivos grandes. Un registro puede almacenar esos archivos directamente, pero también puede funcionar como un índice de metadatos que apunta a un almacenamiento de objetos externo. La arquitectura del registro de modelos de Kubeflow ilustra este diseño centrado en metadatos.
- El control de código fuente versiona el código, mientras que un registro de modelos versiona los artefactos entrenados y sus metadatos específicos del aprendizaje automático. El registro de modelos de GitLab puede conectar las versiones de los modelos con trabajos, registros, métricas y parámetros de CI/CD.
- El despliegue de modelos hace que un modelo seleccionado esté disponible para la inferencia. El registro identifica el artefacto aprobado; el sistema de despliegue lo ejecuta.
- La monitorización de modelos observa el comportamiento en producción después del lanzamiento. Los resultados de la monitorización pueden desencadenar la evaluación, el reentrenamiento, el registro y la promoción de una versión de reemplazo.
Por lo tanto, un registro actúa como el punto de control entre la experimentación y la producción en lugar de reemplazar cada componente que lo rodea.
Aplicaciones en el mundo real#
En un sistema de inspección de fabricación, los ingenieros pueden reentrenar un detector de defectos cada vez que cambien las cámaras, los materiales o los diseños de los productos. El registro puede conservar la referencia del conjunto de datos de cada modelo, la precisión media del mapa (mAP), la latencia de inferencia y el formato de hardware compatible. Después de que las pruebas confirmen que la versión 12 mejora la detección de arañazos sin aumentar las falsas alarmas, un aprobador puede promoverla y conservar la versión 11 para una reversión inmediata.
En el análisis de imágenes médicas, múltiples equipos pueden evaluar candidatos de detección de tumores. El registro conserva los resultados de validación, la configuración de entrenamiento, el propietario responsable y el historial de aprobación de cada versión. Las aplicaciones de producción se pueden limitar a los modelos revisados, mientras que las versiones anteriores siguen estando disponibles para auditorías y reproducibilidad. Los controles basados en roles, como los descritos para la gobernanza del registro de modelos de Snowflake, ayudan a prevenir la sustitución o inspección no autorizada de artefactos sensibles.
Registro de modelos en los flujos de trabajo de Ultralytics#
Ultralytics Platform ofrece gestión centralizada de modelos para etiquetar conjuntos de datos, entrenar, comparar resultados, exportar, desplegar y monitorizar modelos de visión artificial. Su flujo de trabajo documentado de gestión de modelos en Platform admite pesos .pt subidos y modelos producidos mediante entrenamiento en la nube o remoto.
El siguiente flujo de trabajo documentado entrena Ultralytics YOLO26 localmente mientras envía el modelo resultante, la configuración, las métricas y los registros a un proyecto nombrado en Platform:
import os
from ultralytics import YOLO
# Authenticate remote training with Ultralytics Platform
os.environ["ULTRALYTICS_API_KEY"] = "YOUR_API_KEY"
model = YOLO("yolo26n.pt")
model.train(
data="coco8.yaml",
epochs=3,
project="username/model-registry-demo",
name="candidate-001",
)El nombre del proyecto y de la ejecución hace que el candidato sea detectable junto con los modelos relacionados. Los equipos pueden evaluarlo, utilizar la integración de MLflow con Ultralytics para el registro adicional de experimentos o aplicar la exportación de modelos YOLO cuando un modelo registrado deba ejecutarse en un hardware específico en la nube o en el borde.
Guía práctica sobre el registro#
Trata cada versión registrada como inmutable. Utiliza alias legibles por humanos para el despliegue, conserva las pruebas de validación y define requisitos de promoción claros. Una política de nombres basada en Semantic Versioning puede comunicar cambios de compatibilidad, aunque las versiones incrementadas automáticamente también son eficaces.
Lo más importante es que registres paquetes de modelos completos en lugar de archivos de pesos sin explicación. Las reglas de preprocesamiento faltantes, los nombres de clases, los esquemas de entrada, las dependencias o las referencias a conjuntos de datos pueden hacer que un modelo aparentemente válido sea imposible de reproducir o inseguro de desplegar. Los controles de acceso, las pruebas automatizadas, las puertas de aprobación, los registros de auditoría y los procedimientos de reversión transforman un registro de modelos de un catálogo de archivos en una salvaguarda de producción confiable.






