Glosario

Poda de modelos

Optimiza los modelos de aprendizaje automático con la poda de modelos. Consigue una inferencia más rápida, menor uso de memoria y eficiencia energética para implantaciones con recursos limitados.

Entrena los modelos YOLO simplemente
con Ultralytics HUB

Saber más

La poda de modelos es una técnica de aprendizaje automático (AM) que se utiliza para optimizar los modelos entrenados reduciendo su tamaño y complejidad. Se trata de identificar y eliminar los parámetros menos importantes, como los pesos del modelo o las conexiones dentro de una red neuronal (NN), que contribuyen mínimamente al rendimiento general del modelo. El objetivo principal es crear modelos más pequeños y rápidos que requieran menos potencia de cálculo y memoria, a menudo sin una disminución significativa de la precisión. Este proceso es una aplicación específica del concepto más amplio de poda aplicado directamente a los modelos ML, haciéndolos más eficientes para su despliegue.

¿Por qué utilizar la Poda Modelo?

El principal motor de la poda de modelos es la eficiencia. Los modelos modernos de aprendizaje profundo (AD ), especialmente en campos como la visión por ordenador (VC), pueden ser extremadamente grandes e intensivos desde el punto de vista computacional. Esto plantea retos para el despliegue de los modelos, sobre todo en dispositivos con recursos limitados, como teléfonos inteligentes, sistemas integrados o en escenarios de computación de borde. La poda de modelos ayuda a resolver estos problemas:

  • Reducción del tamaño de los modelos: Los modelos más pequeños requieren menos espacio de almacenamiento, lo que es crucial para los dispositivos con capacidad de memoria limitada, como los que se utilizan en la IA Edge.
  • Aumento de la velocidad de inferencia: Menos parámetros significan menos cálculos, lo que reduce la latencia de la inferencia y permite capacidades de inferencia en tiempo real, esenciales para aplicaciones como los vehículos autónomos. La aplicaciónUltralytics HUB se beneficia de estas optimizaciones para el despliegue móvil.
  • Menor consumo de energía: La reducción de la carga computacional se traduce en un menor consumo de energía, lo que contribuye a unas prácticas de IA más sostenibles y a una mayor duración de la batería en los dispositivos móviles.
  • Mejorar la generalización: A veces, la poda puede ayudar a reducir el sobreajuste mediante la eliminación de parámetros redundantes, mejorando potencialmente el rendimiento del modelo en datos no vistos.

Tipos de poda de modelos

Las técnicas de poda de modelos varían, pero generalmente se dividen en categorías basadas en la granularidad de lo que se elimina:

  • Poda de pesos (no estructurada): Los pesos individuales por debajo de un determinado umbral de importancia (a menudo basado en la magnitud) se eliminan (se ponen a cero). Esto puede dar lugar a modelos dispersos, pero puede requerir hardware o software especializado, como las herramientas deNVIDIA para modelos dispersos, para una aceleración óptima.
  • Poda de neuronas: Se eliminan de la red neuronas enteras (y sus conexiones) consideradas sin importancia.
  • Poda de Filtros/Canales (Estructurada): Se eliminan filtros o canales enteros en las Redes Neuronales Convolucionales (CNN). Este enfoque de poda estructurada a menudo conduce a aumentos de velocidad más directos en hardware estándar sin necesidad de bibliotecas especializadas. Herramientas como DeepSparse deNeural Magic Magic aprovechan la dispersión para acelerar la CPU , a menudo combinada con la podaYOLOv5 tutorial deYOLOv5 con Neural Magic ).

La poda puede producirse después de que el modelo esté totalmente entrenado o integrarse en el proceso de entrenamiento. Después de la poda, los modelos suelen someterse a un ajuste fino (más entrenamiento en la arquitectura más pequeña) para recuperar el rendimiento perdido durante la eliminación de parámetros. Los marcos como PyTorch proporcionan utilidades para aplicar varios métodos de poda, como se muestra en el Tutorial de poda dePyTorch .

Aplicaciones en el mundo real

La poda de modelos es valiosa en muchos dominios de la IA:

  1. Optimización de la Detección de Objetos en Dispositivos de Borde: Modelos como Ultralytics YOLO utilizados para la detección de objetos pueden podarse para ejecutarse eficientemente en hardware con recursos limitados, como una Raspberry Pi, la TPU Edge deGoogle o laNVIDIA Jetson. Esto permite aplicaciones como la vigilancia en el dispositivo, la supervisión del tráfico(blogsobre la optimización de la gestión del tráfico) o la navegación robótica(blog sobre la integración de la CV en la robótica).
  2. Despliegue local de grandes modelos lingüísticos (LLM): Las técnicas de poda pueden reducir significativamente el tamaño de los modelos de gran tamaño, como los basados en la arquitectura Transformer, permitiéndoles ejecutarse directamente en los dispositivos de los usuarios (por ejemplo, teléfonos inteligentes) para tareas como el procesamiento del lenguaje natural (PLN) sin necesidad de una conectividad constante a la nube. Esto mejora la privacidad de los datos y reduce la latencia para aplicaciones como la traducción en el dispositivo o los asistentes inteligentes.

La poda frente a otras técnicas de optimización

La poda de modelos es una de las diversas técnicas utilizadas para la optimización de modelos. Es distinta de, pero a menudo complementaria de:

  • Cuantización del modelo: Reduce la precisión numérica de los pesos y activaciones del modelo (por ejemplo, de flotantes de 32 bits a enteros de 8 bits), disminuyendo el tamaño del modelo y acelerando el cálculo, especialmente en hardware con soporte especializado como TensorRT.
  • Destilación de conocimientos: Entrena un modelo "alumno" más pequeño para que imite el comportamiento de un modelo "maestro" más grande y preentrenado. El objetivo es transferir los conocimientos del modelo grande a uno más compacto.

Estas técnicas pueden combinarse; por ejemplo, un modelo podría podarse primero y luego cuantificarse para obtener la máxima eficacia. Los modelos optimizados suelen exportarse a formatos estándar como ONNXUltralytics opciones de exportación deUltralytics ) para una amplia compatibilidad de despliegue. Plataformas como Ultralytics HUB proporcionan entornos para gestionar modelos, conjuntos de datos(como COCO), y agilizar el camino hacia el despliegue optimizado.

Leer todo