Os dispositivos móveis e de borda modernos têm unidades de processamento gráfico (GPUs) e unidades de processamento neural (NPUs) especializadas capazes de acelerar modelos de IA em até 25 vezes em comparação com uma CPU, reduzindo simultaneamente o consumo de energia em até 5 vezes.
O LiteRT simplifica o acesso a esses chips especializados usando uma pilha unificada de aceleração de hardware. Em vez de gerenciar SDKs fragmentados e específicos do fornecedor ou APIs de hardware complexas, o LiteRT oferece uma API CompiledModel simplificada que abstrai a complexidade da otimização de modelos, do gerenciamento de memória e do envio de hardware.
Tipos de aceleradores
O LiteRT oferece uma interface unificada para executar modelos em vários back-ends de hardware. Ao usar a API CompiledModel, é possível alternar entre esses aceleradores usando a compilação no dispositivo ou Ahead-of-Time (AOT), com fallback automático para a CPU em operações sem suporte.
- CPU:o caminho de execução padrão usando XNNPACK e sempre disponível. Ótimo para tarefas gerais e fallback para operadores sem suporte.
- GPU:com tecnologia ML Drift, oferece desempenho SOTA em plataformas de edge usando OpenCL, WebGPU, Metal etc. Para mais informações, consulte Aceleração de GPU com LiteRT
- NPU:a maior eficiência e performance para cargas de trabalho de IA. O LiteRT oferece um fluxo de desenvolvimento unificado para acessar chipsets de NPU especializados, incluindo Google Tensor, Qualcomm e MediaTek, sem exigir integração de SDKs específicos do fornecedor. Para mais informações, consulte Aceleração de NPU com LiteRT.
Esses aceleradores podem ser combinados para oferecer o melhor desempenho possível quando algumas operações complexas não estão disponíveis em um determinado hardware. Quando os aceleradores competem por uma operação, o LiteRT usa a seguinte ordem de precedência: NPU, GPU, CPU.