Una biblioteca de optimización de deep learning que facilita y hace más eficiente el entrenamiento distribuido y la inferencia de modelos grandes.
pytorch/executorch
Stack de inferencia en el dispositivo de PyTorch para ejecutar modelos exportados en teléfonos, laptops, navegadores y microcontroladores.
- Estrellas
- 5,107
- Forks
- 1,207
- Issues abiertos
- 1,328
- Último commit
- hace 9 horas
¿Qué es?
ExecuTorch toma un modelo de PyTorch, lo captura con torch.export, lo convierte en un programa .pte específico para el hardware de destino y lo ejecuta mediante APIs de C++, Python, Swift/Objective-C, Kotlin/Java o JavaScript. Abarca desde teléfonos y laptops hasta sistemas embebidos y microcontroladores.
La aceleración por hardware se gestiona mediante la partición del grafo: las regiones compatibles se delegan a backends de CPU, GPU, NPU o DSP, como XNNPACK, Core ML, Vulkan, Qualcomm y Arm Ethos-U, mientras que el resto se procesa con kernels portables para CPU. El runtime se puede reducir mediante una compilación selectiva, de modo que solo se enlacen los operadores y delegados que necesita cada despliegue. ETDump, ETRecord y las herramientas de depuración numérica permiten hacer profiling y comprobar la precisión.
El proyecto también incluye ejemplos de LLM, voz y visión, además de un servidor local experimental compatible con OpenAI. Los modelos siguen el mismo flujo de exportación, pero cada destino requiere su propia configuración de backend y la validación de precisión y rendimiento.
Funciones clave
- 01Exporta modelos de PyTorch mediante torch.export a programas .pte para ejecutarlos en el dispositivo.
- 02Delega las regiones compatibles del grafo a XNNPACK, Core ML, Vulkan, Qualcomm, Arm y otros backends.
- 03Ofrece APIs de runtime para C++, Python, Swift, Kotlin/Java y JavaScript.
- 04Admite compilaciones selectivas para incluir solo los operadores que necesita cada despliegue.
- 05Incluye ETDump, ETRecord y herramientas de depuración numérica para hacer profiling y comprobar la precisión.
- 06Incluye ejemplos de LLM, reconocimiento y síntesis de voz, y visión artificial.
Casos de uso
- Ejecutar un modelo de visión o lenguaje de PyTorch dentro de una app para Android o iOS, sin servidor.
- Desplegar una red neuronal en un microcontrolador o DSP con hardware Arm Cortex-M o Ethos-U.
- Distribuir un LLM o modelo de voz local en una aplicación para escritorio o laptop.
- Comparar la precisión y la latencia de un modelo en varios backends de hardware.
Inicio rápido
- 1
Instala la versión estable más reciente del paquete de Python (Python 3.11–3.15).
pip install executorch - 2
Guarda el ejemplo Add del README como un script y ejecútalo para exportar el modelo, convertirlo a XNNPACK y ejecutarlo.
Antes de usarlo
- Usar Core ML, Qualcomm u otros aceleradores requiere las dependencias propias de ese backend y una exportación por separado.
- Algunas funciones son experimentales o están etiquetadas como Main/nightly, y pueden cambiar antes del lanzamiento.
- Las compilaciones nightly requieren instalar PyTorch nightly por separado, y las wheels de CUDA solo están disponibles para Linux.
- Las wheels de Python precompiladas solo cubren Linux x86-64, Linux AArch64, macOS arm64 y Windows x86-64; para otros sistemas se necesita compilar desde el código fuente.
Temas
Preguntas frecuentes
- ¿Qué es executorch?
- Stack de inferencia en el dispositivo de PyTorch para ejecutar modelos exportados en teléfonos, laptops, navegadores y microcontroladores. ExecuTorch toma un modelo de PyTorch, lo captura con torch.export, lo convierte en un programa .pte específico para el hardware de destino y lo ejecuta mediante APIs de C++, Python, Swift/Objective-C, Kotlin/Java o JavaScript. Abarca desde teléfonos y laptops hasta sistemas embebidos y microcontroladores.
- ¿executorch es gratuito? ¿Qué licencia tiene?
- executorch es open source bajo la licencia Other. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿executorch sigue mantenido?
- Mantenimiento activo. El último commit de executorch fue el 20 oct 2026.
- ¿Para qué puedo usar executorch?
- Ejecutar un modelo de visión o lenguaje de PyTorch dentro de una app para Android o iOS, sin servidor. Desplegar una red neuronal en un microcontrolador o DSP con hardware Arm Cortex-M o Ethos-U. Distribuir un LLM o modelo de voz local en una aplicación para escritorio o laptop. Comparar la precisión y la latencia de un modelo en varios backends de hardware.
- ¿Cómo se instala executorch?
- Instala la versión estable más reciente del paquete de Python (Python 3.11–3.15).: pip install executorch Guarda el ejemplo Add del README como un script y ejecútalo para exportar el modelo, convertirlo a XNNPACK y ejecutarlo.
- ¿Dónde consigo executorch?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/pytorch/executorch
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Plataforma open source integral para crear e implementar modelos de machine learning, con API para Python y C++.
Biblioteca y servidor rápidos y eficientes en memoria para ejecutar y servir modelos de lenguaje grandes mediante una API compatible con OpenAI.
Ultralytics YOLOv5 es un kit de herramientas de visión artificial basado en PyTorch para detectar objetos, segmentar instancias y clasificar imágenes, con funciones de entrenamiento y exportación.
Biblioteca de Python que ejecuta modelos de lenguaje grandes capa por capa para que los modelos de 70B puedan inferir en una sola GPU de 4 GB, sin cuantización.
Implementación oficial de FlashAttention, un kernel de atención exacta y eficiente en memoria para entrenar e inferir con modelos Transformer en GPU.