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.
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 computacional de los modelos entrenados. Consiste en eliminar selectivamente parámetros, como pesos o conexiones dentro de una red neuronal (NN), que se identifican como menos importantes o redundantes para la tarea del modelo. El objetivo principal es crear modelos más pequeños y rápidos que requieran menos recursos informáticos y memoria, idealmente sin una disminución significativa del rendimiento o la precisión. Este proceso es una parte clave del despliegue eficaz de modelos, especialmente en dispositivos con capacidades limitadas. Aunque "Poda" es el término general,"Poda de Modelos" se refiere específicamente a la aplicación de esta técnica a los modelos ML.
A medida que los modelos de aprendizaje profundo (AD ) se hacen más grandes y complejos para abordar tareas sofisticadas, su demanda de potencia de cálculo, almacenamiento y energía aumenta significativamente. La poda aborda directamente este reto haciendo que los modelos sean más ligeros y eficientes. Esta optimización conlleva varias ventajas: menores necesidades de almacenamiento, menor consumo de energía durante el funcionamiento y disminución de la latencia de inferencia, que es fundamental para las aplicaciones que requieren inferencia en tiempo real. La poda es especialmente valiosa para desplegar modelos en entornos con recursos limitados, como los dispositivos móviles, los sistemas integrados y diversos escenarios de Edge AI en los que la eficiencia es una preocupación primordial. También puede ayudar a mitigar el sobreajuste simplificando el modelo.
Las técnicas de poda se aplican ampliamente en numerosos dominios de la IA. He aquí dos ejemplos concretos:
Los métodos de poda varían, pero en general se dividen en estas categorías principales:
La poda puede aplicarse en distintas fases: antes del entrenamiento (influyendo en el diseño de la arquitectura), durante el proceso de entrenamiento, o después del entrenamiento en un modelo preentrenado, a menudo seguido de un ajuste fino para recuperar la precisión perdida. Los principales marcos de aprendizaje profundo, como PyTorch y TensorFlow proporcionan herramientas y tutoriales, como el Tutorial de Poda dePyTorch , para aplicar diversas estrategias de poda.
La poda es una de las diversas técnicas utilizadas para la optimización de modelos. Es útil distinguirla de los conceptos relacionados:
Estas técnicas no se excluyen mutuamente y suelen utilizarse en combinación con la poda para lograr mayores niveles de optimización. Por ejemplo, un modelo puede podarse primero y luego cuantificarse para obtener la máxima eficacia. Los modelos optimizados a menudo pueden exportarse a formatos estándar como ONNX utilizando herramientas como la función de exportaciónUltralytics para una amplia compatibilidad de despliegue entre diferentes motores de inferencia.
En resumen, la poda es una técnica poderosa para crear modelos de IA eficientes y adecuados a diversas necesidades de despliegue, que desempeña un papel importante en la aplicación práctica de la visión por ordenador (VC) y otras tareas de ML. Plataformas como Ultralytics HUB proporcionan herramientas e infraestructura, incluido el entrenamiento en la nube, que pueden facilitar el desarrollo y la optimización de modelos como YOLOv8 o YOLO11.