Observabilidad
Explora la importancia de la observabilidad en la IA y el aprendizaje automático. Aprende a depurar sistemas complejos, supervisar el rendimiento Ultralytics y obtener información detallada sobre los modelos.
La observabilidad se refiere a la capacidad de comprender el estado interno de un sistema complejo basándose únicamente en sus
resultados externos. En los campos en rápida evolución de la
inteligencia artificial (IA)
y el aprendizaje automático (ML), la observabilidad va más allá de las simples comprobaciones de estado para proporcionar una visión profunda de por qué un modelo se comporta de una
determinada manera. A medida que el
aprendizaje profundo (DL)
, como el avanzado
YOLO26—cada vez más sofisticadas, a menudo pueden funcionar como «cajas negras». Las herramientas de observabilidad crean
una ventana transparente a estos sistemas, lo que permite a los equipos de ingeniería depurar comportamientos inesperados, rastrear las causas fundamentales
de los errores y garantizar la fiabilidad en los entornos de producción.
Observabilidad frente a supervisión
Aunque a menudo se utilizan indistintamente, la observabilidad y la
supervisión de modelos tienen fines distintos
pero complementarios dentro de
MLOps .
-
El modelo de supervisión
es reactiva y se centra en «incógnitas conocidas». Implica el seguimiento de métricas predefinidas, como
latencia de inferencia, CPU o tasas de error en relación con los umbrales establecidos. La supervisión responde a la pregunta: «¿El sistema
funciona correctamente?».
-
La observabilidad es proactiva y aborda «incógnitas desconocidas». Proporciona datos granulares
(registros, rastreos y eventos de alta cardinalidad) necesarios para investigar problemas novedosos que no se previeron durante
el preparación de los datos de entrenamiento . Tal y como
se describe en el
Libro deGoogle , un sistema observable permite comprender nuevos comportamientos sin necesidad de enviar código nuevo. Responde a la pregunta:
«¿Por qué actúa así el sistema?».
Los tres pilares de la observabilidad
Para lograr una verdadera observabilidad en
los procesos de visión artificial (CV) ,
los sistemas suelen basarse en tres tipos principales de datos de telemetría:
-
Registros: registros inmutables y con marca de tiempo de
eventos discretos. En un proceso de detección, un registro puede capturar la resolución de la imagen de entrada o el hiperparámetro específico
ajuste de hiperparámetros
utilizada durante una ejecución. El registro estructurado, a menudo en
formato JSON , permite realizar consultas y análisis complejos
.
-
Métricas: Datos numéricos agregados medidos a lo largo del tiempo, como la precisión media
precisión, consumo de memoria o
GPU .
Herramientas como Prometheus y
Grafana son estándar para almacenar estos datos de series temporales y
visualizar tendencias.
-
Traces: El rastreo sigue el ciclo de vida de una solicitud a medida que fluye a través de varios microservicios. Para
las aplicaciones de IA distribuidas, estándares como
OpenTelemetry ayudan a trazar la ruta de una solicitud, destacando
los cuellos de botella en el
motor de inferencia o los retrasos de la red
. Herramientas especializadas como Jaeger ayudan a visualizar
estas transacciones distribuidas.
Implementación de la observabilidad en Python
Puede mejorar la observabilidad en sus procesos de entrenamiento utilizando devoluciones de llamada para registrar estados internos específicos. El
siguiente ejemplo muestra cómo añadir una devolución de llamada personalizada a un
sesión de entrenamiento YOLO26 para supervisar
las métricas de rendimiento en tiempo real.
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Define a custom callback for observability
def on_train_epoch_end(trainer):
# Access and print specific metrics at the end of each epoch
map50 = trainer.metrics.get("metrics/mAP50(B)", 0)
print(f"Observability Log - Epoch {trainer.epoch + 1}: mAP50 is {map50:.4f}")
# Register the callback and start training
model.add_callback("on_train_epoch_end", on_train_epoch_end)
model.train(data="coco8.yaml", epochs=3)
Aplicaciones en el mundo real
La observabilidad es fundamental para implementar modelos de alto rendimiento en entornos dinámicos donde
los datos de prueba pueden no coincidir perfectamente con
las condiciones del mundo real.
-
Vehículos autónomos: En el desarrollo de
vehículos autónomos, la observabilidad permite a los ingenieros reconstruir el estado exacto del sistema durante un evento de desactivación. Al
correlacionar
los resultados de la detección de objetos con los
registros de los sensores y los comandos de control, los equipos pueden determinar si un error de frenado fue causado por el ruido del sensor, un
fallo de predicción del modelo o un error lógico en el módulo de planificación.
-
Diagnóstico sanitario: En
IA en la asistencia sanitaria, garantizar un rendimiento constante es vital para la seguridad del paciente. Las herramientas de observabilidad pueden detect
desviaciones en los datos si el rendimiento de un modelo
se degrada cuando se aplica a imágenes de un nuevo tipo de escáner de resonancia magnética. Los trazas pueden revelar si el problema se debe a un cambio
en el
el preprocesamiento de datos de imagen o un cambio
en la distribución de entrada, lo que permite una rápida corrección sin comprometer
la seguridad de la IA.
Integración con herramientas modernas
Los flujos de trabajo modernos suelen integrar la observabilidad directamente en la plataforma de formación. Los usuarios de la
Ultralytics se benefician de la
visualización integrada de las curvas de pérdidas, el rendimiento del sistema y el análisis de conjuntos de datos. Además, las integraciones estándar con herramientas
como TensorBoard y
MLflow permiten a los científicos de datos
mantener un seguimiento riguroso de los experimentos y la observabilidad a lo largo de todo el ciclo de vida del modelo.