Cómo acelerar y productivizar los modelos de Machine Learning utilizando herramientas Open-Souce


Muchos de nosotros tenemos el mismo problema. Conseguimos un algoritmo perfecto para nuestra necesidad. ¿Y ahora qué? Para ponerlo en marcha y desplegarlo en producción, existen una serie de elementos que hay que tener en cuenta. La latencia del rendimiento, los entornos, la compatibilidad del framework, la seguridad, los objetivos de implementación… ¡hay mucho que considerar!

Una solución para ayudarnos con este desafio es utilizar la herramienta ONNX y herramientas relacionadas.

ONNX (Open Neural Network eXchange), un proyecto de código abierto bajo la Linux Foundation LF AI, establece un formato estándar para los modelos de aprendizaje automático que permite a los desarrolladores de inteligencia artificial utilizar sus frameworks y herramientas para entrenar, inferir y desplegar en una variedad de dispositivos. Los modelos entrenados con PyTorch, Tensorflow, Scikit-Learn y otros pueden convertirse al formato ONNX y beneficiarse de la aceleración en la nube y en los dispositivos de vanguardia a través de optimizaciones de hardware compatibles.
Una de las formas principales de inferir modelos ONNX es utilizar el motor de inferencia de alto rendimiento ONNX Runtime de código abierto. En el caso de las DNN complejas, ONNX Runtime puede proporcionar ganancias significativas en el rendimiento, como lo demuestra esta aceleración de inferencia de 17 veces de un modelo BERT utilizado por Microsoft Bing. Para el ML tradicional, ONNX Runtime proporciona una implementación más segura y directa para minimizar las vulnerabilidades de seguridad expuestas por los archivos .pkl o el versionado complicado (ONNX Runtime es totalmente compatible con las versiones anteriores de los modelos de ONNX). Con APIs para C++, C#, C, Python y Java, ONNX Runtime elimina la necesidad de tener un entorno Python para la inferencia. Para los sistemas que deseen experimentar con modelos de diferentes frameworks o darles soporte, el uso de los modelos de ONNX con ONNX Runtime proporciona un único punto de integración sin necesidad de mantener código personalizado o múltiples tiempos de ejecución.

Pongamos esto en acción!. Compartimos enlaces a ejemplos, donde se explica cómo empezar con ONNX entrenando un modelo de clasificación de imágenes en PyTorch y un modelo de clasificación en scikit-learn, convirtiéndolos al formato ONNX e infiriendo el modelo convertido utilizando ONNX Runtime.

Enlace con aplicación ONNX

Esperamos que esta información sea de vuestra interés y vuestras opiniones sobre la aplicación de ONNX con vuestros modelos de machine learning!.

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.