Google LiteRT NeuroPilot Stack convierte las NPU Dimensity de MediaTek en objetivos de primera clase para LLM en dispositivos

El nuevo acelerador LiteRT NeuroPilot de Google y MediaTek es un paso concreto hacia la ejecución de modelos generativos reales en teléfonos, computadoras portátiles y hardware de IoT sin enviar cada solicitud a un centro de datos. Toma el tiempo de ejecución LiteRT existente y lo conecta directamente a la pila NeuroPilot NPU de MediaTek, para que los desarrolladores puedan implementar LLM y modelos integrados con una única superficie API en lugar de código personalizado por chip.

¿Qué es el acelerador LiteRT NeuroPilot?

LiteRT es el sucesor de TensorFlow Lite. Es un tiempo de ejecución de alto rendimiento que se encuentra en el dispositivo, ejecuta modelos en formato .tflite FlatBuffer y puede apuntar a backends de CPU, GPU y ahora NPU a través de una capa de aceleración de hardware unificada.

LiteRT NeuroPilot Accelerator es la nueva ruta NPU para hardware MediaTek. Reemplaza al antiguo delegado TFLite NeuroPilot con una integración directa al compilador y tiempo de ejecución de NeuroPilot. En lugar de tratar la NPU como un delegado ligero, LiteRT ahora utiliza una API de modelo compilado que comprende la compilación anticipada (AOT) y la compilación en el dispositivo, y expone ambas a través de las mismas API de C++ y Kotlin.

En el lado del hardware, la integración actualmente apunta a los SoC MediaTek Dimensity 7300, 8300, 9000, 9200, 9300 y 9400, que en conjunto cubren una gran parte del espacio de dispositivos insignia y de gama media de Android.

¿Por qué les importa a los desarrolladores el flujo de trabajo unificado para NPU fragmentadas?

Históricamente, las pilas de ML en los dispositivos eran primero CPU y GPU. Los SDK de NPU se enviaron como cadenas de herramientas específicas del proveedor que requerían flujos de compilación separados por SoC, delegados personalizados y empaquetado de tiempo de ejecución manual. El resultado fue una explosión combinatoria de binarios y mucha depuración de dispositivos específicos.

LiteRT NeuroPilot Accelerator lo reemplaza con un flujo de trabajo de tres pasos que es el mismo independientemente de qué NPU MediaTek esté presente:

Convierta o cargue un modelo .tflite como de costumbre. Opcionalmente, utilice las herramientas LiteRT Python para ejecutar la compilación AOT y producir un paquete AI vinculado a uno o más SoC de destino. Envíe el paquete AI a través de Play for On-device AI (PODAI), luego seleccione Accelerator.NPU en tiempo de ejecución. LiteRT maneja la orientación del dispositivo, la carga del tiempo de ejecución y recurre a la GPU o CPU si la NPU no está disponible.

Para usted como ingeniero, el cambio principal es que la lógica de orientación del dispositivo se traslada a un archivo de configuración estructurado y a la entrega de Play, mientras que el código de la aplicación interactúa principalmente con CompiledModel y Accelerator.NPU.

Se admiten AOT y la compilación en el dispositivo. AOT compila para un SoC conocido con anticipación y se recomienda para modelos más grandes porque elimina el costo de compilar en el dispositivo del usuario. La compilación en el dispositivo es mejor para modelos pequeños y distribución genérica de .tflite, a costa de una mayor latencia de primera ejecución. El blog muestra que para un modelo como Gemma-3-270M, la compilación pura en el dispositivo puede tardar más de 1 minuto, lo que convierte a AOT en la opción realista para el uso de LLM en producción.

Gemma, Qwen y modelos integrados en MediaTek NPU

La pila se basa en modelos de peso abierto en lugar de una única ruta NLU patentada. Google y MediaTek enumeran soporte explícito orientado a la producción para:

Qwen3 0.6B, para generación de texto en mercados como China continental. Gemma-3-270M, un modelo base compacto que es fácil de ajustar para tareas como análisis de sentimientos y extracción de entidades. Gemma-3-1B, un modelo de texto multilingüe para resúmenes y razonamiento general. Gemma-3n E2B, un modelo multimodal que maneja texto, audio y visión para cosas como traducción en tiempo real y respuesta visual a preguntas. EmbeddingGemma 300M, un modelo de incrustación de texto para recuperación, generación aumentada, búsqueda semántica y clasificación.

En el último Dimensity 9500, que se ejecuta en un Vivo X300 Pro, la variante Gemma 3n E2B alcanza más de 1600 tokens por segundo en precarga y 28 tokens por segundo en decodificación en una longitud de contexto de 4K cuando se ejecuta en la NPU.

Para casos de uso de generación de texto, LiteRT-LM se ubica encima de LiteRT y expone un motor con estado con una API de entrada de texto y salida de texto. Un flujo típico de C++ consiste en crear ModelAssets, construir un motor con litert::lm::Backend::NPU, luego crear una sesión y llamar a GenerateContent por conversación. Para incrustar cargas de trabajo, EmbeddingGemma utiliza la API LiteRT CompiledModel de nivel inferior en una configuración de tensor dentro y fuera, nuevamente con la NPU seleccionada a través de las opciones del acelerador de hardware.

Experiencia de desarrollador, canalización de C++ y búferes de copia cero

LiteRT presenta una nueva API de C++ que reemplaza los puntos de entrada de C más antiguos y está diseñada en torno a objetos explícitos de entorno, modelo, modelo compilado y TensorBuffer.

Para las NPU de MediaTek, esta API se integra estrechamente con los buffers AHardwareBuffer y GPU de Android. Puede construir instancias de entrada de TensorBuffer directamente desde búferes OpenGL u OpenCL con TensorBuffer::CreateFromGlBuffer, que permite que el código de procesamiento de imágenes alimente las entradas de NPU sin una copia intermedia a través de la memoria de la CPU. Esto es importante para el procesamiento de cámara y vídeo en tiempo real, donde varias copias por cuadro saturan rápidamente el ancho de banda de la memoria.

Una ruta típica de C++ de alto nivel en el dispositivo se ve así, omitiendo el manejo de errores para mayor claridad:

// Cargar el modelo compilado para el modelo automático de NPU = Model::CreateFromFile(“model.tflite”); opciones automáticas = Opciones::Crear(); opciones->SetHardwareAccelerators(kLiteRtHwAcceleratorNpu); // Crear modelo compilado auto compilado = CompiledModel::Create(*env, *model, *options); // Asigna buffers y ejecuta auto input_buffers = compiled->CreateInputBuffers(); auto output_buffers = compilado->CreateOutputBuffers(); buffers_entrada[0].Escribir(input_span); compilado->Ejecutar(input_buffers, output_buffers); buffers_salida[0].Leer(output_span);

Se utiliza la misma API de modelo compilado ya sea que esté apuntando a CPU, GPU o MediaTek NPU, lo que reduce la cantidad de lógica condicional en el código de la aplicación.

Conclusiones clave

LiteRT NeuroPilot Accelerator es la nueva integración NPU de primera clase entre LiteRT y MediaTek NeuroPilot, que reemplaza al antiguo delegado TFLite y expone una API de modelo compilado unificada con AOT y compilación en el dispositivo en SoC Dimensity compatibles. La pila apunta a modelos concretos de peso abierto, incluidos Qwen3-0.6B, Gemma-3-270M, Gemma-3-1B, Gemma-3n-E2B y EmbeddingGemma-300M, y los ejecuta a través de LiteRT y LiteRT LM en NPU MediaTek con una única abstracción de acelerador. Se recomienda encarecidamente la compilación AOT para los LLM; por ejemplo, Gemma-3-270M puede tardar más de 1 minuto en compilarse en el dispositivo, por lo que las implementaciones de producción deben compilarse una vez en el proceso y enviar paquetes de IA a través de Play para la IA en el dispositivo. En una NPU de clase Dimensity 9500, Gemma-3n-E2B puede alcanzar más de 1600 tokens por segundo en precarga y 28 tokens por segundo en decodificación en contexto 4K, con un rendimiento medido de hasta 12 veces la CPU y 10 veces la GPU para cargas de trabajo LLM. Para los desarrolladores, las API de C++ y Kotlin LiteRT proporcionan una ruta común para seleccionar Accelerator.NPU, administrar modelos compilados y utilizar buffers tensoriales de copia cero, de modo que los objetivos de CPU, GPU y NPU MediaTek puedan compartir una ruta de código y un flujo de trabajo de implementación.

Consulte los documentos y los detalles técnicos. No dude en consultar nuestra página de GitHub para tutoriales, códigos y cuadernos. Además, no dude en seguirnos en Twitter y no olvide unirse a nuestro SubReddit de más de 100.000 ML y suscribirse a nuestro boletín. ¡Esperar! estas en telegrama? Ahora también puedes unirte a nosotros en Telegram.

Michal Sutter es un profesional de la ciencia de datos con una Maestría en Ciencias de Datos de la Universidad de Padua. Con una base sólida en análisis estadístico, aprendizaje automático e ingeniería de datos, Michal se destaca en transformar conjuntos de datos complejos en conocimientos prácticos.

🙌 Siga MARKTECHPOST: agréguenos como fuente preferida en Google.