Optimización de modelos de TensorFlow

El kit de herramientas de optimización de modelos de TensorFlow minimiza la complejidad que conlleva optimizar la inferencia del aprendizaje automático.

La eficiencia de la inferencia es una preocupación fundamental cuando se implementan modelos de aprendizaje automático debido a la latencia, el uso de memoria y, en muchos casos, el consumo de energía. Sobre todo en los dispositivos perimetrales, como los dispositivos móviles y de Internet de las cosas (IoT), los recursos son aún más limitados, y el tamaño del modelo y la eficiencia del procesamiento se convierten en un tema de preocupación importante.

La demanda informática de entrenamiento aumenta con la cantidad de modelos entrenados en diferentes arquitecturas, mientras que la demanda informática de inferencia aumenta en proporción a la cantidad de usuarios.

Casos prácticos

La optimización de modelos es útil, entre otras cosas, para lo siguiente:

  • Reducir la latencia y el costo de inferencia para los dispositivos en la nube y perimetrales (p. ej., dispositivos móviles, IoT)
  • Implementar modelos en dispositivos perimetrales con restricciones de procesamiento, memoria o consumo de energía
  • Reducir el tamaño de la carga útil para las actualizaciones inalámbricas de los modelos
  • Habilitar la ejecución en hardware optimizado o restringido para operaciones de coma fija
  • Optimizar modelos para aceleradores de hardware con propósitos especiales

Técnicas de optimización

El área de optimización de modelos incluye varias técnicas:

  • Disminuir la cantidad de parámetros con la reducción y la reducción estructurada
  • Reducir la exactitud de representación con la cuantización
  • Actualizar la topología del modelo original a una más eficiente con menos parámetros o a una ejecución más rápida. Por ejemplo, métodos de descomposición del tensor y destilación

Nuestro kit de herramientas es compatible con la cuantización posterior al entrenamiento, el entrenamiento con cuantización y la reducción.

Cuantización

Los modelos cuantizados son aquellos que se representan con menor exactitud, usando, por ejemplo, números enteros de 8 bits en lugar de flotantes de 32 bits. Una menor exactitud es un requisito para aprovechar ciertos tipos de hardware.

Dispersión y reducción

Los modelos dispersos son aquellos en los que se redujeron las conexiones entre los operadores (es decir, capas de redes neuronales) y se incorporaron ceros en los tensores de parámetros.