Hoja de ruta de TensorFlow Lite

Actualizado: mayo de 2021

Lo siguiente representa una descripción general de alto nivel de nuestra hoja de ruta. Debes tener en cuenta que esta hoja de ruta puede cambiar en cualquier momento y el orden a continuación no refleja ningún tipo de prioridad.

Dividimos nuestra hoja de ruta en cuatro segmentos clave: usabilidad, rendimiento, optimización y portabilidad. Le recomendamos encarecidamente que comente nuestra hoja de ruta y nos proporcione comentarios en el grupo de discusión de TensorFlow Lite .

Usabilidad

  • Cobertura de operaciones ampliada
    • Agregue operaciones específicas basadas en los comentarios de los usuarios.
    • Agregue conjuntos de operaciones específicos para dominios y áreas específicas, incluidas operaciones aleatorias, operaciones de capa base de Keras, tablas hash y operaciones de entrenamiento seleccionadas.
  • Más herramientas de asistencia
    • Proporcione anotaciones gráficas de TensorFlow y herramientas de compatibilidad para validar la compatibilidad de TFLite y el acelerador de hardware durante el entrenamiento y después de la conversión.
    • Permita la orientación y optimización para aceleradores específicos durante la conversión.
  • Entrenamiento en el dispositivo
    • Admite capacitación en el dispositivo para personalización y transferencia de aprendizaje, incluido un Colab que demuestra el uso de un extremo a otro.
    • Admite tipos de variables/recursos (tanto para inferencia como para entrenamiento)
    • Admite la conversión y ejecución de gráficos con múltiples puntos de entrada de funciones (o firmas).
  • Integración mejorada de Android Studio
    • Arrastre y suelte modelos TFLite en Android Studio para generar interfaces de modelo.
    • Mejore la compatibilidad con la creación de perfiles de Android Studio, incluida la creación de perfiles de memoria.
  • Creador de modelos
    • Admite tareas más nuevas, incluida la detección de objetos, la recomendación y la clasificación de audio, que cubren una amplia colección de usos comunes.
    • Admite más conjuntos de datos para facilitar el aprendizaje por transferencia.
  • Biblioteca de tareas
    • Admite más tipos de modelos (por ejemplo, audio, PNL) con capacidades de procesamiento previo y posterior asociadas.
    • Actualice más ejemplos de referencia con las API de tareas.
    • Admite aceleración lista para usar para todas las tareas.
  • Más modelos y ejemplos SOTA
    • Agregue más ejemplos (por ejemplo, audio, PNL, relacionados con datos estructurales) para demostrar el uso del modelo, así como nuevas características y API, que cubren diferentes plataformas.
    • Cree modelos troncales compartibles en el dispositivo para reducir los costos de capacitación e implementación.
  • Implementación perfecta en múltiples plataformas
    • Ejecute modelos de TensorFlow Lite en la web.
  • Soporte multiplataforma mejorado
    • Amplíe y mejore las API para Java en Android, Swift en iOS, Python en RPi.
    • Mejorar la compatibilidad con CMake (por ejemplo, compatibilidad más amplia con aceleradores).
  • Mejor soporte frontal
    • Mejore la compatibilidad con varias interfaces de creación, incluidas Keras y tf.numpy.

Actuación

  • Mejores herramientas
    • Panel público para realizar un seguimiento de las mejoras de rendimiento con cada versión.
    • Herramientas para comprender mejor la compatibilidad de gráficos con aceleradores de destino.
  • Rendimiento de la CPU mejorado
    • XNNPack habilitado de forma predeterminada para una inferencia de punto flotante más rápida.
    • Soporte de media precisión (float16) de extremo a extremo con núcleos optimizados.
  • Soporte de API NN actualizado
    • Soporte completo para las funciones, operaciones y tipos de API NN de la versión más reciente de Android.
  • Optimizaciones de GPU
    • Tiempo de inicio mejorado con soporte de serialización delegada.
    • Interoperabilidad del búfer de hardware para inferencia sin copia.
    • Mayor disponibilidad de aceleración en el dispositivo.
    • Mejor cobertura operativa.

Mejoramiento

  • Cuantización

    • Cuantización selectiva posterior al entrenamiento para excluir ciertas capas de la cuantización.
    • Depurador de cuantificación para inspeccionar las pérdidas por errores de cuantificación por cada capa.
    • Aplicar capacitación consciente de la cuantificación en una mayor cobertura de modelos, por ejemplo, TensorFlow Model Garden.
    • Mejoras de calidad y rendimiento para la cuantificación de rango dinámico posterior al entrenamiento.
    • API de compresión Tensor para permitir algoritmos de compresión como SVD.
  • Poda / escasez

    • Combine API configurables de tiempo de entrenamiento (poda + entrenamiento con reconocimiento de cuantificación).
    • Aumente la aplicación de escasez en los modelos TF Model Garden.
    • Compatibilidad escasa con la ejecución de modelos en TensorFlow Lite.

Portabilidad

  • Soporte de microcontrolador
    • Agregue soporte para una variedad de casos de uso de arquitectura MCU de 32 bits para clasificación de voz e imágenes.
    • Interfaz de audio: soporte de aceleración y preprocesamiento de audio en gráficos
    • Código de muestra y modelos para datos de visión y audio.