Yolo Vision Shenzhen
Shenzhen
Junte-se agora
Glossário

Poda de Modelo

Saiba como a poda de modelos reduz o tamanho e a complexidade da rede neural para IA de ponta. Explore estratégias para otimizar Ultralytics para uma inferência mais rápida em dispositivos móveis.

A poda de modelos é uma técnica de aprendizagem automática usada para reduzir o tamanho e a complexidade computacional de uma rede neural, removendo sistematicamente parâmetros desnecessários. Assim como um jardineiro poda galhos mortos ou crescidos demais para estimular o crescimento de uma árvore, os desenvolvedores podam redes artificiais para torná-las mais rápidas, menores e mais eficientes em termos de energia. Esse processo é essencial para a implantação de arquiteturas modernas de aprendizagem profunda em dispositivos com recursos limitados, como smartphones, sensores incorporados e hardware de computação de ponta.

Como funciona a poda de modelos

A ideia central por trás da poda é que as redes neurais profundas são frequentemente "superparametrizadas", o que significa que contêm significativamente mais weights and biases do que o estritamente necessário para resolver um problema específico. Durante o processo de treino, o modelo aprende um grande número de conexões, mas nem todas contribuem igualmente para o resultado final. Os algoritmos de poda analisam o modelo treinado para identificar essas conexões redundantes ou não informativas — normalmente aquelas com pesos próximos de zero — e removê-las.

O ciclo de vida de um modelo podado geralmente segue estas etapas:

  1. Treinamento: Um modelo grande é treinado para convergência, a fim de capturar características complexas.
  2. Poda: Parâmetros de baixa importância são definidos como zero ou fisicamente removidos da estrutura da rede. .
  3. Ajustes finos: O modelo passa por uma segunda rodada de ajustes finos para permitir que os parâmetros restantes sejam ajustados e recuperem qualquer precisão perdida durante a fase de poda .

Essa metodologia é frequentemente associada à Hipótese do Bilhete de Loteria, que sugere que redes densas contêm sub-redes menores e isoladas (bilhetes premiados) que podem atingir precisão comparável ao modelo original se treinadas isoladamente.

Tipos de estratégias de poda

Os métodos de poda são geralmente categorizados com base na estrutura dos componentes que estão a ser removidos.

  • Poda não estruturada: esta abordagem remove pesos individuais em qualquer parte do modelo com base num limiar (por exemplo, magnitude). Embora isso reduza efetivamente a contagem de parâmetros, resulta em matrizes esparsas que podem ser difíceis para o hardware padrão processar com eficiência. Sem software especializado ou aceleradores de hardware, a poda não estruturada pode não produzir melhorias significativas na velocidade.
  • Poda estruturada: este método remove estruturas geométricas inteiras, como canais, filtros ou camadas dentro de uma rede neural convolucional (CNN). Ao preservar a estrutura da matriz densa, o modelo podado permanece compatível com a GPU padrão GPU e CPU , levando a melhorias diretas na latência de inferência e no rendimento.

Aplicações no Mundo Real

A poda é um facilitador crítico para a IA de ponta, permitindo que modelos sofisticados sejam executados em ambientes onde a conectividade com a nuvem não está disponível ou é muito lenta.

  • Detecção de objetos móveis: Aplicações em dispositivos móveis, como tradução de idiomas em tempo real ou realidade aumentada, utilizam modelos podados para preservar a vida útil da bateria e reduzir o uso de memória. Arquiteturas otimizadas como YOLO26 são frequentemente as bases preferidas para essas tarefas devido à sua eficiência inerente.
  • Segurança automóvel: Os carros autônomos e os veículos autônomos exigem tomadas de decisão em frações de segundo . Os modelos podados permitem que os computadores de bordo processem imagens de câmaras de alta resolução para detecção de pedestres sem a latência induzida pela transmissão de dados para um servidor.
  • IoT industrial: Na indústria transformadora, os sistemas de inspeção visual nas linhas de montagem utilizam modelos leves para detect . A poda garante que esses sistemas possam funcionar em microcontroladores económicos, em vez de racks de servidores caros.

Poda vs. Técnicas de otimização relacionadas

Embora a poda de modelos seja uma ferramenta poderosa, ela é frequentemente confundida com outras técnicas de otimização de modelos ou usada em conjunto com elas.

  • Poda vs. Quantização: A poda reduz o número de parâmetros (ligações) no modelo. Em contrapartida, a quantização do modelo reduz a precisão desses parâmetros, por exemplo, convertendo números de ponto flutuante de 32 bits em inteiros de 8 bits . Ambos são frequentemente combinados para maximizar a eficiência da implantação do modelo.
  • Poda vs. destilação de conhecimento: a poda modifica o modelo original cortando partes. A destilação de conhecimento envolve treinar um modelo «aluno» completamente novo e menor para imitar o comportamento de um modelo «professor» maior.

Exemplo de implementação

Python a seguir demonstra como aplicar a poda não estruturada a uma camada convolucional usando PyTorch. Esta é uma etapa comum antes de exportar modelos para formatos otimizados como ONNX.

import torch
import torch.nn as nn
import torch.nn.utils.prune as prune

# Initialize a standard convolutional layer
module = nn.Conv2d(in_channels=1, out_channels=20, kernel_size=3)

# Apply unstructured pruning to remove 30% of the connections
# This sets the weights with the lowest L1-norm to zero
prune.l1_unstructured(module, name="weight", amount=0.3)

# Calculate and print the sparsity (percentage of zero elements)
sparsity = 100.0 * float(torch.sum(module.weight == 0)) / module.weight.nelement()
print(f"Layer Sparsity: {sparsity:.2f}%")

Para usuários que desejam gerenciar todo o ciclo de vida de seus conjuntos de dados e modelos — incluindo treinamento, avaliação e implantação —, a Ultralytics oferece uma interface simplificada. Ela simplifica o processo de criação de modelos altamente otimizados, como o YOLO26, e sua exportação para formatos compatíveis com hardware, como o TensorRT TensorRT ou CoreML.

Junte-se à comunidade Ultralytics

Junte-se ao futuro da IA. Conecte-se, colabore e cresça com inovadores globais

Junte-se agora