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. Debe 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 que para comentar sobre nuestro plan de trabajo y nos proporcionan retroalimentación en el grupo de discusión TensorFlow Lite .

Usabilidad

  • Cobertura de operaciones ampliada
    • Agregue operaciones específicas según los comentarios de los usuarios.
    • Agregue conjuntos de operaciones específicas 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 de gráficos 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.
    • Permitir la orientación y la optimización para aceleradores específicos durante la conversión.
  • Entrenamiento en el dispositivo
    • Admite la capacitación en el dispositivo para la personalización y el aprendizaje de transferencia, incluido un Colab que demuestra el uso de un extremo a otro.
    • Soporta tipos de recursos / variables (tanto para inferencia como para entrenamiento)
    • Admite la conversión y ejecución de gráficos con puntos de entrada de múltiples funciones (o firmas).
  • Integración mejorada de Android Studio
    • Arrastre y suelte modelos de 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.
  • Fabricante 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, NLP) con capacidades de procesamiento previo y posterior asociadas.
    • Actualice más ejemplos de referencia con las API de tareas.
    • Admite aceleración inmediata para todas las tareas.
  • Más modelos y ejemplos de SOTA
    • Agregue más ejemplos (por ejemplo, audio, PNL, datos de estructura relacionados) para demostrar el uso del modelo, así como nuevas funciones y API, que cubran diferentes plataformas.
    • Cree modelos de backbone que se puedan compartir en el dispositivo para reducir los costos de implementación y capacitació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.
    • Mejore el soporte de CMake (por ejemplo, soporte de acelerador más amplio).
  • Mejor soporte frontend
    • Mejore la compatibilidad con varias interfaces de creación, incluidas Keras, tf.numpy.

Rendimiento

  • Mejores herramientas
    • Panel de control público para realizar un seguimiento de las ganancias de rendimiento con cada lanzamiento.
    • Herramientas para comprender mejor la compatibilidad de gráficos con aceleradores de destino.
  • Rendimiento mejorado de la CPU
    • XNNPack habilitado de forma predeterminada para una inferencia de punto flotante más rápida.
    • Soporte de media precisión de extremo a extremo (float16) con kernels optimizados.
  • Compatibilidad con API NN actualizada
    • 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 de búfer de hardware para inferencia de copia cero.
    • Mayor disponibilidad de aceleración en el dispositivo.
    • Mejor cobertura de operaciones.

Mejoramiento

  • Cuantización

    • Cuantización selectiva posterior al entrenamiento para excluir determinadas capas de la cuantificación.
    • Depurador de cuantificación para inspeccionar las pérdidas por error de cuantificación por cada capa.
    • Aplicar entrenamiento basado en cuantificación en más 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 tensorial para permitir algoritmos de compresión como SVD.
  • Poda / escasez

    • Combine API configurables de tiempo de entrenamiento (poda + entrenamiento consciente de cuantización).
    • Aumente la aplicación de esparcimiento en los modelos TF Model Garden.
    • Compatibilidad con la ejecución de modelos dispersos 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áfico
    • Código de muestra y modelos para datos de audio y visión.