Aceleración de hardware con LiteRT

Los dispositivos móviles y perimetrales modernos incluyen unidades de procesamiento gráfico (GPU) y unidades de procesamiento neuronal (NPU) especializadas que pueden acelerar los modelos de IA hasta 25 veces en comparación con una CPU, y reducir el consumo de energía hasta 5 veces.

LiteRT simplifica el acceso a este silicio especializado a través de una pila de aceleración de hardware unificada. En lugar de administrar SDKs fragmentados y específicos del proveedor o APIs de hardware complejas, LiteRT proporciona una API de CompiledModel optimizada que abstrae la complejidad de la optimización del modelo, la administración de la memoria y el envío de hardware.

Tipos de aceleradores

LiteRT proporciona una interfaz unificada para ejecutar modelos en una variedad de backends de hardware. Con la API de CompiledModel, puedes cambiar sin problemas entre estos aceleradores usando la compilación en el dispositivo o Ahead-of-Time (AOT), con una reversión automática a la CPU para las operaciones no admitidas.

  • CPU: Es la ruta de ejecución predeterminada que usa XNNPACK y siempre está disponible. Ideal para tareas generales y como alternativa para operadores no admitidos.
  • GPU: Con tecnología de ML Drift, ofrece un rendimiento de vanguardia en todas las plataformas perimetrales que aprovechan OpenCL, WebGPU, Metal, etcétera. Para obtener más información, consulta Aceleración por GPU con LiteRT.
  • NPU: La mayor eficiencia y rendimiento para las cargas de trabajo de IA LiteRT ofrece un flujo de desarrollo unificado para acceder a chipsets de NPU especializados, incluidos Google Tensor, Qualcomm y MediaTek, sin necesidad de integrar SDKs específicos del proveedor. Para obtener más información, consulta Aceleración de NPU con LiteRT.

Estos aceleradores se pueden combinar para obtener el mejor rendimiento posible cuando algunas operaciones complejas no están disponibles en un hardware determinado. Cuando los aceleradores compiten por una operación, LiteRT usa el siguiente orden de precedencia: NPU, GPU, CPU.