Yolo Vision Shenzhen
Shenzhen
Junte-se agora

Monitorização de modelos de visão computacional implementados na Ultralytics

Descubra como monitorizar modelos de visão computacional em produção com Ultralytics . Acompanhe métricas, detect e melhore a fiabilidade.

Expanda os seus projetos de visão computacional com Ultralytics

Comece agora

Testar modelos de visão computacional que analisam imagens e vídeos nem sempre é o mesmo que executá-los em ambiente de produção. Durante o desenvolvimento, esses modelos ou algoritmos são testados em conjuntos de dados limpos e bem preparados, onde as condições são controladas e previsíveis.

Depois da implementação, a situação torna-se mais dinâmica. Os modelos são expostos ao tráfego real, onde os volumes de pedidos podem variar, os tempos de resposta podem mudar e podem ocorrer falhas ocasionais. 

Nesta fase, a atenção centra-se na fiabilidade do funcionamento do sistema, com terminais que permaneçam disponíveis, responsivos e estáveis em condições variáveis.

É por isso que a monitorização é essencial. Proporciona uma visão clara do comportamento dos terminais implementados em produção através de métricas como o volume de pedidos, a latência, as taxas de erro e o estado geral do sistema.

Para facilitar este processo, dispor das ferramentas certas torna-se tão importante quanto o próprio modelo. Recentemente, Ultralytics Ultralytics , o nosso novo ambiente completo que reúne todo o fluxo de trabalho de visão computacional, desde os dados e o treino até à implementação e monitorização.

Fig. 1. Painel de implementação Ultralytics com funcionalidades de monitorização (Fonte)

Com a monitorização integrada diretamente neste fluxo de trabalho, os utilizadores podem track o estado track , analisar o comportamento das solicitações e manter sistemas fiáveis sem depender de ferramentas separadas. Neste artigo, vamos explorar como utilizar Ultralytics para monitorizar os pontos finais dos modelos implementados e garantir o bom funcionamento dos sistemas de produção. Vamos começar!

Uma visão geral da monitorização de modelos de IA

No ciclo de vida de um modelo de IA, a monitorização consiste em observar o comportamento dos sistemas implementados depois de o modelo estar em funcionamento e a responder a pedidos reais. Enquanto o treino e a validação mostram o desempenho de um modelo de aprendizagem automática (modelo de ML) em conjuntos de dados preparados, a monitorização centra-se na forma como o ponto final implementado funciona num ambiente de produção.

Uma parte crucial da monitorização consiste em acompanhar métricas ao nível do sistema que refletem a fiabilidade e a capacidade de resposta. Métricas como a latência e o tempo de atividade ajudam a indicar a eficácia com que o sistema está a processar os pedidos recebidos. A latência mede o tempo que demora a processar um pedido e a devolver uma resposta, enquanto o tempo de atividade destaca a consistência com que o ponto de extremidade permanece disponível.

Outro aspeto fundamental é a observabilidade, que permite acompanhar a forma como os pedidos são tratados. Sempre que um dado de entrada, como uma imagem ou um fotograma de vídeo, é enviado para um modelo implementado, é processado como um pedido de inferência. 

Os registos capturam estas solicitações juntamente com detalhes como registos de data e hora, tempos de resposta e códigos de estado. Estes registos facilitam o rastreio de solicitações, a depuração de problemas e a investigação de falhas quando estas ocorrem. São especialmente úteis para identificar padrões, tais como erros repetidos, respostas lentas ou comportamentos inesperados do sistema.

Ao combinar métricas e registos, a monitorização ajuda os utilizadores a compreender como os seus sistemas estão a funcionar em produção e a responder rapidamente aos problemas à medida que estes surgem.

Uma análise das métricas de desempenho do modelo em comparação com as métricas do sistema

Antes de nos debruçarmos sobre a monitorização da produção, vamos discutir a diferença entre métricas de desempenho do modelo e métricas do sistema.

Normalmente, a monitorização de modelos está associada a métricas de avaliação, também conhecidas como métricas de modelo, tais como exatidão, precisão, recall e mAP precisão média). Estas métricas são utilizadas para descrever o comportamento do modelo e avaliar a qualidade das previsões do modelo, frequentemente em relação a dados de produção ou dados de entrada. Podem ser particularmente úteis para identificar casos extremos ou valores atípicos em novos dados.

No entanto, isto difere da monitorização de um sistema implementado em produção. Neste contexto, a monitorização centra-se no funcionamento do sistema, em vez de avaliar diretamente as previsões do modelo.

Em vez de métricas de modelo, a monitorização da implementação baseia-se em sinais ao nível do sistema, tais como o volume de pedidos, a latência, as taxas de erro e o tempo de atividade. Estas métricas proporcionam visibilidade sobre a forma como os terminais processam os dados de entrada, a consistência das suas respostas e o seu funcionamento em ambientes de produção.

O papel da monitorização de modelos em projetos de visão computacional

A seguir, vamos analisar um exemplo prático que destaca a necessidade de um sistema de monitorização nas implementações de visão computacional.

Considere uma solução de visão computacional que utilize a estimativa de pose — uma tarefa de visão computacional utilizada para identificar e analisar os movimentos do corpo humano — para monitorizar o cumprimento das normas de segurança por parte dos trabalhadores da construção civil. Durante a implementação inicial do modelo, um sistema deste tipo poderá apresentar um bom desempenho em condições controladas, com visibilidade clara e em cenários padrão.

No entanto, os estaleiros de construção reais apresentam uma complexidade adicional. O volume de pedidos pode variar ao longo do dia, as condições da rede podem ser instáveis e várias câmaras ou terminais podem estar a enviar dados em simultâneo. Estes fatores podem resultar em respostas mais lentas ou falhas ocasionais, caso o sistema não seja devidamente monitorizado.

Fig. 2. Estimativa de postura utilizada para monitorizar trabalhadores num estaleiro de construção (Fonte)

Num ambiente de produção como este, torna-se importante compreender o nível de fiabilidade com que o sistema está a funcionar. A monitorização permite verificar se os terminais estão disponíveis, com que rapidez respondem aos pedidos recebidos e com que consistência gerem o tráfego ao longo do tempo.

Por exemplo, um aumento da latência pode indicar uma carga mais elevada ou limitações de recursos, enquanto um aumento das taxas de erro pode indicar problemas no tratamento das solicitações ou na estabilidade do sistema. Os registos fornecem mais contexto, mostrando como as solicitações individuais são processadas e onde ocorrem as falhas.

Ao monitorizar estes sinais, os entusiastas da IA e os cientistas de dados podem identificar problemas numa fase inicial, resolver-los de forma mais eficaz e garantir que os seus sistemas continuam a funcionar de forma fiável à medida que as condições do mundo real mudam.

Utilização Ultralytics para monitorizar modelos de visão implementados

Em muitos fluxos de trabalho de aprendizagem profunda, a monitorização é frequentemente gerida através de ferramentas distintas para registo, métricas e integridade do sistema. Esta configuração fragmentada pode dificultar a obtenção de uma visão clara do funcionamento dos terminais implementados em produção e aumenta a complexidade da gestão das implementações.

Ultralytics simplifica este processo, integrando a monitorização diretamente num ambiente unificado que abrange todo o fluxo de trabalho de visão computacional, desde a ingestão e anotação de dados até ao treino, implementação e monitorização.

Com esta configuração integrada, os utilizadores podem track os seus terminais implementados lidam com o tráfego real, sem necessidade de configurar sistemas de registo externos ou painéis de controlo adicionais. Tudo está disponível num único local, facilitando a observação do comportamento do sistema e a manutenção de implementações fiáveis ao longo do tempo.

É possível aceder às funcionalidades de monitorização diretamente a partir do separador «Implantar». A partir de um único painel, os utilizadores podem track métricas track , analisar o comportamento ao nível das solicitações e visualizar tendências. Estas visualizações integradas facilitam a compreensão do desempenho das soluções sem necessidade de alternar entre ferramentas.

Ao integrar a monitorização, a implementação e a gestão de modelos num fluxo de trabalho mais abrangente, a plataforma reduz a complexidade. Isto facilita a concentração na gestão das implementações, na otimização do desempenho do sistema e na manutenção da fiabilidade.

Funcionalidades de monitorização integradas da Ultralytics

Em implementações reais, a monitorização depende de uma visibilidade clara do funcionamento dos sistemas à medida que as condições mudam ao longo do tempo. Vai além do simples acompanhamento de algumas métricas e envolve compreender o comportamento dos terminais implementados em diferentes ambientes, bem como gerir eficazmente várias implementações.

Inspirada nos comentários da comunidade de IA aplicada à visão computacional sobre os desafios comuns nesta área, a Ultralytics inclui várias funcionalidades que tornam a monitorização mais prática e escalável. 

Aqui está uma visão geral de algumas dessas funcionalidades principais:

  • Visibilidade global da implementação: A página «Implementar» inclui um mapa mundial interativo que apresenta as regiões de implementação com indicadores visuais para os pontos finais ativos e em curso, permitindo aos utilizadores monitorizar a distribuição geográfica e a atividade regional.
  • Visualizações flexíveis do painel: O painel de implementações oferece vários modos de visualização, incluindo visualização em cartões, grelha compacta e visualização em tabela com colunas ordenáveis, tais como nome, região, estado e pedidos, permitindo uma monitorização e comparação estruturadas.
  • Monitorização de vários pontos finais: O painel de controlo agrega dados de monitorização de todas as implementações através de fichas de resumo e listas de implementações.
  • Políticas de retenção de dados: Os dados de monitorização são retidos durante um período definido, com métricas disponíveis por 30 dias e registos por 7 dias, o que permite a análise do desempenho recente e os fluxos de trabalho de depuração.
  • Suporte à monitorização externa: Os pontos finais de implementação podem ser monitorizados utilizando ferramentas externas, como o Datadog, o New Relic e serviços de monitorização de tempo de atividade, ou acedidos através de pontos finais de API para monitorização personalizada e verificações de integridade.

A seguir, vamos analisar algumas destas funcionalidades com mais pormenor e ver como podem ser utilizadas para monitorizar os terminais implementados em produção.

Como track os track indicadores de desempenho utilizando Ultralytics

Assim que um modelo é implementado, a monitorização começa com o acompanhamento das principais métricas do sistema. Embora métricas como a precisão e a recuperação sejam úteis durante o desenvolvimento, a monitorização em produção centra-se em sinais ao nível do sistema, como o tempo de resposta e as taxas de erro, que fornecem informações mensuráveis sobre a fiabilidade com que os terminais estão a lidar com o tráfego real.

Ultralytics disponibiliza um painel centralizado que oferece uma visão clara da atividade dos terminais e do comportamento do sistema. Em particular, o painel de Implementação inclui quatro métricas principais que mostram como os terminais estão a ser utilizados e como respondem aos pedidos recebidos.

Aqui está uma análise mais detalhada destas métricas:

  • Total de pedidos: O número total de pedidos efetuados em todos os pontos de extremidade durante um período de 24 horas. Isto ajuda a identificar padrões de utilização e a procura global.
  • Implementações ativas: O número de terminais atualmente em funcionamento e a responder a pedidos.
  • Latência P95: O tempo de resposta no qual 95% dos pedidos são concluídos. Isto proporciona uma visão mais realista do desempenho, uma vez que tem em conta as respostas mais lentas.
  • Taxa de erro: é a percentagem de pedidos com falha em relação ao número total de pedidos. Esta métrica ajuda a identificar problemas e pode ser utilizada para detect .

Em termos simples, estas métricas oferecem uma visão clara do funcionamento dos terminais implementados em produção. Ao analisar os padrões de utilização, as equipas e os colaboradores podem compreender a distribuição do tráfego, identificar os períodos de pico de carga e garantir que os sistemas se mantêm responsivos e fiáveis à medida que a utilização aumenta.

Compreender o comportamento da implementação do modelo através dos registos

Embora as métricas ofereçam uma visão geral do desempenho do sistema, os registos proporcionam uma análise mais detalhada da forma como os terminais implementados processam cada pedido. Os registos registam cada pedido enviado a um terminal, juntamente com a resposta correspondente.

São úteis para acompanhar problemas, analisar falhas e compreender como as solicitações são processadas. Na Ultralytics , pode selecionar qualquer implementação para visualizar os seus detalhes, incluindo os registos.

Fig. 3. Um exemplo de registos na Ultralytics (Fonte)

Uma entrada de registo na plataforma é apresentada num formato estruturado, facilitando a compreensão do que aconteceu durante cada pedido. Cada entrada inclui um nível de gravidade, que indica a importância do evento, juntamente com um registo temporal que indica quando ocorreu. 

Contém também uma mensagem que descreve o evento e detalhes relacionados com o HTTP, tais como códigos de estado e latência. Estas informações ajudam a rastrear pedidos, a facilitar a resolução de problemas e a depurar erros de forma mais eficaz. Além disso, os registos são agrupados por gravidade, para que os utilizadores possam dar prioridade às implementações que requerem atenção. 

Análise do estado e da fiabilidade dos terminais na Ultralytics

A monitorização também envolve compreender o estado geral dos terminais implementados, incluindo se estão a funcionar corretamente, a responder atempadamente e a processar os pedidos de forma consistente e sem erros. A Ultralytics oferece uma visão clara do estado de cada implementação, facilitando a verificação de que os terminais estão a funcionar conforme o esperado.

A plataforma inclui indicadores visuais de estado para cada implementação, apresentados em fichas individuais de implementação. 

Por exemplo, um indicador verde mostra que o ponto final está em bom estado e a responder normalmente, enquanto um indicador vermelho sinaliza problemas ou tempo de inatividade. Um ícone giratório indica que o sistema está a verificar ativamente o estado da implementação.

Ao monitorizar o estado dos terminais ao longo do tempo, torna-se possível detect numa fase inicial, manter um desempenho consistente e garantir uma experiência estável para as aplicações em execução em produção.

A relação entre os dados de monitorização e a melhoria do desempenho

A monitorização de modelos não se resume apenas ao acompanhamento de métricas. Cria um ciclo de feedback que promove a melhoria contínua ao longo do tempo. À medida que os terminais processam o tráfego real, começam a surgir padrões nas métricas e nos registos que podem revelar problemas como o aumento da latência, taxas de erro mais elevadas ou um comportamento inconsistente do sistema.

A monitorização destaca as áreas que requerem atenção. Por exemplo, uma latência consistentemente elevada pode indicar a necessidade de uma melhor alocação de recursos ou de escalabilidade, enquanto um aumento na taxa de erros pode apontar para problemas no tratamento de pedidos ou na estabilidade do sistema.

Assim que estas questões forem identificadas, é possível tomar medidas para melhorar a fiabilidade. Isso pode envolver ajustar a infraestrutura, dimensionar os recursos ou corrigir problemas na forma como os pedidos são processados. Após estas alterações, os sistemas podem continuar a ser monitorizados para confirmar que o desempenho melhorou.

Ao associar a monitorização a melhorias contínuas, os utilizadores podem manter sistemas robustos à medida que a utilização aumenta e as condições mudam.

Análise de um exemplo prático: monitorização do manuseamento de bagagem na aviação

Para compreender melhor o impacto da monitorização num cenário real, vamos explorar como esta se aplica à automatização das operações terrestres na aviação.

Considere um sistema de visão concebido para monitorizar o carregamento e descarregamento de bagagem durante as operações em terra das aeronaves. Nesta configuração, um modelo de deteção de objetos como Ultralytics pode ser utilizado para detect a bagagem cai das esteiras transportadoras ou do equipamento de manuseamento. 

Durante os testes e a fase inicial de implementação, o sistema em tempo real pode funcionar bem, identificando a bagagem com precisão e respondendo rapidamente.

Vamos construir juntos o futuro da IA!

Comece sua jornada com o futuro do aprendizado de máquina