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 de LiteRT listos para ejecutarse para una amplia variedad de tareas de AA/IA, o bien convertir y ejecutar modelos de TensorFlow, PyTorch y JAX al formato de TFLite con las herramientas de conversión y optimización de AI Edge.

Características clave

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

  • Compatibilidad con múltiples plataformas: Compatible con dispositivos Android y iOS, Linux incorporado y microcontroladores

  • Opciones de modelos de varios frameworks: AI Edge proporciona herramientas para convertir modelos de PyTorch y TensorFlow 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 IA o AA, elegir un modelo que lo resuelva y, luego, implementar el modelo 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 cuando se trata de resolver problemas de aprendizaje automático, lo que lo convierte en una buena opción 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 AI 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 planeas usar LiteRT, sigue leyendo.
  • MediaPipe Tasks: Son soluciones listas para usar con modelos predeterminados que permiten la personalización. Elige la tarea que resuelve tu problema de IA o AA y, luego, impleméntala en varias plataformas. Si planeas usar MediaPipe Tasks, consulta la documentación de MediaPipe Tasks.

2. Elige un modelo

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

Puedes usar un modelo de LiteRT de las siguientes maneras:

  • Usa un modelo de LiteRT existente: El enfoque más simple es usar un modelo de LiteRT que ya esté en formato .tflite. Estos modelos no requieren pasos de conversión adicionales. Puedes encontrar modelos de LiteRT en Kaggle Models.

  • Convierte un modelo en un modelo de LiteRT: Puedes usar el conversor de PyTorch o el conversor de TensorFlow para convertir modelos al formato FlatBuffers (.tflite) y ejecutarlos en LiteRT. Para comenzar, puedes encontrar modelos en los siguientes sitios:

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 la Web, dispositivos incorporados y dispositivos 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:

  • Ejecutar en Android: Ejecuta modelos en dispositivos Android con las APIs de Java/Kotlin.
  • Ejecutar 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 con 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 sumar 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:

Migra desde TF Lite

Las aplicaciones que usan bibliotecas de TF Lite seguirán funcionando, pero todo el desarrollo activo y las actualizaciones nuevos 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 la migración a LiteRT no requiere cambios detallados en el código.

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 plataformas