TensorFlow Lite — qué es, características clave y aplicaciones

Autor: IT Sectr Publicado: 2026-07-17 Tiempo de lectura: 6 min

TensorFlow Lite es una versión ligera del framework TensorFlow, desarrollada por Google para ejecutar modelos de machine learning en dispositivos móviles y empotrados con recursos computacionales limitados. A diferencia de TensorFlow completo, TFLite utiliza un intérprete especializado y el formato .tflite, optimizado para inferencia rápida sin soporte de entrenamiento. Según la TensorFlow Lite Guide, 2025, el framework funciona en Android, iOS y Linux y se utiliza en más de 4 mil millones de dispositivos. TensorFlow Lite admite cuantización, aceleración por hardware a través de delegados NNAPI, GPU y Core ML.

Puntos clave

  • TensorFlow Lite es un framework ligero para ML en dispositivo en móviles y empotrados.
  • Los modelos se convierten al formato .tflite mediante el convertidor TFLite desde TensorFlow SavedModel o Keras.
  • Se admite cuantización INT8, FP16 y cuantización dinámica para reducir el tamaño.
  • La aceleración por hardware está disponible mediante GPU Delegate, NNAPI y Core ML Delegate.
  • TFLite funciona en Android, iOS y Linux con API en Java, C++, Swift y Python.

Qué es TensorFlow Lite

TensorFlow Lite es un runtime especializado para ejecutar modelos de machine learning en dispositivos con recursos limitados. A diferencia de TensorFlow completo, TFLite no admite entrenamiento ni retropropagación — solo inferencia. Esto permite mantener el tamaño binario de la biblioteca al mínimo: alrededor de 300 KB para el intérprete base en Android.

La arquitectura de TFLite se basa en el formato .tflite, fundamentado en FlatBuffers. FlatBuffers proporciona acceso directo a los datos sin etapa de análisis, lo cual es crítico para dispositivos móviles con memoria limitada. Un modelo en formato .tflite contiene el grafo de cálculo, los pesos y los metadatos en un único archivo binario.

Según Google I/O 2024, TFLite se utiliza en Google Photos, Gboard, YouTube y otras aplicaciones de Google con una audiencia combinada de más de 4 mil millones de dispositivos. El framework admite todas las arquitecturas principales: CNN, RNN, LSTM, Transformer y operaciones personalizadas mediante delegados.

Arquitectura de TensorFlow Lite

El runtime de TFLite consta de cuatro componentes. TFLite Converter toma un modelo de TensorFlow (SavedModel, Keras, ConcreteFunction) y lo convierte al formato .tflite con optimización opcional. TFLite Interpreter carga el archivo .tflite y realiza la inferencia, gestionando tensores y memoria.

Los delegados son componentes que transfieren la ejecución de operaciones a hardware especializado. GPU Delegate utiliza OpenGL ES y Metal, NNAPI Delegate usa la API Android Neural Networks, Core ML Delegate utiliza Apple Core ML. XNNPACK Delegate optimiza la ejecución en CPU ARM. Cada delegado admite un conjunto específico de operadores.

El cuarto componente es la Task Library, que proporciona API de alto nivel para tareas típicas: clasificación de imágenes, detección de objetos, segmentación, NLU. La Task Library funciona sobre el Intérprete y oculta los detalles de la gestión de tensores.

Optimización de modelos y cuantización

TFLite admite tres niveles de cuantización. La cuantización entera completa INT8 convierte pesos y activaciones de FP32 a enteros de 8 bits. El tamaño del modelo se reduce 4x y la velocidad de inferencia en dispositivos con soporte INT8 aumenta hasta 3x. La cuantización FP16 reduce el tamaño a la mitad con una mínima pérdida de precisión.

La cuantización dinámica mantiene los pesos en INT8 pero realiza los cálculos en FP32. Este modo es adecuado para modelos sensibles a la precisión y ofrece una reducción de tamaño de hasta 4x manteniendo la calidad. Según Google ML Performance Benchmarks, la cuantización dinámica se recomienda para modelos NLP.

Comparación de modos de cuantización TFLite

ModoTipo de pesosTipo de activacionesReducción de tamaño
FP32 (sin cuantización)FP32FP321x
FP16FP16FP322x
INT8 dinámicoINT8FP324x
INT8 completoINT8INT84x

Aceleración por hardware en Android e iOS

En Android, el principal mecanismo de aceleración es NNAPI Delegate, que transfiere la ejecución de operaciones a NPU, DSP o GPU mediante la API Android Neural Networks. NNAPI está disponible en dispositivos con Android 8.1+ y admite cálculos INT8 y FP16. GPU Delegate para Android utiliza OpenGL ES 3.1+ y Vulkan.

En iOS, la aceleración se proporciona mediante Core ML Delegate, que traduce las operaciones de TFLite al formato Core ML y las ejecuta en Apple Neural Engine. Según Apple ML Benchmarking, el uso de Core ML Delegate acelera la inferencia en iPhone 15 Pro hasta 4x en comparación con la CPU. GPU Delegate para iOS utiliza Metal Performance Shaders.

XNNPACK Delegate es una solución multiplataforma para CPU ARM, optimizada para procesadores móviles. XNNPACK admite operaciones FP32, FP16 e INT8 y no requiere hardware especial. Se recomienda como delegado base para todos los dispositivos.

Despliegue de modelos con TFLite

El proceso de despliegue incluye tres pasos. Primero — convertir el modelo a .tflite mediante TFLite Converter. Segundo — incluir el archivo .tflite en los recursos de la aplicación. Para Android, el archivo se coloca en assets; para iOS, en el bundle de la app mediante Xcode. Tercero — inicializar el Intérprete y realizar la inferencia.

Para actualizaciones dinámicas de modelos, Google recomienda usar Firebase ML Model Downloading o un mecanismo propio de descarga desde la nube. El archivo .tflite actualizado se guarda en el almacenamiento local y se carga en el Intérprete en el próximo inicio.

Al desplegar, es importante considerar el tamaño del archivo .tflite. Google Play limita el tamaño del APK a 200 MB. Para modelos mayores de 50 MB, se recomienda usar Android App Bundle o descargar el modelo por separado mediante Play Asset Delivery.

Ejemplos de uso de TFLite en código

Ejemplo de carga y ejecución de un modelo en Android con API Java. Use Interpreter.create() para cargar .tflite desde assets y run() para la inferencia. Los datos de entrada y salida se pasan como arreglos multidimensionales o ByteBuffer:

java
import org.tensorflow.lite.Interpreter;
import java.nio.MappedByteBuffer;
import java.io.FileInputStream;
import java.nio.channels.FileChannel;

MappedByteBuffer model = new FileInputStream(
    getAssets().openFd("model.tflite")
).getChannel().map(
    FileChannel.MapMode.READ_ONLY, 0, fc.size()
);

Interpreter interpreter = new Interpreter.create(model);
float[][] input = new float[1][224 * 224 * 3];
float[][] output = new float[1][1000];
interpreter.run(input, output);
interpreter.close();

Ejemplo de uso de GPU Delegate en Android para aceleración por hardware. Agregue la dependencia com.android.support:tensorflow-lite-gpu y especifique el delegado al crear el Intérprete:

java
import org.tensorflow.lite.Interpreter;
import org.tensorflow.lite.gpu.GpuDelegate;

GpuDelegate gpuDelegate = new GpuDelegate.create();
Interpreter.Options options = new Interpreter.Options().addDelegate(gpuDelegate);
Interpreter interpreter = new Interpreter.create(model, options);

// Run inference on the input data
interpreter.run(input, output);

// Release delegate resources after inference
gpuDelegate.close();
interpreter.close();

Preguntas frecuentes

¿Cuál es la diferencia entre TensorFlow y TensorFlow Lite?

TensorFlow es un framework completo para entrenamiento e inferencia. TensorFlow Lite es solo para inferencia en dispositivos móviles. TFLite utiliza el formato .tflite y no admite retropropagación.

¿Qué delegados de aceleración están disponibles en TFLite?

Los delegados compatibles incluyen GPU Delegate (OpenGL/Metal), NNAPI Delegate (Android), Core ML Delegate (iOS) y XNNPACK Delegate (ARM CPU). Cada delegado está optimizado para un tipo específico de hardware.

¿Cómo reducir el tamaño de un modelo .tflite?

Use cuantización: FP16 reduce el tamaño 2x, INT8 4x. También están disponibles cuantización dinámica, poda de pesos y destilación del modelo antes de la conversión.

¿Admite TFLite entrenamiento en el dispositivo?

Sí, mediante TFLite Model Maker y la API de entrenamiento en dispositivo (experimental). Se admiten ajuste fino y personalización de modelos directamente en el dispositivo del usuario.

¿Qué tipos de modelos admite TFLite?

TFLite admite CNN, RNN, LSTM, Transformer, arquitecturas móviles (MobileNet, EfficientNet, YOLO, BERT) y operaciones personalizadas. La limitación son los operadores disponibles en el delegado objetivo.

Resumen

  • TensorFlow Lite es un framework ligero para ML en dispositivo en móviles y empotrados de Google.
  • Los modelos se convierten al formato .tflite mediante TFLite Converter desde TensorFlow SavedModel o Keras.
  • La cuantización INT8 y FP16 reduce el tamaño del modelo hasta 4x y acelera la inferencia hasta 3x.
  • La aceleración por hardware está disponible mediante delegados GPU, NNAPI, Core ML y XNNPACK.
  • El runtime ocupa alrededor de 300 KB en Android y funciona en más de 4 mil millones de dispositivos.
  • La Task Library proporciona soluciones listas para clasificación, detección, segmentación y NLU.
  • Para actualizaciones dinámicas, use Firebase ML o Play Asset Delivery.

Desarrollaremos una aplicación móvil llave en mano

IT Sectr crea aplicaciones para iOS y Android para startups y empresas desde 2017. Le asesoraremos y le propondremos la mejor solución.

Discutir el proyecto

Lea también