Observability
Explore a importância da observabilidade em IA e ML. Saiba como depurar sistemas complexos, monitorizar o desempenho do Ultralytics YOLO26 e obter insights profundos sobre os modelos.
A observabilidade refere-se à capacidade de compreender o estado interno de um sistema complexo baseando-se exclusivamente nos seus resultados externos. Nos campos em rápida evolução da Inteligência Artificial (AI) e da Aprendizagem Automática (ML), a observabilidade vai além das simples verificações de estado para fornecer informações detalhadas sobre por que razão um modelo se comporta de determinada forma. À medida que as arquiteturas modernas de Aprendizagem Profunda (DL) — como a [YOLO26](https://ultralytics-translation-3.invalid] de última geração — se tornam cada vez mais sofisticadas, podem frequentemente funcionar como "caixas-pretas". As ferramentas de observabilidade criam uma janela transparente para estes sistemas, permitindo às equipas de engenharia depurar comportamentos inesperados, rastrear as causas-raiz dos erros e garantir a fiabilidade em ambientes de produção.
Observabilidade vs. Monitorização#
Embora sejam frequentemente utilizados como sinónimos, a observabilidade e a monitorização de modelos têm finalidades distintas, mas complementares, no ciclo de vida de MLOps.
- A Monitorização de modelos é reativa e concentra-se nos "desconhecidos conhecidos". Envolve acompanhar métricas predefinidas, como a latência de inferência, a utilização da CPU ou as taxas de erro, comparando-as com limiares estabelecidos. A monitorização responde à pergunta: "O sistema está saudável?"
- A Observabilidade é proativa e aborda os "desconhecidos desconhecidos". Fornece dados granulares — registos, traces e eventos de elevada cardinalidade — necessários para investigar problemas novos que não foram previstos durante a preparação dos dados de treino. Conforme descrito no Livro SRE do Google, um sistema observável permite compreender novos comportamentos sem lançar código novo. Responde à pergunta: "Por que razão o sistema está a comportar-se desta forma?"
Os três pilares da observabilidade#
Para alcançar uma verdadeira observabilidade em pipelines de Visão Computacional (CV), os sistemas baseiam-se normalmente em três tipos principais de dados de telemetria:
-
Registos: Registos imutáveis e com marca temporal de eventos discretos. Num pipeline de deteção, um registo pode captar a resolução da imagem de entrada ou a configuração específica de ajuste de hiperparâmetros utilizada durante uma execução. O registo estruturado, frequentemente no formato JSON, permite consultas e análises complexas.
-
Métricas: Dados numéricos agregados medidos ao longo do tempo, como a precisão média, o consumo de memória ou a utilização da GPU. Ferramentas como o Prometheus e o Grafana são padrão para armazenar estes dados de séries temporais e visualizar tendências.
-
Traces: O tracing acompanha o ciclo de vida de um pedido à medida que este percorre vários microsserviços. Em aplicações de AI distribuídas, normas como o OpenTelemetry ajudam a mapear o percurso de um pedido, destacando estrangulamentos no motor de inferência ou atrasos na rede. Ferramentas especializadas como o Jaeger ajudam a visualizar estas transações distribuídas.
Implementar observabilidade em Python#
Podes melhorar a observabilidade nos teus pipelines de treino utilizando callbacks para registar estados internos específicos. O exemplo seguinte demonstra como adicionar um callback personalizado a uma sessão de treino YOLO26 para monitorizar métricas de desempenho em tempo 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)Aplicações no mundo real#
A observabilidade é essencial para implementar modelos de alto desempenho em ambientes dinâmicos, onde os dados de teste podem não corresponder perfeitamente às condições do mundo real.
- Veículos Autónomos: No desenvolvimento de veículos autónomos, a observabilidade permite aos engenheiros reconstruir o estado exato do sistema durante um evento de desativação. Ao correlacionar os resultados da deteção de objetos com os registos dos sensores e os comandos de controlo, as equipas podem determinar se um erro de travagem foi causado por ruído dos sensores, por uma falha na previsão do modelo ou por um erro lógico no módulo de planeamento.
- Diagnóstico na Área da Saúde: Na AI na área da saúde, garantir um desempenho consistente é essencial para a segurança dos pacientes. As ferramentas de observabilidade podem detetar deriva de dados se o desempenho de um modelo se degradar quando aplicado a imagens provenientes de um novo tipo de scanner de MRI. Os traces podem revelar se o problema resulta de uma alteração no pré-processamento de dados das imagens ou de uma mudança na distribuição de entrada, permitindo uma correção rápida sem comprometer a segurança da AI.
Integração com ferramentas modernas#
Os fluxos de trabalho modernos integram frequentemente a observabilidade diretamente na plataforma de treino. Os utilizadores da Plataforma Ultralytics beneficiam da visualização integrada das curvas de perda, do desempenho do sistema e da análise de conjuntos de dados. Além disso, as integrações padrão com ferramentas como o TensorBoard e o MLflow permitem aos cientistas de dados manter um acompanhamento rigoroso das experiências e a observabilidade ao longo de todo o ciclo de vida do modelo.









