Ultralytics YOLO27: Únete a la lista de espera.
Licencia YOLO
Volver al glosario de Ultralytics

Experiment Tracking

El seguimiento de experimentos registra los parámetros, las versiones del código y los datos, las métricas y los artefactos de cada ejecución de entrenamiento de ML para poder comparar y reproducir las ejecuciones.

El seguimiento de experimentos consiste en registrar en un único almacén con función de búsqueda todos los datos de cada ejecución de entrenamiento de aprendizaje automático, incluidos la versión del código y de los datos, los ajustes, el entorno, las métricas a lo largo del tiempo y los archivos de salida, como los pesos y los gráficos. Un proyecto que prueba decenas de tasas de aprendizaje, ajustes de aumento de datos y tamaños de modelo genera ejecuciones que parecen iguales en el disco. El seguimiento conserva la configuración de cada resultado, para poder comparar y reproducir la mejor ejecución, y rastrearla meses después. TensorBoard, publicado junto con TensorFlow en 2015, convirtió las curvas de entrenamiento en directo en una práctica habitual, y Databricks publicó MLflow como código abierto en 2018 con el seguimiento como uno de sus tres componentes originales. Weights & Biases, Comet, ClearML y DVC son otros sistemas de seguimiento muy utilizados.

Qué registra un sistema de seguimiento#

Cada ejecución recibe un ID único y pertenece a un experimento, es decir, a un grupo con nombre de ejecuciones relacionadas. Un registro de ejecución habitual incluye:

  • Hiperparámetros: La tasa de aprendizaje, el tamaño del lote, el optimizador, la arquitectura del modelo, la semilla aleatoria y cualquier otro ajuste que influya en el entrenamiento.
  • Métricas: Pérdidas y puntuaciones de entrenamiento y validación registradas por paso o época, además de métricas del sistema como la memoria y la utilización de la GPU.
  • Artefactos: Puntos de control, matrices de confusión, predicciones de muestra y archivos de configuración.
  • Linaje: La confirmación de Git, la versión del conjunto de datos, las versiones de los paquetes, el hardware y el autor que generaron la ejecución.

El registro se realiza mediante una llamada del cliente por valor o de forma automática a través de integraciones de registro automático que capturan los parámetros y las métricas de un marco de trabajo sin necesidad de código adicional. Un servidor de seguimiento compartido recopila las ejecuciones de todos los portátiles, equipos en la nube y tareas de CI de un equipo. Su panel superpone las curvas de pérdida de las ejecuciones seleccionadas y permite filtrarlas por cualquier parámetro o métrica, lo que hace que problemas como el sobreajuste se vean de un vistazo.

El entrenamiento de Ultralytics YOLO escribe los argumentos de cada ejecución en args.yaml y sus pérdidas y métricas por época en results.csv. Las integraciones integradas envían los mismos valores a MLflow, Comet, ClearML o DVC en cuanto se instala su paquete. TensorBoard y Weights & Biases se activan mediante yolo settings. Los argumentos de entrenamiento project y name se convierten en los nombres del experimento y de la ejecución en MLflow, por lo que una serie de pruebas de YOLO26 llega al sistema de seguimiento ya organizada.

Comparación y reproducción de ejecuciones#

Los paneles representan una métrica frente a un parámetro en varias ejecuciones o dibujan gráficos de coordenadas paralelas que conectan los ajustes de cada ejecución con su puntuación, lo que permite ver qué ajustes importan en una búsqueda. En Ultralytics Platform, un proyecto compara sus modelos con curvas de métricas y pérdidas superpuestas y una tabla comparativa; la lección Compara ejecuciones y elige la mejor convierte esa comparación en una condición de promoción mediante un script. Para reproducir una ejecución hacen falta más datos que sus hiperparámetros: el registro también debe contener el commit del código, la instantánea exacta de los datos, las versiones de los paquetes y la semilla aleatoria, porque los kernels de GPU y el orden de carga de datos pueden cambiar ligeramente los resultados incluso entre ejecuciones idénticas en lo demás.

Este script de MLflow entrena un árbol de decisión con cuatro profundidades en los dígitos manuscritos de scikit-learn, registra cada profundidad como parámetro y la precisión de validación como métrica y, después, consulta el experimento como si fuera una tabla:

import mlflow
from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier

# Store runs in a local SQLite file and group them under one experiment
mlflow.set_tracking_uri("sqlite:///mlflow.db")
mlflow.set_experiment("digits-tree-depth")
X_train, X_val, y_train, y_val = train_test_split(*load_digits(return_X_y=True), random_state=0)

# One tracked run per setting: the parameter goes in, the metric comes out
for depth in [2, 4, 8, 16]:
    with mlflow.start_run(run_name=f"depth-{depth}"):
        model = DecisionTreeClassifier(max_depth=depth, random_state=0).fit(X_train, y_train)
        mlflow.log_param("max_depth", depth)
        mlflow.log_metric("val_accuracy", model.score(X_val, y_val))

# Query the experiment like a table, best run first
runs = mlflow.search_runs(order_by=["metrics.val_accuracy DESC"])
print(runs[["params.max_depth", "metrics.val_accuracy"]])

En una base de datos nueva, la tabla muestra primero la profundidad 16, con una precisión de validación de 0,838; después, la profundidad 8, con 0,818; la profundidad 4, con 0,533; y la profundidad 2, con 0,318. Si ejecutas mlflow ui en la misma carpeta con --backend-store-uri sqlite:///mlflow.db, se abrirán las mismas ejecuciones en el navegador.

El seguimiento de experimentos es una etapa de las operaciones de aprendizaje automático (MLOps), junto a otras tres prácticas que a menudo se confunden con él:

  • Registro de modelos: Conserva los pocos modelos entrenados que merece la pena implementar y vincula cada versión a la ejecución registrada que la generó.
  • Supervisión de modelos: Observa las entradas, las salidas y la precisión de un modelo implementado en producción, después de que el seguimiento haya cumplido su función durante el desarrollo.
  • Ajuste de hiperparámetros: Herramientas de búsqueda como Optuna y Ray Tune lanzan muchas ejecuciones automáticamente, y el sistema de seguimiento las almacena y clasifica todas.

Explora las soluciones

Visión artificial en el deporte

Visión artificial en el deporte

Descubre cómo Ultralytics YOLO impulsa la visión artificial en el deporte con el seguimiento de jugadores y balones, analíticas de rendimiento, información útil para entrenadores y rehabilitación de deportistas.
Más información
Visión artificial para imágenes aéreas

Visión artificial para imágenes aéreas

Convierte imágenes aéreas y de drones en información útil en tiempo real para la agricultura, la acuicultura, la conservación y el análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en el sector aeroespacial

Visión artificial en el sector aeroespacial

Aplica la visión artificial en el sector aeroespacial con Ultralytics YOLO para inspeccionar aeronaves, detectar objetos extraños en pistas, gestionar operaciones en tierra y detectar defectos en materiales compuestos.
Más información
Visión artificial en seguridad

Visión artificial en seguridad

Protege todas tus instalaciones con los modelos Ultralytics YOLO. La IA visual permite supervisar perímetros, detectar amenazas, reconocer matrículas y mejorar la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Potencia máquinas más inteligentes con los modelos Ultralytics YOLO. La IA visual en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Visión artificial en logística

Visión artificial en logística

Agiliza la logística con modelos Ultralytics YOLO. La IA visual permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad del almacén en tiempo real.
Más información
Visión artificial en el comercio minorista

Visión artificial en el comercio minorista

Reinventa el comercio minorista con modelos Ultralytics YOLO. La IA visual permite realizar el seguimiento del inventario, supervisar estanterías, gestionar colas y obtener información más útil sobre los clientes.
Más información
Visión artificial en el sector sanitario

Visión artificial en el sector sanitario

Desarrolla soluciones sanitarias con modelos Ultralytics YOLO. La IA visual en el sector sanitario permite acelerar el diagnóstico por imagen, mejorar los diagnósticos y supervisar a los pacientes.
Más información
Visión artificial en la fabricación

Visión artificial en la fabricación

Optimiza la fabricación con modelos Ultralytics YOLO. La IA visual mejora el control de calidad, la detección de defectos, el cumplimiento de las normas de uso de EPI y la automatización de las líneas de montaje.
Más información
Visión artificial en la automoción

Visión artificial en la automoción

Aplica la visión artificial al sector de la automoción con modelos Ultralytics YOLO. La IA visual mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para lograr carreteras más inteligentes.
Más información
Visión artificial en la agricultura

Visión artificial en la agricultura

Incorpora la IA de visión a la agricultura inteligente con modelos Ultralytics YOLO. Impulsa la monitorización de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas más abundantes e inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Inicia tu recorrido hacia el futuro del aprendizaje automático