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 para inferencia aumenta en proporción a la cantidad de usuarios.

Casos de uso

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 una ejecución más rápida. Por ejemplo, métodos de descomposición de tensores y destilación

Nuestro kit de herramientas es compatible con la cuantización posterior al entrenamiento, el entrenamiento con cuantización, la reducción y el agrupamiento en clústeres. El kit de herramientas también ofrece compatibilidad experimental para la optimización colaborativa a fin de combinar varias técnicas.

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.

Agrupamiento en clústeres

En los modelos agrupados en clústeres, los parámetros del modelo original se reemplazan por una cantidad menor de valores únicos.

Optimización colaborativa

El kit de herramientas ofrece compatibilidad experimental para la optimización colaborativa. De esta forma, puedes beneficiarte de la combinación de varias técnicas de compresión de modelos y, al mismo tiempo, lograr una exactitud mejorada mediante el entrenamiento con cuantización.