Model Pruning
Aprende cómo la poda de modelos reduce el tamaño y la complejidad de las redes neuronales para la IA de borde. Explora estrategias para optimizar Ultralytics YOLO26 para una inferencia más rápida en 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. Del mismo modo que un jardinero recorta las ramas muertas o demasiado crecidas para que un árbol prospere, los desarrolladores podan las redes artificiales para hacerlas más rápidas, pequeñas y eficientes desde el punto de vista energético. Este proceso es esencial para desplegar arquitecturas modernas de aprendizaje profundo en dispositivos con recursos limitados, como teléfonos inteligentes, sensores integrados y hardware de computación en el borde.
Link to this sectionCómo funciona la poda de modelos#
La idea central de la poda es que las redes neuronales profundas suelen estar "sobreparametrizadas", lo que significa que contienen muchos más pesos y sesgos de los estrictamente necesarios para resolver un problema específico. Durante el proceso de entrenamiento, el modelo aprende una gran cantidad 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 eliminarlas.
El ciclo de vida de un modelo podado sigue generalmente estos pasos:
-
Entrenamiento: Se entrena un modelo grande hasta la convergencia para capturar características complejas.
-
Poda: Los parámetros de baja importancia se establecen en cero o se eliminan físicamente de la estructura de la red.
-
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.
Link to this sectionTipos de estrategias de poda#
Los métodos de poda se clasifican generalmente según 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 (p. ej., magnitud). Aunque esto reduce eficazmente el número de parámetros, da lugar a matrices dispersas que pueden ser difíciles de procesar eficientemente por el hardware estándar. Sin software especializado o aceleradores de hardware, la poda no estructurada puede no producir mejoras significativas de velocidad.
- Poda estructurada: Este método elimina estructuras geométricas completas, como canales, filtros o capas dentro de una red neuronal convolucional (CNN). Al preservar la estructura de la matriz densa, el modelo podado sigue siendo compatible con el hardware estándar de GPU y CPU, lo que conduce a mejoras directas en la latencia de inferencia y el rendimiento.
Link to this sectionAplicaciones en el mundo real#
La poda es un habilitador fundamental para la Edge AI, permitiendo que modelos sofisticados se ejecuten en entornos donde la conectividad a la nube no está disponible o es demasiado lenta.
- Detección de objetos en 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 duración de la batería y reducir el uso de memoria. Arquitecturas optimizadas como YOLO26 son a menudo bases preferidas para estas tareas debido a su eficiencia inherente.
- Seguridad automotriz: Los coches autoconducidos y vehículos autónomos requieren una toma de decisiones en fracciones de segundo. Los modelos podados permiten que los ordenadores de a bordo procesen transmisiones de cámara de alta resolución para la detección de peatones sin la latencia provocada por la transmisión de datos a un servidor.
- IoT industrial: En la fabricación, los sistemas de inspección visual en las líneas de montaje utilizan modelos ligeros para detectar defectos. La poda garantiza que estos sistemas puedan ejecutarse en microcontroladores rentables en lugar de en costosos racks de servidores.
Link to this sectionPoda frente a otras técnicas de optimización relacionadas#
Aunque la poda de modelos es una herramienta potente, a menudo se confunde o se utiliza junto con otras técnicas de optimización de modelos.
- Poda frente a cuantización: La poda reduce el número de parámetros (conexiones) en el modelo. Por el contrario, la cuantización de modelos reduce la precisión de esos parámetros, por ejemplo, convirtiendo números de punto flotante de 32 bits en enteros de 8 bits. Ambas se combinan a menudo para maximizar la eficiencia para el despliegue de modelos.
- Poda frente a destilación de conocimiento: La poda modifica el modelo original cortando partes. La destilación de conocimiento implica entrenar un modelo "estudiante" completamente nuevo y más pequeño para imitar el comportamiento de un modelo "profesor" más grande.
Link to this sectionEjemplo de implementación#
El siguiente ejemplo de Python demuestra cómo aplicar la poda no estructurada a una capa convolucional utilizando PyTorch. Este es un paso común 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 buscan gestionar todo el ciclo de vida de sus conjuntos de datos y modelos (incluidos el entrenamiento, la evaluación y el despliegue), la Ultralytics Platform ofrece una interfaz optimizada. Simplifica el proceso de creación de modelos altamente optimizados como YOLO26 y su exportación a formatos compatibles con hardware como TensorRT o CoreML.






