Ao clicar em “Aceitar todos os cookies”, concorda com o armazenamento de cookies no seu dispositivo para melhorar a navegação no site, analisar a utilização do site e ajudar nos nossos esforços de marketing. Mais informações
Definições de cookies
Ao clicar em “Aceitar todos os cookies”, concorda com o armazenamento de cookies no seu dispositivo para melhorar a navegação no site, analisar a utilização do site e ajudar nos nossos esforços de marketing. Mais informações
Explore como a integração e o registo do MLflow podem otimizar as suas experiências com o Ultralytics YOLO, permitindo um rastreamento superior para aplicações de visão computacional.
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 jogo os modelos YOLO da 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 a deteção de objetos, a segmentação de instâncias e a classificação de imagens. Estas capacidades permitem a criação de aplicações de visão computacional entusiasmantes. Ter a opção de confiar em integrações como a integração MLflow permite aos engenheiros de visão focarem-se no próprio modelo, em vez de se perderem nos detalhes.
Em particular, a integração com o MLflow simplifica o processo, registrando várias métricas, parâmetros e artefatos ao longo do processo de treinamento. Neste artigo, exploraremos como a integração com o MLflow funciona, seus benefícios e como você pode usá-la para otimizar seus fluxos de trabalho do 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.
Registro de modelos: É como um sistema de armazenamento para seus modelos, onde você pode rastrear diferentes versões e organizá-las por estágios, 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.
Os componentes do MLflow tornam o processo de aprendizado de máquina mais fácil e eficiente de gerenciar. Através desta integração, a Ultralytics torna possível usar o recurso de rastreamento de experimentos do MLflow para registrar parâmetros, métricas e artefatos durante o treinamento de modelos YOLO. Simplifica o rastreamento 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.
Fig 2. Principais recursos de registro da integração MLflow. Imagem do autor.
Como funciona a integração com o MLflow
Você pode explorar a documentação da Ultralytics para obter instruções passo a passo sobre como habilitar a integração com o MLflow. Uma vez configurada, a integração rastreia e registra automaticamente os principais detalhes de seus experimentos de treinamento, conforme discutido acima. Isso elimina a necessidade de rastreamento manual e ajuda você a se manter focado no refinamento de 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 você estiver testando várias taxas de aprendizado ou tamanhos de lote com o Ultralytics YOLOv8, todas as execuções relacionadas serão agrupadas no mesmo experimento para facilitar a comparação e a análise, conforme mostrado abaixo.
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
Ao consultar a documentação da Ultralytics e explorar as integrações disponíveis, você pode se perguntar: o que diferencia a integração do MLflow e por que devo escolhê-la para 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.
Veja por que o MLflow pode ser a escolha ideal para seus projetos YOLO:
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 multi-linguagem: O MLflow é compatível com várias linguagens de programação, incluindo Python, R e Java, facilitando a integração em diversos pipelines de machine learning.
Aplicações práticas do YOLO11 e da integração com MLflow
Para obter uma compreensão mais abrangente de quando você pode usar a integração do MLflow, vamos considerar uma aplicação de IA na área da saúde onde você precisa treinar o YOLO11 para detectar tumores em imagens de raios-X ou tomografias computadorizadas.
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.
Fig 4. Detecção de tumores usando 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: O YOLO11 pode ser usado para detectar e classificar pedestres, veículos e sinais de trânsito em tempo real para melhorar a segurança e a eficiência dos sistemas de direção autônoma.
Análise de varejo: Os modelos de detecção de objetos podem monitorar o comportamento do cliente, rastrear a colocação de produtos e otimizar o estoque, analisando a atividade na loja por meio de feeds de vídeo.
Segurança e vigilância: Os modelos podem ser treinados para detectar anomalias ou monitorar 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 modelos YOLO torna a gestão de experiências de machine learning mais fácil e eficiente. Ao automatizar tarefas importantes e manter tudo organizado, permite que se concentre na construção e melhoria dos seus modelos. Aqui está uma visão geral dos principais benefícios:
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 de experiências Ultralytics YOLO mais fáceis e eficientes. Ao rastrear automaticamente detalhes importantes como parâmetros, métricas e artefactos, simplifica o processo e remove a dificuldade 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.