Glossário

Poda de modelos

Optimiza os modelos de aprendizagem automática com a poda de modelos - reduz o tamanho, aumenta a velocidade e poupa energia para implementações eficientes em qualquer dispositivo.

Treina os modelos YOLO simplesmente
com Ultralytics HUB

Aprende mais

A poda de modelos é uma poderosa técnica de otimização utilizada na aprendizagem automática para reduzir o tamanho e a complexidade dos modelos sem afetar significativamente o seu desempenho. Esse processo envolve a remoção de parâmetros redundantes ou menos importantes, como pesos e conexões, de uma rede neural treinada. Ao simplificar a arquitetura do modelo, a poda pode levar a tempos de inferência mais rápidos, menor utilização de memória e menor consumo de energia, o que a torna particularmente valiosa para a implementação de modelos em dispositivos com recursos limitados, como smartphones ou sistemas incorporados.

Porquê utilizar a poda de modelos?

A poda de modelos oferece várias vantagens importantes para os profissionais da aprendizagem automática. Em primeiro lugar, pode reduzir significativamente o tamanho de um modelo treinado, tornando-o mais fácil de armazenar e implementar, especialmente em dispositivos com capacidade de armazenamento limitada. Em segundo lugar, os modelos mais pequenos conduzem geralmente a velocidades de inferência mais rápidas, uma vez que há menos cálculos a efetuar durante a previsão. Isto é crucial para aplicações em tempo real, como a deteção de objectos em veículos autónomos ou a análise de vídeos em direto. Em terceiro lugar, a poda pode ajudar a reduzir o consumo de energia, o que é particularmente importante para dispositivos alimentados por bateria e centros de dados de grande escala.

Tipos de poda de modelos

Existem duas categorias principais de poda de modelos:

  • Poda não estruturada: Essa abordagem remove pesos ou conexões individuais da rede com base em sua importância. Embora possa atingir altos níveis de esparsidade, geralmente requer hardware ou software especializado para obter os benefícios de desempenho devido à estrutura irregular do modelo podado.
  • Poda estruturada: Este método remove grupos inteiros de pesos, como neurônios ou canais, da rede. Mantém uma estrutura mais regular, facilitando a aceleração em hardware padrão. A poda estruturada é freqüentemente preferida para aplicações práticas devido à sua compatibilidade com as otimizações de hardware e software existentes.

Técnicas de poda de modelos

Podem ser utilizadas várias técnicas para determinar quais os parâmetros a podar:

  • Poda baseada na magnitude: Esta é a abordagem mais simples, em que os pesos com os valores absolutos mais pequenos são removidos. A ideia é que os pesos próximos de zero contribuem menos para o cálculo global.
  • Poda baseada na sensibilidade: Este método analisa o impacto da remoção de um peso na função de perda do modelo. Os pesos que têm um impacto mínimo na perda são considerados menos importantes e são podados.
  • Poda iterativa: Esta técnica consiste em podar repetidamente uma pequena percentagem de pesos e depois voltar a treinar o modelo para recuperar qualquer precisão perdida. Este processo continua até que o nível desejado de esparsidade seja alcançado.

Model Pruning vs. Outras Técnicas de Otimização

A poda de modelos é frequentemente utilizada em conjunto com outras técnicas de otimização, como a quantização de modelos e a destilação de conhecimentos. Enquanto a poda se concentra na redução do tamanho do modelo através da remoção de parâmetros, a quantização reduz a precisão dos parâmetros restantes (por exemplo, de 32 bits para 8 bits). A destilação de conhecimento, por outro lado, envolve o treinamento de um modelo "aluno" menor para imitar o comportamento de um modelo "professor" maior. Estas técnicas podem ser combinadas para atingir níveis ainda maiores de otimização.

Aplicações reais da poda de modelos

A poda de modelos tem encontrado aplicações em vários domínios, especialmente quando a implementação de modelos de grandes dimensões é um desafio:

  • Dispositivos móveis: A poda permite a implantação de modelos complexos de visão computacional em smartphones para tarefas como reconhecimento de imagem e realidade aumentada. Por exemplo, um modelo Ultralytics YOLO podado pode ser executado de forma eficiente em um dispositivo móvel, fornecendo recursos de deteção de objetos em tempo real sem consumo excessivo de bateria. Aprende a usar os modelosUltralytics YOLO em dispositivos móveis.
  • Dispositivos de borda: Nas aplicações da Internet das Coisas (IoT), a poda permite a implementação de modelos de IA em dispositivos de borda com recursos limitados, como câmaras e sensores. Isto permite o processamento de dados em tempo real na fonte, reduzindo a necessidade de comunicação constante com a nuvem e melhorando a privacidade. Por exemplo, um modelo podado pode ser utilizado para a deteção de anomalias em tempo real em ambientes industriais, sendo executado diretamente nos sistemas incorporados das máquinas.

Conclusão

A poda de modelos é uma técnica valiosa para otimizar os modelos de aprendizagem automática, especialmente para a implementação em ambientes com recursos limitados. Ao reduzir o tamanho e a complexidade do modelo, a poda pode levar a uma inferência mais rápida, menor utilização de memória e menor consumo de energia. O sítio Web Ultralytics oferece uma gama de soluções e ferramentas para ajudar os utilizadores a otimizar os seus modelos, incluindo opções de poda e outras técnicas. Quer estejas a implementar modelos em dispositivos móveis, dispositivos de ponta ou na nuvem, compreender e aplicar a poda de modelos pode aumentar significativamente a eficiência e a praticidade das tuas aplicações de aprendizagem automática.

Lê tudo