O LiteRT é o framework no dispositivo do Google para implantação de ML e IA generativa de alta performance em plataformas de borda, usando conversão, ambiente de execução e otimização eficientes.
A versão mais recente do LiteRT 2.x apresenta a API CompiledModel,
uma interface de tempo de execução moderna projetada para maximizar a aceleração de hardware. Embora a API
Interpreter (antigo TensorFlow Lite) ainda esteja disponível para compatibilidade
com versões anteriores, a API CompiledModel é a opção recomendada para desenvolvedores
que buscam desempenho de ponta em aplicativos de IA no dispositivo.
Principais recursos do LiteRT
Simplifique o desenvolvimento com o LiteRT
Seleção automática de acelerador x criação explícita de delegado. Tratamento eficiente de buffers de E/S e execução assíncrona para um desempenho superior. Consulte a documentação sobre inferência no dispositivo.
Melhor desempenho de GPU da categoria
Com tecnologia ML Drift, agora compatível com modelos de ML e IA generativa nas APIs de GPUs. Consulte a documentação sobre aceleração de GPU.
Aceleração unificada da NPU
Acelere seu modelo usando o acesso simplificado à NPU dos principais provedores de chipset. Consulte a documentação sobre aceleração de NPU.
Suporte superior para LLM
O LiteRT oferece implantação de alto desempenho para modelos de IA generativa em plataformas móveis, de computador e da Web. Consulte a documentação de implantação da IA generativa.
Ampla compatibilidade com frameworks de ML
O LiteRT oferece suporte à conversão simplificada de frameworks PyTorch, TensorFlow e JAX
para o formato .tflite ou .litertlm. Consulte a documentação sobre conversão de modelos.
Fluxo de trabalho de desenvolvimento
O LiteRT executa inferências completamente no dispositivo em Android, iOS, Web, IoT e em computadores desktop/notebooks. Independente do dispositivo, o fluxo de trabalho mais comum é o seguinte, com links para mais instruções.

Identificar a solução mais adequada para o desafio de ML
O LiteRT oferece aos usuários um alto nível de flexibilidade e personalização ao resolver problemas de machine learning, o que o torna uma boa opção para quem precisa de um modelo específico ou de uma implementação especializada. Os usuários que procuram soluções plug-and-play podem preferir o MediaPipe Tasks, que oferece soluções prontas para tarefas comuns de machine learning, como detecção de objetos, classificação de texto e inferência de LLM.
Obter e preparar o modelo
Um modelo do LiteRT é representado em um formato portátil eficiente conhecido como
FlatBuffers, que usa a extensão de arquivo .tflite.
É possível conseguir um modelo do LiteRT das seguintes maneiras:
Receba um modelo pré-treinado para cargas de trabalho de ML conhecidas, como segmentação de imagens, detecção de objetos etc.
A abordagem mais simples é usar um modelo LiteRT já no formato
.tflite. Esses modelos não exigem etapas de conversão adicionais.Tipo de modelo Origem do modelo pré-treinado ML clássico
(formato.tflite)Acesse Kaggle ou HuggingFace
.Por exemplo, modelos de segmentação de imagem e app de exemplo.IA generativa
(formato.litertlm)Página do Hugging Face do LiteRT
Por exemplo, Família GemmaConverta o modelo escolhido do PyTorch, TensorFlow ou JAX em um modelo do LiteRT se você não quiser usar um modelo pré-treinado. [PRO USER]
Framework do modelo Modelos de exemplo Ferramenta de conversão Pytorch Hugging Face
TorchvisionLink TensorFlow Modelos do Kaggle
Hugging FaceLink Jax Hugging Face Link Crie seu LLM para otimizar ainda mais usando a API Generativa [USUÁRIO PRO]
Nossa biblioteca de API Generativa oferece blocos de construção integrados do PyTorch para criar modelos Transformer, como Gemma, TinyLlama e outros usando abstrações compatíveis com dispositivos móveis. Assim, podemos garantir a conversão e a execução eficiente no nosso ambiente de execução para dispositivos móveis, o LiteRT. Consulte a documentação da API generativa.
Quantização [USUÁRIO PRO]
O AI Edge Quantizer para desenvolvedores avançados é uma ferramenta para quantizar modelos LiteRT convertidos. O objetivo é facilitar que usuários avançados busquem o desempenho ideal em modelos que exigem muitos recursos (por exemplo, modelos de IA generativa).
Confira mais detalhes na documentação do quantizador de borda de IA.
Integrar o modelo ao app em plataformas de borda
Com o LiteRT, é possível executar modelos de ML totalmente no dispositivo com alto desempenho em plataformas Android, iOS, Web, desktop e IoT.
Use os guias a seguir para integrar um modelo LiteRT na sua plataforma preferida:
| Plataforma compatível | Dispositivos compatíveis | APIs compatíveis |
|---|---|---|
| Executar no Android | Celulares Android | C++/Kotlin |
| Executar no iOS/macOS | Dispositivos móveis iOS, Macbooks | C++/Swift |
| Executar na Web usando LiteRT.js | Dispositivo com Chrome, Firefox ou Safari | JavaScript |
| Executar no Linux | Estação de trabalho Linux ou dispositivos IoT baseados em Linux | C++/Python |
| Executar no Windows | Estações de trabalho ou laptops Windows | C++/Python |
| Executar no Micro | Dispositivos incorporados | C++ |
Os snippets de código a seguir mostram uma implementação básica em Kotlin e C++.
Kotlin
// Load model and initialize runtime
val compiledModel = CompiledModel.create(
"/path/to/mymodel.tflite",
CompiledModel.Options(Accelerator.CPU))
// Preallocate input/output buffers
val inputBuffers = compiledModel.createInputBuffers()
val outputBuffers = compiledModel.createOutputBuffers()
// Fill the input buffer
inputBuffers.get(0).writeFloat(input0)
inputBuffers.get(1).writeFloat(input1)
// Invoke
compiledModel.run(inputBuffers, outputBuffers)
// Read the output
val output = outputBuffers.get(0).readFloat()
C++
// Load model and initialize runtime
LITERT_ASSIGN_OR_RETURN(auto env, GetEnvironment());
LITERT_ASSIGN_OR_RETURN(auto options, GetOptions());
LITERT_ASSIGN_OR_RETURN(
auto compiled_model,
CompiledModel::Create(env, "/path/to/mymodel.tflite", options));
// Preallocate input/output buffers
LITERT_ASSIGN_OR_RETURN(auto input_buffers,compiled_model.CreateInputBuffers(signature_index));
LITERT_ASSIGN_OR_RETURN(auto output_buffers,compiled_model.CreateOutputBuffers(signature_index));
// Fill the input buffer
LITERT_ABORT_IF_ERROR(input_buffers[0].Write(input0));
LITERT_ABORT_IF_ERROR(input_buffers[1].Write(input1));
// Invoke
LITERT_ABORT_IF_ERROR(compiled_model.Run(signature_index, input_buffers, output_buffers));
// Read the output
LITERT_ABORT_IF_ERROR(output_buffers[0].Read(output0));
Escolher um acelerador de hardware
A maneira mais simples de incorporar back-ends no LiteRT é confiar na inteligência integrada do tempo de execução. Com a API CompiledModel, o LiteRT
simplifica bastante a configuração com a capacidade de especificar o
back-end de destino como uma opção. Consulte o guia de inferência no dispositivo para mais detalhes.
| Android | iOS / macOS | Web | Linux / Windows | Internet das Coisas (IoT) | |
|---|---|---|---|---|---|
| CPU | XNNPACK | XNNPACK | XNNPACK | XNNPACK | XNNPACK |
| GPU | WebGPU OpenCL |
WebGPU Metal |
WebGPU | WebGPU OpenCL |
WebGPU |
| NPU | MediaTek Qualcomm |
- | - | - | - |
Mais documentação e suporte
Repositório do GitHub LiteRT-Samples para mais apps de exemplo do LiteRT.
Para usuários atuais do TensorFlow Lite, consulte o guia de migração.
Página de ferramentas do LiteRT para desempenho, criação de perfis, relatórios de erros etc.