Glosario

Poda

Optimiza los modelos de IA con la poda: reduce la complejidad, aumenta la eficiencia y despliega más rápido en los dispositivos periféricos sin sacrificar el rendimiento.

Entrena los modelos YOLO simplemente
con Ultralytics HUB

Saber más

La poda es una técnica de optimización de modelos utilizada en inteligencia artificial (IA) y aprendizaje automático (AM) para reducir el tamaño y la complejidad de los modelos entrenados. Consiste en eliminar selectivamente parámetros, como pesos o conexiones dentro de una red neuronal (NN), que se consideran menos importantes o redundantes. 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 caída significativa de la precisión. Este proceso es crucial para un despliegue eficaz de los modelos, especialmente en dispositivos con recursos limitados.

Relevancia de la poda

A medida que los modelos de aprendizaje profundo (AD ) se hacen más grandes para abordar tareas complejas, exigen importantes recursos informáticos. La poda aborda este reto haciendo que los modelos sean más ligeros. Esta optimización reduce los requisitos de almacenamiento, disminuye el consumo de energía y reduce la latencia de la inferencia, lo que es vital para los escenarios de inferencia en tiempo real. La poda es especialmente beneficiosa para desplegar modelos en entornos como dispositivos móviles, sistemas integrados y aplicaciones Edge AI, donde la eficiencia es primordial.

Aplicaciones de la poda

Las técnicas de poda se aplican ampliamente en diversos ámbitos de la IA. He aquí dos ejemplos concretos:

  1. Visión por ordenador móvil: Ultralytics YOLO utilizados a menudo para la detección de objetos en los smartphones, pueden podarse para que funcionen eficientemente sin agotar la batería ni requerir una memoria excesiva. Esto permite aplicaciones en tiempo real como la realidad aumentada móvil o el análisis de imágenes en el dispositivo. Desplegar un modelo podado en hardware como una Raspberry Pi equipada con una TPU Edge Google puede acelerar significativamente el rendimiento, como se muestra en guías como el tutorial Edge TPU en Raspberry Pi.
  2. Sistemas de Conducción Autónoma: Los coches de conducción autónoma se basan en modelos complejos para tareas como la detección de peatones y otros vehículos. La poda de estos modelos reduce el tiempo necesario para tomar decisiones críticas, mejorando la seguridad y la capacidad de respuesta. Los modelos optimizados pueden acelerarse aún más utilizando herramientas como NVIDIA TensorRT para su despliegue en las GPUs habituales en los vehículos autónomos.

Tipos y técnicas

Los métodos de poda pueden variar, pero en general se dividen en estas categorías:

  • Poda no estructurada: Elimina pesos individuales en función de la magnitud o la importancia, lo que da lugar a modelos dispersos que pueden requerir hardware o software especializado, como DeepSparse deNeural Magic Magic, para una ejecución eficiente. Ultralytics ofrece guías de integración para herramientas como Neural Magic.
  • Poda Estructurada: Elimina estructuras enteras como filtros, canales o capas. Esto da lugar a modelos más pequeños y densos que suelen ser más fáciles de implantar en hardware estándar. Puedes encontrar más detalles sobre los enfoques estructurados en investigaciones como el trabajo deNVIDIA sobre la sparsity estructurada.

La poda puede aplicarse en distintas fases: antes del entrenamiento (determinando la arquitectura), durante el entrenamiento o después del entrenamiento (afinando un modelo preentrenado). Plataformas como PyTorch proporcionan utilidades para facilitar diversas técnicas de poda.

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

La poda es una de las diversas estrategias de optimización de modelos. Es importante distinguirla de los conceptos relacionados:

  • Cuantización del modelo: Reduce la precisión numérica de los pesos del modelo (por ejemplo, de flotantes de 32 bits a enteros de 8 bits), disminuyendo el tamaño y acelerando el cálculo sin eliminar parámetros.
  • Destilación del conocimiento: Entrena un modelo "alumno" más pequeño para replicar la salida de un modelo "maestro" más grande y preentrenado.

Estas técnicas no se excluyen mutuamente y a menudo se combinan con la poda para lograr la máxima eficacia. Para una visión más amplia, consulta esta guía sobre la optimización de modelos. Los modelos optimizados mediante la poda a menudo pueden exportarse a formatos estándar como ONNX para una mayor compatibilidad de despliegue.

En resumen, la poda es una técnica valiosa para crear modelos de IA eficientes y adecuados a diversas necesidades de despliegue, que contribuye significativamente a la aplicación práctica de la visión por ordenador (VC) y otras tareas de ML. Herramientas y plataformas como Ultralytics HUB suelen incorporar o facilitar tales métodos de optimización.

Leer todo