Glossário

Poda

Optimiza os modelos de IA com poda - reduz a complexidade, aumenta a eficiência e implementa mais rapidamente em dispositivos edge sem sacrificar o desempenho.

Treina os modelos YOLO simplesmente
com Ultralytics HUB

Aprende mais

A poda é uma técnica de otimização de modelos utilizada na inteligência artificial (IA) e na aprendizagem automática (AM) para reduzir a dimensão e a complexidade dos modelos treinados. Envolve a remoção selectiva de parâmetros, como pesos ou ligações dentro de uma rede neural (NN), que são considerados menos importantes ou redundantes. O principal objetivo é criar modelos mais pequenos e mais rápidos que exijam menos potência computacional e memória, muitas vezes sem uma queda significativa na precisão. Esse processo é crucial para a implantação eficiente de modelos, especialmente em dispositivos com recursos limitados.

Importância da poda

À medida que os modelos de aprendizagem profunda (DL) se tornam maiores para lidar com tarefas complexas, exigem recursos computacionais substanciais. A poda aborda esse desafio, tornando os modelos mais leves. Esta otimização reduz os requisitos de armazenamento, diminui o consumo de energia e reduz a latência da inferência, o que é vital para cenários de inferência em tempo real. A poda é particularmente benéfica para a implantação de modelos em ambientes como dispositivos móveis, sistemas incorporados e aplicações de IA de borda, onde a eficiência é fundamental.

Aplicações da poda

As técnicas de poda são amplamente aplicadas em vários domínios da IA. Eis dois exemplos concretos:

  1. Visão computacional móvel: Ultralytics YOLO Os modelos YOLO, frequentemente utilizados para a deteção de objectos em smartphones, podem ser reduzidos para serem executados de forma eficiente sem esgotar a bateria ou exigir memória excessiva. Isto permite aplicações em tempo real, como a realidade aumentada móvel ou a análise de imagens no dispositivo. A implementação de um modelo podado em hardware como um Raspberry Pi equipado com um Google Edge TPU pode acelerar significativamente o desempenho, conforme demonstrado em guias como o tutorial Edge TPU no Raspberry Pi.
  2. Sistemas de condução autónoma: Os carros autónomos dependem de modelos complexos para tarefas como a deteção de peões e outros veículos. A poda desses modelos reduz o tempo necessário para tomar decisões críticas, aumentando a segurança e a capacidade de resposta. Os modelos optimizados podem ser ainda mais acelerados utilizando ferramentas como a NVIDIA TensorRT para implementação nas GPUs normalmente encontradas em veículos autónomos.

Tipos e técnicas

Os métodos de poda podem variar, mas geralmente enquadram-se nestas categorias:

  • Poda não estruturada: Remove pesos individuais com base na magnitude ou importância, levando a modelos esparsos que podem exigir hardware ou software especializado, como o DeepSparse daNeural Magic, para uma execução eficiente. Ultralytics oferece guias de integração para ferramentas como Neural Magic.
  • Poda estruturada: Remove estruturas inteiras, como filtros, canais ou camadas. Isso resulta em modelos menores e densos que são normalmente mais fáceis de implantar em hardware padrão. Mais detalhes sobre abordagens estruturadas podem ser encontrados em pesquisas como o trabalho daNVIDIA sobre esparsidade estruturada.

A poda pode ser aplicada em diferentes fases: antes do treino (determinação da arquitetura), durante o treino ou após o treino (afinação de um modelo pré-treinado). Plataformas como PyTorch fornecem utilitários para facilitar várias técnicas de poda.

Poda vs. outras técnicas de otimização

A poda é uma das várias estratégias de otimização de modelos. É importante distingui-la de conceitos relacionados:

  • Quantização de modelos: Reduz a precisão numérica dos pesos do modelo (por exemplo, de floats de 32 bits para inteiros de 8 bits), diminuindo o tamanho e acelerando o cálculo sem remover parâmetros.
  • Destilação de conhecimento: Treina um modelo "aluno" menor para replicar a saída de um modelo "professor" maior e pré-treinado.

Estas técnicas não são mutuamente exclusivas e são frequentemente combinadas com a poda para obter a máxima eficiência. Para obter uma visão geral mais ampla, consulta este guia de otimização de modelos. Os modelos otimizados através da poda podem ser exportados para formatos padrão como ONNX para uma maior compatibilidade de implantação.

Em suma, a poda é uma técnica valiosa para criar modelos de IA eficientes e adequados a diversas necessidades de implementação, contribuindo significativamente para a aplicação prática da visão por computador (CV) e de outras tarefas de ML. Ferramentas e plataformas como o Ultralytics HUB incorporam ou facilitam frequentemente esses métodos de otimização.

Lê tudo