Yolo Vision Shenzhen
Shenzhen
Únete ahora
Glosario

Poda de modelos

Descubra cómo la poda de modelos reduce el tamaño y la complejidad de las redes neuronales para la IA periférica. Explore estrategias para optimizar Ultralytics y acelerar la inferencia en dispositivos móviles.

La poda de modelos es una técnica de aprendizaje automático que se utiliza para reducir el tamaño y la complejidad computacional de una red neuronal mediante la eliminación sistemática de parámetros innecesarios. Al igual que un jardinero poda las ramas muertas o demasiado crecidas para que un árbol prospere, los desarrolladores podan las redes artificiales para que sean más rápidas, más pequeñas y más eficientes energéticamente. Este proceso es esencial para implementar modernas arquitecturas de aprendizaje profundo en dispositivos con recursos limitados, como teléfonos inteligentes, sensores integrados y hardware de computación periférica.

Cómo funciona la poda modelo

La idea central detrás de la poda es que las redes neuronales profundas a menudo están «sobreparametrizadas», lo que significa que contienen significativamente más weights and biases de los estrictamente necesarios para resolver un problema específico. Durante el proceso de entrenamiento, el modelo aprende un gran número de conexiones, pero no todas contribuyen por igual al resultado final. Los algoritmos de poda analizan el modelo entrenado para identificar estas conexiones redundantes o no informativas, normalmente aquellas con pesos cercanos a cero, y las eliminan.

El ciclo de vida de un modelo podado suele seguir estos pasos:

  1. Entrenamiento: Se entrena un modelo grande hasta la convergencia para capturar características complejas.
  2. Poda: Los parámetros de baja importancia se establecen en cero o se eliminan físicamente de la estructura de la red .
  3. Ajuste fino: El modelo se somete a una segunda ronda de ajuste fino para permitir que los parámetros restantes se ajusten y recuperen cualquier precisión perdida durante la fase de poda .

Esta metodología se asocia a menudo con la hipótesis del billete de lotería, que sugiere que las redes densas contienen subredes más pequeñas y aisladas (billetes ganadores) que pueden alcanzar una precisión comparable a la del modelo original si se entrenan de forma aislada.

Tipos de estrategias de poda

Los métodos de poda se clasifican generalmente en función de la estructura de los componentes que se eliminan.

  • Poda no estructurada: este enfoque elimina pesos individuales en cualquier parte del modelo basándose en un umbral (por ejemplo, la magnitud). Aunque esto reduce eficazmente el número de parámetros, da como resultado matrices dispersas que pueden ser difíciles de procesar de manera eficiente para el hardware estándar . Sin software especializado o aceleradores de hardware, es posible que la poda no estructurada no suponga una mejora significativa de la velocidad.
  • Poda estructurada: este método elimina estructuras geométricas completas, como canales, filtros o capas dentro de una red neuronal convolucional (CNN). Al conservar la estructura de matriz densa, el modelo podado sigue siendo compatible con GPU y CPU , lo que conduce a mejoras directas en la latencia de inferencia y el rendimiento.

Aplicaciones en el mundo real

La poda es un facilitador crítico para la IA periférica, ya que permite que los modelos sofisticados se ejecuten en entornos donde la conectividad a la nube no está disponible o es demasiado lenta.

  • Detección de objetos móviles: Las aplicaciones en dispositivos móviles, como la traducción de idiomas en tiempo real o la realidad aumentada, utilizan modelos podados para preservar la vida útil de la batería y reducir el uso de memoria. Las arquitecturas optimizadas como YOLO26 suelen ser las bases preferidas para estas tareas debido a su eficiencia inherente.
  • Seguridad automovilística: los coches autónomos y los vehículos autónomos requieren tomar decisiones en fracciones de segundo . Los modelos podados permiten a los ordenadores de a bordo procesar imágenes de alta resolución de las cámaras para detectar peatones sin la latencia que provoca la transmisión de datos a un servidor.
  • IoT industrial: En la fabricación, los sistemas de inspección visual de las líneas de montaje utilizan modelos ligeros para detect . La poda garantiza que estos sistemas puedan funcionar con microcontroladores rentables en lugar de costosos racks de servidores.

Poda frente a técnicas de optimización relacionadas

Aunque la poda de modelos es una herramienta potente, a menudo se confunde con otras técnicas de optimización de modelos o se utiliza junto con ellas.

  • Poda frente a cuantificación: la poda reduce el número de parámetros (conexiones) en el modelo. Por el contrario, la cuantificación del modelo reduce la precisión de esos parámetros, por ejemplo, convirtiendo números de punto flotante de 32 bits en enteros de 8 bits . A menudo se combinan ambos para maximizar la eficiencia en la implementación del modelo.
  • Poda frente a destilación de conocimientos: la poda modifica el modelo original recortando partes. La destilación de conocimientos implica entrenar un modelo «alumno» completamente nuevo y más pequeño para imitar el comportamiento de un modelo «profesor» más grande.

Ejemplo de aplicación

El siguiente Python muestra cómo aplicar la poda no estructurada a una capa convolucional utilizando PyTorch. Este es un paso habitual antes de exportar modelos a formatos optimizados 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 los usuarios que desean gestionar todo el ciclo de vida de sus conjuntos de datos y modelos, incluyendo el entrenamiento, la evaluación y la implementación, la Ultralytics ofrece una interfaz optimizada. Simplifica el proceso de creación de modelos altamente optimizados como YOLO26 y su exportación a formatos compatibles con el hardware, como TensorRT TensorRT o CoreML.

Únase a la comunidad Ultralytics

Únete al futuro de la IA. Conecta, colabora y crece con innovadores de todo el mundo

Únete ahora