Yolo Vision Shenzhen
Shenzhen
Junte-se agora

Registar experiênciasYOLO Ultralytics utilizando a integração do MLflow

Abirami Vina

4 min de leitura

30 de dezembro de 2024

Explore a forma como a integração e o registo do MLflow podem elevar as suas experiências Ultralytics YOLO , permitindo um rastreio superior para aplicações de visão por computador.

Você pode pensar em um projeto de visão computacional como um quebra-cabeça. Essencialmente, você ensina as máquinas a entender dados visuais juntando as peças do quebra-cabeça, como coletar um conjunto de dados, treinar um modelo e implementá-lo. Quando tudo se encaixa, você obtém um sistema que pode efetivamente analisar e dar sentido a imagens e vídeos.

Mas, tal como um puzzle real, nem todas as partes de um projeto de visão computacional são diretas. Tarefas como o rastreamento de experiências (manter um registo das suas configurações e dados) e o registo (capturar resultados e métricas de desempenho) podem exigir muito tempo e esforço. Embora estes passos sejam fundamentais para melhorar e refinar os seus modelos de visão computacional, por vezes podem parecer um gargalo.

É aqui que entram em ação os modelosYOLO Ultralytics e a sua integração com o MLflow. Modelos como o Ultralytics YOLO11 suportam uma vasta gama de tarefas de visão computacional, incluindo deteção de objectos, segmentação de instâncias e classificação de imagens. Estas capacidades permitem a criação de aplicações de visão computacional interessantes. Ter a opção de confiar em integrações como a integração do MLflow permite que os engenheiros de visão se concentrem no modelo em si, em vez de ficarem presos nos pormenores. 

Em particular, a integração do MLflow simplifica o processo, registando várias métricas, parâmetros e artefactos ao longo do processo de formação. Neste artigo, vamos explorar como funciona a integração do MLflow, as suas vantagens e como pode utilizá-la para otimizar os seus fluxos de trabalho Ultralytics YOLO .

O que é MLflow?

MLflow é uma plataforma de código aberto (desenvolvida pela Databricks) projetada para otimizar e gerenciar todo o ciclo de vida do aprendizado de máquina. Abrange o processo de desenvolvimento, implantação e manutenção de modelos de aprendizado de máquina. 

O MLflow inclui os seguintes componentes principais:

  • Rastreamento de experimentos: Este componente se concentra em registrar detalhes importantes, como configurações do modelo, resultados e arquivos para cada execução de treinamento do modelo. Ele ajuda você a comparar modelos, ver como as mudanças afetam o desempenho e encontrar o melhor.
  • Registo de modelos: É como um sistema de armazenamento para os seus modelos, onde pode manter track das diferentes versões e organizá-las por fases como teste, preparação e produção.
  • Empacotamento de projetos: O MLflow facilita o agrupamento de seus projetos de machine learning, incluindo o código, as configurações e as ferramentas necessárias, para que possam ser compartilhados e usados de forma consistente entre equipes e ambientes.
  • Implantação de modelo: O MLflow fornece ferramentas para implantar rapidamente seus modelos treinados em locais como estações de trabalho ou plataformas de nuvem, como AWS e Azure, tornando-os prontos para uso no mundo real.
__wf_reserved_inherit
Fig. 1. Componentes do MLflow.

Os componentes do MLflow tornam o processo de aprendizagem automática mais fácil e mais eficiente de gerir. Através desta integração, Ultralytics torna possível utilizar a funcionalidade de acompanhamento de experiências do MLflow para registar parâmetros, métricas e artefactos durante o treino de modelos YOLO . Torna simples o track e a comparação de diferentes versões do modelo YOLO .

A integração do MLflow otimiza o treino

Agora que abordamos o que é MLflow, vamos nos aprofundar nos detalhes da integração do MLflow e quais recursos ela oferece. 

A integração do MLflow foi criada para tornar o processo de treino mais eficiente e organizado, rastreando e registrando automaticamente aspetos importantes das suas experiências de visão computacional. Facilita três tipos principais de registo: métricas, parâmetros e artefactos.

Aqui está uma análise mais detalhada de cada tipo de registro:

  • Registro de métricas: As métricas são valores quantitativos que medem o desempenho do seu modelo durante o treinamento. Por exemplo, métricas como precisão, precisão, recall ou perda são rastreadas no final de cada época (uma passagem completa pelo seu conjunto de dados). 
  • Registro de parâmetros: Parâmetros são as configurações que você define antes do início do treinamento do modelo, como taxa de aprendizado, tamanho do lote (o número de amostras processadas em uma etapa de treinamento) e o número de épocas. Esses parâmetros afetam significativamente o comportamento e o desempenho do seu modelo.
  • Registro de artefatos: Artefatos são as saídas ou arquivos gerados durante o treinamento. Isso inclui arquivos essenciais como pesos do modelo (os valores numéricos que seu modelo aprende durante o treinamento), arquivos de configuração (que armazenam as configurações de treinamento) e outros dados relevantes.
__wf_reserved_inherit
Fig 2. Principais recursos de registro da integração MLflow. Imagem do autor.

Como funciona a integração com o MLflow

Pode explorar a documentação Ultralytics para obter instruções passo a passo sobre como ativar a integração do MLflow. Uma vez configurada, a integração rastreia e regista automaticamente os principais detalhes das suas experiências de treino, conforme referido anteriormente. Isto elimina a necessidade de controlo manual e ajuda-o a concentrar-se no aperfeiçoamento dos seus modelos.

Com a integração do MLflow, todas as suas execuções de treinamento são armazenadas em um só lugar, facilitando a comparação de resultados e a avaliação de diferentes configurações. Ao comparar os resultados registrados, você pode identificar as configurações de melhor desempenho e usar esses insights para aprimorar seus modelos. Isso garante que seu fluxo de trabalho seja mais eficiente, bem documentado e reproduzível.

Especificamente, cada sessão de treinamento é organizada em um experimento, que atua como um contêiner para várias execuções. Dentro de um experimento, você pode visualizar todas as execuções associadas, comparar seu desempenho lado a lado e analisar tendências em diferentes configurações. 

Por exemplo, se estiver a testar várias taxas de aprendizagem ou tamanhos de lote com o Ultralytics YOLOv8, todas as execuções relacionadas são agrupadas na mesma experiência para facilitar a comparação e a análise, conforme mostrado abaixo.

__wf_reserved_inherit
Fig. 3. Você pode visualizar experimentos usando a integração do MLflow.

Enquanto isso, no nível de execução individual, o MLflow fornece insights detalhados sobre a sessão de treinamento específica. Você pode visualizar métricas como precisão, perda e exatidão ao longo das épocas, verificar os parâmetros de treinamento utilizados (por exemplo, tamanho do lote e taxa de aprendizado) e acessar artefatos gerados, como pesos do modelo e arquivos de configuração. Esses detalhes são armazenados em um formato organizado, tornando simples revisitar ou reproduzir qualquer execução.

Escolhendo a integração do MLflow: por que ela se destaca

À medida que percorre a documentaçãoUltralytics e explora as integrações disponíveis, poderá dar por si a perguntar: O que distingue a integração do MLflow e porque é que a devo escolher para o meu fluxo de trabalho?

Com integrações como o TensorBoard, que também fornece ferramentas para rastrear métricas e visualizar resultados, é importante entender as qualidades únicas que fazem com que a integração do MLflow se destaque. 

Eis por que razão o MLflow pode ser a escolha ideal para os seus projectosYOLO :

  • Interface amigável: O painel do MLflow facilita a visualização de experimentos, a comparação de execuções e a análise de resultados, ajudando você a identificar rapidamente as configurações de melhor desempenho.
  • Registro de métricas personalizadas: Os engenheiros de visão podem registrar métricas personalizadas, além das métricas padrão, permitindo uma análise mais aprofundada específica para as necessidades de seus projetos.
  • Suporte para fluxos de trabalho em vários idiomas: O MLflow é compatível com várias linguagens de programação, incluindo Python, R e Java, facilitando a integração em diversos pipelines de aprendizagem automática.

Aplicações práticas do YOLO11 e da integração do MLflow

Para compreender melhor quando pode utilizar a integração do MLflow, consideremos uma aplicação de IA no sector da saúde em que é necessário treinar YOLO11 para detect tumores em imagens de raios X ou de tomografia computorizada. 

Em tal cenário, o conjunto de dados consistiria em imagens médicas anotadas. Seria necessário experimentar várias configurações, como ajustar taxas de aprendizado, tamanhos de lote e técnicas de pré-processamento de imagem, para obter uma precisão ideal. Como os riscos são altos na área da saúde e a precisão e a confiabilidade são críticas, rastrear cada experimento manualmente pode rapidamente se tornar incontrolável.

__wf_reserved_inherit
Fig. 4. Deteção de tumores com o Ultralytics YOLO11.

A integração do MLflow aborda este desafio registrando automaticamente os parâmetros, métricas e artefactos de cada experiência. Por exemplo, se modificar a taxa de aprendizagem ou aplicar uma nova estratégia de aumento, o MLflow regista estas alterações juntamente com as métricas de desempenho. Além disso, o MLflow guarda os pesos e configurações do modelo treinado, garantindo que os modelos bem-sucedidos possam ser facilmente reproduzidos e implementados. 

Este é apenas um exemplo de como a integração do MLflow aprimora o gerenciamento de experimentos em aplicações de Visão de IA. Os mesmos recursos se aplicam a outras aplicações de visão computacional, incluindo:

  • Condução autónoma: YOLO11 pode ser utilizado para detect e classify peões, veículos e sinais de trânsito em tempo real para melhorar a segurança e a eficiência dos sistemas de condução autónoma.
  • Análise de retalho: Os modelos de deteção de objectos podem monitorizar o comportamento do cliente, track colocação de produtos e otimizar o inventário, analisando a atividade na loja através de feeds de vídeo.
  • Segurança e vigilância: Os modelos podem ser treinados para detect anomalias ou monitorizar a atividade em tempo real em áreas sensíveis para aumentar a segurança.

Benefícios da integração com o MLflow

A integração do MLflow com os modelosYOLO torna a gestão das experiências de aprendizagem automática mais fácil e mais eficiente. Ao automatizar as principais tarefas e manter tudo organizado, permite-lhe concentrar-se na criação e melhoria dos seus modelos. Eis um resumo das principais vantagens:

  • Escala para grandes projetos: A plataforma lida com vários experimentos e modelos de forma eficiente, tornando-a adequada para equipes maiores e fluxos de trabalho complexos.
  • Histórico detalhado de experimentos: A plataforma mantém um histórico completo de experimentos, permitindo que você revise execuções passadas, analise configurações anteriores e aprenda com resultados anteriores.
  • Desativação e redefinição de opções: O registro do MLflow pode ser facilmente desativado quando não for necessário, e as configurações podem ser redefinidas para os padrões, oferecendo flexibilidade para se adaptar aos diferentes requisitos do fluxo de trabalho.

Principais conclusões

A integração do MLflow torna a gestão e otimização das experiências Ultralytics YOLO mais fácil e eficiente. Ao rastrear automaticamente detalhes importantes, como parâmetros, métricas e artefactos, simplifica o processo e elimina o incómodo da gestão manual de experiências. 

Seja você trabalhando em soluções de saúde, como detecção de tumores, aprimorando sistemas de direção autônoma ou otimizando análises de varejo, essa integração ajuda a manter tudo organizado e reproduzível. Com sua interface intuitiva e flexibilidade, o MLflow permite que os desenvolvedores se concentrem na criação de modelos melhores e no impulsionamento da inovação em aplicações de Visão de IA.

Junte-se à nossa comunidade e confira nosso repositório GitHub para aprender sobre IA. Você também pode explorar mais aplicações de visão computacional na indústria ou IA em carros autônomos em nossas páginas de soluções.

Vamos construir o futuro
da IA juntos!

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

Comece gratuitamente