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, en el contexto de la inteligencia artificial y el aprendizaje automático, se refiere a las técnicas utilizadas para reducir la complejidad de un modelo eliminando las conexiones o parámetros menos importantes. Este proceso pretende racionalizar el modelo, haciéndolo más eficiente en términos de computación y uso de memoria, sin sacrificar significativamente su precisión. La poda es especialmente valiosa cuando se despliegan modelos en dispositivos con recursos limitados o cuando se pretende acelerar la velocidad de inferencia.

Relevancia de la poda

La principal relevancia de la poda reside en la optimización del modelo. A medida que los modelos de aprendizaje profundo crecen en tamaño y complejidad para lograr una mayor precisión, se vuelven computacionalmente caros y requieren mucha memoria. Esto plantea retos para su despliegue, especialmente en dispositivos periféricos como smartphones o sistemas integrados, que tienen recursos limitados. La poda resuelve este problema creando modelos más pequeños y rápidos que son más fáciles de desplegar y requieren menos potencia de cálculo, lo que permite la inferencia en tiempo real en diversas aplicaciones. Es un paso crucial en la optimización de modelos para su despliegue, haciendo que la IA sea más accesible y práctica en diversas plataformas.

Aplicaciones de la poda

Las técnicas de poda se aplican en varios ámbitos dentro de la IA y el aprendizaje automático. He aquí un par de ejemplos concretos:

  • Visión por ordenador móvil: Considera Ultralytics YOLO modelos utilizados en aplicaciones móviles para tareas como la detección de objetos. La poda puede reducir significativamente el tamaño de estos modelos, permitiéndoles funcionar con eficacia en los teléfonos inteligentes sin agotar la batería ni comprometer el rendimiento. Esto es esencial para las aplicaciones en tiempo real, como los sistemas de seguridad móvil o las aplicaciones de realidad aumentada. Por ejemplo, desplegar un modelo YOLO podado en un Edge TPU en Raspberry Pi puede acelerar la velocidad de inferencia y reducir el consumo de energía.

  • Sistemas de Conducción Autónoma: En los coches de conducción autónoma, la detección rápida y precisa de objetos es primordial. Los vehículos autónomos se basan en modelos complejos para procesar los datos de los sensores en tiempo real. La poda de estos modelos puede reducir la latencia de la inferencia, garantizando una toma de decisiones más rápida por parte del sistema de IA del vehículo. Esto es fundamental para la seguridad y la capacidad de respuesta en entornos de conducción dinámicos. Los modelos optimizados mediante poda también pueden desplegarse utilizando TensorRT para acelerar aún más el rendimiento en las GPU de NVIDIA utilizadas habitualmente en los sistemas autónomos.

Tipos y técnicas

Existen distintos enfoques de la poda, que se clasifican a grandes rasgos en:

  • Poda de pesos: Consiste en eliminar pesos o conexiones individuales de una red neuronal que tengan un impacto mínimo en el resultado del modelo. Las técnicas como la poda basada en la magnitud eliminan los pesos con los valores absolutos más pequeños.
  • Poda de filtros: Este enfoque más estructurado elimina filtros enteros (y sus mapas de características asociados) de las capas convolucionales. La poda de filtros suele conllevar una reducción del tamaño del modelo y un aumento de la velocidad más significativos que la poda de pesos, ya que reduce directamente el número de cálculos.

La poda también puede aplicarse en distintas fases del proceso de desarrollo del modelo:

  • Poda de preentrenamiento: La poda se realiza sobre un modelo preentrenado. Se trata de un enfoque habitual, ya que los modelos preentrenados suelen tener parámetros redundantes.
  • Poda durante el entrenamiento: La poda se integra en el propio proceso de entrenamiento. Esto puede conducir a un entrenamiento más eficaz y a un rendimiento potencialmente mejor del modelo tras la poda.
  • Poda post-entrenamiento: La poda se aplica después de que el modelo se haya entrenado completamente. Éste es el enfoque más sencillo y a menudo implica técnicas como la cuantización para reducir aún más el tamaño del modelo y acelerar la inferencia, a veces utilizadas junto con formatos como ONNX.

En resumen, la poda es una técnica vital de optimización de modelos que permite el despliegue de modelos de IA eficientes y eficaces en entornos con recursos limitados y aplicaciones sensibles a la latencia. Al reducir la complejidad del modelo, la poda contribuye a que la IA sea más práctica y ampliamente aplicable.

Leer todo