ExecuTorch y TensorFlow Lite

Hace unas semanas, en la conferencia PyTorch, el equipo lanzó ExecuTorch , que es una herramienta que ejecuta modelos de PyTorch en dispositivos como teléfonos inteligentes, dispositivos portátiles y sistemas integrados.

Hace cuatro años, PyTorch Mobile se introdujo con un propósito similar, pero ExecuTorch utiliza un tamaño de memoria significativamente más pequeño y una huella de memoria dinámica, lo que resulta en un rendimiento y portabilidad superiores en comparación con PyTorch Mobile.

ExecuTorch no depende de TorchScript y, en cambio, aprovecha el compilador PyTorch 2 y la funcionalidad de exportación para la ejecución en el dispositivo de los modelos PyTorch.

No es sólo una reescritura de PyTorch Mobile; Aprovecha el compilador PyTorch 2, lo cual es un avance significativo. No limitado a móviles, el rendimiento incluye capacidades de hardware de CPU, NPU y DSP.

El equipo dijo que era un desafío para los dispositivos adaptarse a la compatibilidad con TorchScript, por lo que los modelos más nuevos optan cada vez más por el compilador PyTorch 2 para mejorar el rendimiento, lo que significa que el ya impopular Pytorch Mobile verá menos usuarios y soporte automático para ExecuTorch.

Por otro lado, TensorFlow Lite, que se lanzó en 2017 , también es una herramienta que convierte los modelos de TensorFlow a un formato más eficiente que se puede ejecutar en dispositivos perimetrales.

Para ello, utiliza un compilador llamado TensorFlow Lite Converter para convertir el modelo a un formato de búfer plano que puede ejecutarse mediante un tiempo de ejecución liviano.

Ahora, para comparar los dos sistemas, es imperativo comprender también cómo se utilizan los marcos en el aprendizaje automático.

TensorFlow Lite y ExecuTorch

ExecuTorch y TensorFlow Lite son herramientas diseñadas para implementar modelos de aprendizaje automático en dispositivos de vanguardia, como teléfonos inteligentes, dispositivos portátiles y sistemas integrados. Sin embargo, estas herramientas presentan diferencias significativas debido a los marcos en los que se basan.

PyTorch es innegablemente más favorable que Tensorflow y la mayoría de los expertos e investigadores de la industria lo prefieren a su contraparte más engorrosa. Si bien PyTorch Mobile tenía una compatibilidad limitada en dispositivos de borde, la introducción de ExecuTorch ha llenado ese vacío.

ExecuTorch se basa en PyTorch 2.0. Es más popular que Torch Script porque es fácil de usar y el compilador es compatible con una gama más amplia de dispositivos que TensorFlow.

Una de sus características destacadas es su compatibilidad con dispositivos Android, lo que la convierte en una opción atractiva para quienes son nuevos en la implementación del aprendizaje automático o necesitan compatibilidad con dispositivos Android.

Por el contrario, TensorFlow Lite, basado en el marco de TensorFlow, se ha establecido como una opción confiable conocida por su rendimiento y eficiencia excepcionales dentro del marco de TensorFlow. Para mejorar su adaptabilidad, TensorFlow actualizó la implementación de modelos LLM en Android.

ExecuTorch es elogiado por su facilidad de uso, amplia compatibilidad de modelos y soporte específico para dispositivos Android. Por el contrario, TensorFlow Lite, basado en TensorFlow, sobresale en rendimiento y cuenta con compatibilidad con una amplia gama de dispositivos.

ExecuTorch es una opción práctica para una amplia compatibilidad de modelos o compatibilidad con dispositivos Android. Por otro lado, TensorFlow Lite puede ser la opción más adecuada si su prioridad es el rendimiento de primer nivel en el dispositivo.

Un paso adelante de PyTorch Mobile

ExecuTorch supera a PyTorch Mobile en varias áreas clave. En primer lugar, demuestra un rendimiento y portabilidad superiores debido a su tamaño de memoria más pequeño y su huella de memoria dinámica. El compilador utilizado por ExecuTorch optimiza el modelo para el dispositivo de destino y la funcionalidad de exportación genera un archivo de modelo más pequeño.

Utiliza una técnica llamada asignación de memoria bajo demanda, lo que significa que solo asigna la memoria que necesita cuando la necesita.

Esto contrasta con PyTorch Mobile, que tiene una huella de memoria estática. Esto significa que PyTorch Mobile asigna toda la memoria que necesita por adelantado, incluso si no la necesita toda de inmediato. Esto puede provocar problemas de rendimiento y fallos de memoria en dispositivos con memoria limitada.

ExecuTorch también destaca por su facilidad de uso. A diferencia de PyTorch Mobile, no depende de TorchScript, un compilador potencialmente complejo que requiere cambios en el código del modelo. En cambio, Executorch utiliza el compilador PyTorch 2 y la funcionalidad de exportación, lo que simplifica el proceso de implementación.

Además de estas ventajas principales, ExecuTorch se mantiene y actualiza activamente, en contraste con el estancamiento del desarrollo de PyTorch Mobile. Su comunidad más amplia de usuarios y desarrolladores proporciona una valiosa red de soporte.

Además, ExecuTorch se integra perfectamente con el ecosistema PyTorch, lo que garantiza la coherencia en las herramientas y bibliotecas para el desarrollo y la implementación de modelos.

Relacionado

Python supera a Java para convertirse en el segundo lenguaje de programación más popular

La edición de Noviembre de la lista de los principales lenguajes de programación de TIOBE nos trae una grata sorpresa (o no tan sorpresa, para la mayoría de nosotros). Puesto que por primera vez en los 20 años de historia del índice TIOBE, los lenguajes de programación C y Java no se encuentran entre los dos primeros lugares. Java baja hasta el tercer lugar, subiendo como ¡SEGUIR LEYENDO!

Pyston 2.2: Python más rápido que nunca y ahora de código abierto

El equipo de Pyston ha anunciado una nueva versión de su proyecto: Pyston 2.2. La nueva versión nos trae un lenguaje de programación de Python aún más rápido que en las versiones anteriores y además, ahora el proyecto pasa a ser de código abierto. ¿Qué es Pyston? Pyston es una implementación más rápida y altamente compatible del lenguaje de programación Python, dirigida a programas y casos ¡SEGUIR LEYENDO!

Cursos de Programación gratuitos de Youtube 2022 (Marzo)

¿Cómo pasar de junior semi senior rápidamente? ? VER EN YOUTUBE por HolaMundo ¿Necesitas título para trabajar como programador@? ? VER EN YOUTUBE por Alejandra Bricio y The Dojo MX ¿Por qué debemos certificarnos? ¿Cuáles son las certificaciones Microsoft? ? VER EN YOUTUBE por JGAITPro Ruta de certificaciones Microsoft para Administradores de TI ¿Por cual debo comenzar? ? VER EN YOUTUBE por JGAITPro ¿Qué es una ¡SEGUIR LEYENDO!

Los Mejores FRAMEWORKs para PYTHON

A la hora de hablar de los frameworks de Python, no existen tantos como puede ser en el caso de los frameworks de Javascript. El mercado, se encuentra más limitado,y existen 2 frameworks concretos que son los que más atracción han ido recogiendo de los desarrolladores, por ser proyectos que han ido evolucionando con mejor solera y una mayor frecuencia. Que son: Django y Flask. Estos ¡SEGUIR LEYENDO!

5 Mejores lenguajes de programación capaces de brindarte una mejor oportunidad laboral

Hoy en día, las organizaciones están más dispuestas a contratar técnicos con gran experiencia en lenguajes de programación. Por lo tanto, es obligatorio tener un buen conocimiento del lenguaje de programación que está en mayor demanda en el mercado si quieres tener éxito como un buen programador. En este artículo, tienes la lista de los 5 mejores lenguajes de programación que pueden ayudarte a lograr mejores ¡SEGUIR LEYENDO!