Poda de IA (poda de redes neuronales)

Fiabilidad

¿Qué significa “poda de IA”?

La poda de IA, también conocida como poda de redes neuronales, es un conjunto de estrategias para editar una red neuronal y hacerla lo más eficiente posible. El proceso de edición consiste en eliminar parámetros innecesarios, neuronas artificiales, pesos o capas de la red de aprendizaje profundo.

El objetivo es mejorar la eficiencia de la red sin afectar significativamente a la precisión de un modelo de aprendizaje automático.

Ventajas

Una red neuronal profunda puede contener millones o incluso miles de millones de parámetros e hiperparámetros que se utilizan para afinar el rendimiento de un modelo durante la fase de entrenamiento. Muchos de ellos no se volverán a utilizar muy a menudo -o ni siquiera se utilizarán- una vez que se haya desplegado el modelo entrenado.

Si se hace bien, la poda puede:

  • Reducir la complejidad computacional de un modelo de gran tamaño una vez entrenado.
  • Reducir los requisitos de memoria del modelo para que sea menos costoso almacenarlo y utilizarlo.
  • Evitar el sobreajuste, un problema que puede producirse cuando un modelo complejo se entrena tan bien en un conjunto de datos de entrenamiento específico que pierde su capacidad para realizar predicciones precisas con nuevos datos.

Para mejorar la eficacia sin una pérdida significativa de precisión, la poda se utiliza a menudo en combinación con otras dos técnicas de optimización: la cuantización y la destilación de conocimientos. Ambas técnicas de compresión utilizan una precisión reducida para mejorar la eficiencia.

Casos prácticos

La poda puede ser especialmente valiosa para desplegar grandes modelos de inteligencia artificial (IA) y aprendizaje automático (AM) en dispositivos con recursos limitados, como smartphones o dispositivos del Internet de las Cosas (IoT) en el borde de la red.

La poda puede hacer frente a estos retos:

  • Reduciendo el tamaño del modelo: Debido a que un modelo requiere menos capacidad de almacenamiento después de la poda, se puede implementar en dispositivos con almacenamiento limitado.
  • Acelerar la inferencia: Un modelo podado puede ser más rápido porque hay menos parámetros que procesar durante la inferencia (el proceso de hacer predicciones sobre datos nuevos y no vistos).
  • Reducción del consumo de energía: El menor número de parámetros y la reducción del cómputo pueden resultar en un menor consumo de energía, una consideración crítica para los dispositivos que funcionan con baterías en el Internet de las Cosas.
  • Mantener la precisión: Cuando se hace correctamente, la poda reduce el tamaño del modelo al tiempo que mantiene -o a veces incluso mejora- su precisión.

Retos de la poda de IA

La poda se ha convertido en una estrategia importante para garantizar que los modelos y algoritmos de ML sean eficientes y eficaces en el extremo de la red, más cerca de donde se generan los datos y donde se necesitan decisiones rápidas.

El problema es que la poda es un acto de equilibrio. Aunque el objetivo final es reducir el tamaño de un modelo de red neuronal, la poda no puede suponer una pérdida significativa de rendimiento. Un modelo que se poda demasiado puede requerir un reentrenamiento exhaustivo, y un modelo que se poda demasiado poco puede ser más caro de mantener y operar.

Uno de los mayores retos es determinar cuándo hay que podar. La poda iterativa se realiza varias veces durante el proceso de entrenamiento. Después de cada iteración, la red se ajusta para recuperar la precisión perdida y el proceso se repite hasta que se alcanza el nivel deseado de dispersión (reducción de parámetros). Por el contrario, la poda única se realiza de una sola vez, normalmente después de que la red se haya entrenado por completo.

La elección del mejor enfoque puede depender de la arquitectura específica de la red, el entorno de despliegue objetivo y los casos de uso del modelo.

Si la precisión del modelo es de suma importancia y se dispone de suficientes recursos informáticos y tiempo para el entrenamiento, es probable que la poda iterativa sea más eficaz. Por otro lado, la poda de una sola vez es más rápida y a menudo puede reducir el tamaño del modelo y el tiempo de inferencia a un nivel aceptable sin necesidad de múltiples iteraciones.

En la práctica, utilizar una combinación de ambas técnicas y una estrategia de poda más avanzada, como la poda estructurada basada en magnitudes, puede ayudar a lograr el mejor equilibrio entre la eficacia del modelo y unos resultados óptimos.

Poda de IA basada en magnitudes

La poda basada en la magnitud es una de las estrategias avanzadas de poda de IA más comunes. Consiste en eliminar las conexiones (pesos) menos importantes o redundantes entre las neuronas de una red neuronal.

El proceso suele constar de los siguientes pasos:

  • Entrenamiento de la red neuronal

Inicialmente, la red neuronal se entrena en un conjunto de datos utilizando técnicas estándar como el descenso gradiente o sus variantes. Durante el entrenamiento, el modelo aprende a ajustar los pesos de las conexiones entre neuronas para minimizar la función de pérdida, que cuantifica la diferencia entre los resultados previstos y los reales.

  • Clasificación de los pesos

Una vez entrenada la red neuronal, los pesos se clasifican en función de sus magnitudes. La magnitud se refiere al valor absoluto de cada peso. Las ponderaciones con magnitudes más pequeñas se consideran menos importantes, ya que aportan menos valor a la salida del modelo.

  • El proceso de poda

El ingeniero de aprendizaje automático que gestiona el modelo establece un umbral, y las ponderaciones con magnitudes inferiores a este umbral se eliminan de la red neuronal.

  • Ajuste fino

Tras la poda, el modelo se afina. Esto implica volver a entrenar la red recién podada en los datos de entrenamiento originales durante unas cuantas iteraciones más para recuperar cualquier pérdida de rendimiento que pueda haberse producido debido a la poda.

Estrategias adicionales

Es importante señalar que, aunque la poda basada en la magnitud puede producir modelos más eficientes, la elección del umbral de poda y el proceso de ajuste fino son cruciales para lograr un equilibrio entre el tamaño del modelo y el rendimiento.

Para optimizar los resultados, se pueden combinar otras estrategias de poda, como la poda no estructurada o la poda estructurada.

  • La poda no estructurada consiste en eliminar del modelo parámetros o conexiones individuales.
  • La poda estructurada consiste en eliminar grupos enteros de parámetros. Entre los tipos más populares de poda estructurada se encuentran la poda de canales y la poda de neuronas.

Temas relacionados

Margaret Rouse
Senior Editor
Margaret Rouse
Experta en tecnología

Margaret Rouse es una galardonada escritora técnica y profesora conocida por su habilidad para explicar temas técnicos complejos a una audiencia de negocios no técnica. Durante los últimos veinte años, sus explicaciones han aparecido en sitios web de TechTarget y ha sido citada como autoridad en artículos del New York Times, Time Magazine, USA Today, ZDNet, PC Magazine y Discovery Magazine. La idea de diversión de Margaret es ayudar a profesionales de TI y negocios a aprender a hablar los idiomas altamente especializados de cada uno. Si tienes una sugerencia para una nueva definición o cómo mejorar una explicación técnica,…