Yolo Vision Shenzhen
Shenzhen
Únete ahora
Glosario

Poda de modelos

Optimice los modelos de aprendizaje automático con la poda de modelos. Logre una inferencia más rápida, un uso reducido de la memoria y eficiencia energética para implementaciones con recursos limitados.

La poda de modelos es una potente técnica de optimización que se utiliza para reducir el tamaño y la complejidad computacional de los modelos de aprendizaje automático . Mediante la identificación y eliminación sistemática de parámetros innecesarios, como pesos o neuronas que contribuyen poco al resultado final, los desarrolladores pueden crear redes más ágiles y eficientes. Este proceso es análogo a podar las ramas muertas o demasiado crecidas de un árbol para favorecer un crecimiento más saludable. En el contexto de la inteligencia artificial , la poda permite que las arquitecturas grandes y que consumen muchos recursos funcionen más rápido y consuman menos memoria, lo cual es fundamental para implementar sistemas de alto rendimiento como Ultralytics YOLO26 en dispositivos con capacidades de hardware limitadas.

Cómo funciona la poda modelo

El proceso de poda suele constar de tres etapas principales: entrenamiento, poda y ajuste. En primer lugar, se entrena un modelo grande hasta la convergencia para capturar características complejas. Durante la fase de poda, un algoritmo evalúa la importancia de parámetros específicos, normalmente weights and biases—basándose en criterios como la magnitud o la sensibilidad. Los parámetros que se consideran insignificantes se establecen en cero o se eliminan por completo.

El simple hecho de recortar partes de una red puede degradar su precisión. Para contrarrestar esto, el modelo se somete a una ronda posterior de reentrenamiento conocida como ajuste fino. Este paso permite que los parámetros restantes se ajusten y compensen las conexiones que faltan, restaurando a menudo el rendimiento del modelo a niveles cercanos a los originales. La eficacia de este enfoque está respaldada por la hipótesis del billete de lotería, que sugiere que las redes densas contienen subredes más pequeñas capaces de alcanzar una precisión comparable cuando se entrenan de forma aislada.

Tipos de estrategias de poda

Las estrategias de poda suelen clasificarse en función de la estructura de los componentes que se eliminan:

  • Poda no estructurada: Este método se centra en pesos individuales independientemente de su ubicación, estableciendo aquellos con valores bajos a cero. Da como resultado una matriz «esparcida» donde las conexiones valiosas están dispersas. Aunque es eficaz para reducir el tamaño del modelo , la poda no estructurada a menudo requiere hardware especializado o bibliotecas de software para lograr ganancias de velocidad reales.
  • Poda estructurada: En lugar de pesos individuales, este enfoque elimina estructuras geométricas completas, como canales, filtros o capas dentro de las redes neuronales convolucionales (CNN). Al mantener la estructura densa de las matrices, la poda estructurada permite que el hardware estándar procese el modelo de manera más eficiente, lo que se traduce directamente en una menor latencia de inferencia.

Aplicaciones en el mundo real

La poda desempeña un papel fundamental a la hora de hacer accesible la visión artificial avanzada en escenarios prácticos en los que los recursos son limitados:

  1. Detección de objetos móviles: Las aplicaciones que se ejecutan en teléfonos inteligentes, como las aplicaciones de realidad aumentada o los organizadores de fotos, utilizan modelos podados para realizar la detección de objetos de forma local. Esto preserva la duración de la batería y garantiza la privacidad de los datos del usuario al evitar el procesamiento en la nube .
  2. Sistemas de seguridad para automóviles: Los vehículos autónomos dependen del procesamiento rápido de datos visuales para detect y obstáculos. Los modelos podados permiten que el motor de inferencia integrado tome decisiones en fracciones de segundo sin requerir el enorme consumo de energía de una GPU de nivel servidor.

Poda vs. Cuantificación vs. Destilación

Es importante distinguir la poda de otras estrategias de optimización de modelos, aunque a menudo se utilizan conjuntamente:

  • Cuantificación del modelo: En lugar de eliminar parámetros, la cuantificación reduce la precisión de los pesos (por ejemplo, convirtiendo de puntos flotantes de 32 bits a enteros de 8 bits).
  • Destilación del conocimiento: Implica entrenar un modelo «alumno» más pequeño para que imite el comportamiento de un modelo «profesor» más grande , en lugar de modificar directamente el modelo más grande.
  • Poda: Se centra específicamente en eliminar conexiones o estructuras para inducir la dispersión.

Ejemplo de aplicación

Mientras que marcos como PyTorch proporcionan utilidades para aplicar la poda, es útil comprender la mecánica subyacente. El siguiente ejemplo muestra cómo aplicar la poda no estructurada a una capa convolucional, una operación común antes de exportar un modelo a un formato optimizado como ONNX.

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

# Initialize a standard convolutional layer
layer = torch.nn.Conv2d(in_channels=3, out_channels=64, kernel_size=3)

# Apply L1 unstructured pruning to remove 30% of the connections
# This sets the smallest 30% of weights (by absolute value) to zero
prune.l1_unstructured(layer, name="weight", amount=0.3)

# Verify sparsity: calculate the percentage of zero parameters
sparsity = float(torch.sum(layer.weight == 0)) / layer.weight.nelement()
print(f"Layer sparsity: {sparsity:.2%}")

Los futuros avances en arquitectura eficiente, como el próximo YOLO26, tienen como objetivo integrar estos principios de optimización de forma nativa, creando modelos que sean más pequeños, rápidos y precisos por diseño.

Únase a la comunidad Ultralytics

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

Únete ahora