Descripción general de LiteRT

LiteRT (abreviatura de Lite Runtime), antes conocido como TensorFlow Lite, es el entorno de ejecución de alto rendimiento de Google para la IA integrada en el dispositivo. Puedes encontrar modelos LiteRT listos para ejecutar para una amplia variedad de tareas de AA o IA, o bien convertir y ejecutar modelos de TensorFlow, PyTorch y JAX en el formato TFLite con las herramientas de conversión y optimización de AI Edge.

Características clave

  • Optimizado para el aprendizaje automático integrado en el dispositivo: LiteRT aborda cinco restricciones clave del ODML: latencia (no hay un recorrido de ida y vuelta a un servidor), privacidad (no se salen datos personales del dispositivo), conectividad (no se requiere conectividad a Internet), tamaño (modelo reducido y tamaño binario) y consumo de energía (inferencia eficiente y falta de conexiones de red).

  • Compatibilidad multiplataforma: Compatible con dispositivos Android y iOS, Linux incorporado y microcontroladores.

  • Opciones de modelos de varios frameworks: AI Edge proporciona herramientas para convertir modelos de TensorFlow, PyTorch y JAX al formato FlatBuffers (.tflite), lo que te permite usar una amplia variedad de modelos de vanguardia en LiteRT. También tienes acceso a herramientas de optimización de modelos que pueden controlar la cuantificación y los metadatos.

  • Compatibilidad con diversos lenguajes: Incluye SDKs para Java/Kotlin, Swift, Objective-C, C++ y Python.

  • Alto rendimiento: Aceleración de hardware a través de delegados especializados, como la GPU y Core ML de iOS.

Flujo de trabajo de desarrollo

El flujo de trabajo de desarrollo de LiteRT implica identificar un problema de AA o AA, elegir un modelo que lo resuelva y, luego, implementarlo en el dispositivo. En los siguientes pasos, se explica el flujo de trabajo y se proporcionan vínculos a instrucciones adicionales.

1. Identificar la solución más adecuada para el problema de AA

LiteRT ofrece a los usuarios un alto nivel de flexibilidad y personalización a la hora de resolver problemas de aprendizaje automático, lo que lo hace adecuado para los usuarios que requieren un modelo específico o una implementación especializada. Los usuarios que buscan soluciones listas para usar pueden preferir MediaPipe Tasks, que proporciona soluciones listas para usar para tareas comunes de aprendizaje automático, como la detección de objetos, la clasificación de texto y la inferencia de LLM.

Elige uno de los siguientes frameworks de IA de Edge:

  • LiteRT: Es un entorno de ejecución flexible y personalizable que puede ejecutar una amplia variedad de modelos. Elige un modelo para tu caso de uso, conviértelo al formato LiteRT (si es necesario) y ejecútalo en el dispositivo. Si quieres usar LiteRT, sigue leyendo.
  • MediaPipe Tasks: Soluciones listas para usar con modelos predeterminados que permiten la personalización. Elige la tarea que resuelva tu problema de IA o AA y, luego, implícala en varias plataformas. Si quieres usar MediaPipe Tasks, consulta la documentación de MediaPipe Tasks.

2. Elige un modelo

Un modelo de LiteRT se representa en un formato portátil eficiente conocido como FlatBuffers, que usa la extensión de archivo .tflite.

Puedes usar un modelo de LiteRT de las siguientes maneras:

De manera opcional, un modelo de LiteRT puede incluir metadatos que contengan descripciones del modelo legibles para las personas y datos legibles para máquinas, a fin de generar automáticamente canalizaciones de procesamiento previo y posterior durante la inferencia integrada en el dispositivo. Consulta Agrega metadatos para obtener más detalles.

3. Integra el modelo en tu app

Puedes implementar tus modelos de LiteRT para ejecutar inferencias completamente en el dispositivo en dispositivos web, incorporados y móviles. LiteRT contiene APIs para Python, Java y Kotlin para Android, Swift para iOS y C++ para microdispositivos.

Usa las siguientes guías para implementar un modelo de LiteRT en tu plataforma preferida:

  • Ejecución en Android: Ejecuta modelos en dispositivos Android con las APIs de Java o Kotlin.
  • Ejecución en iOS: Ejecuta modelos en dispositivos iOS con las APIs de Swift.
  • Run on Micro: Ejecuta modelos en dispositivos integrados con las APIs de C++.

En dispositivos iOS y Android, puedes mejorar el rendimiento mediante la aceleración de hardware. En ambas plataformas, puedes usar un Delegado de GPU y, en iOS, puedes usar el Delegado de Core ML. Para agregar compatibilidad con nuevos aceleradores de hardware, puedes definir tu propio delegado.

Puedes ejecutar la inferencia de las siguientes maneras en función del tipo de modelo:

  • Modelos sin metadatos: Usa la API de LiteRT Interpreter. Es compatible con múltiples plataformas y lenguajes, como Java, Swift, C++, Objective-C y Python.

  • Modelos con metadatos: Puedes crear canalizaciones de inferencia personalizadas con la Biblioteca de compatibilidad de LiteRT.

Cómo migrar desde TF Lite

Las aplicaciones que usan bibliotecas de TF Lite seguirán funcionando, pero todo el desarrollo activo y las actualizaciones nuevas solo se incluirán en los paquetes de LiteRT. Las APIs de LiteRT contienen los mismos nombres de métodos que las APIs de TF Lite, por lo que migrar a LiteRT no requiere cambios de código detallados.

Para obtener más información, consulta la guía de migración.

Próximos pasos

Los usuarios nuevos deben comenzar con la guía de inicio rápido de LiteRT. Para obtener información específica, consulta las siguientes secciones:

Conversión de modelos

Guías de la plataforma