Estudiamos ONNX para aplicarlo al trading - página 12

 

ONNX y la JVM


ONNX y la JVM

El soporte de ONNX en Java Virtual Machine (JVM) es crucial, ya que los modelos de ML son cada vez más prominentes en prácticamente todas las aplicaciones. Dado que Java es una de las plataformas más grandes utilizadas en la creación de aplicaciones de software en vivo, es esencial brindar soporte dentro de los lenguajes de programación, como Java o C#. Oracle tiene como objetivo proporcionar la API de C en tiempo de ejecución de ONNX en Java, lo que permite una fácil implementación con un impacto mínimo en el rendimiento mediante el uso de una capa delgada de la API de Java sobre la API de C. El orador también analiza una biblioteca de código abierto para escribir modelos ONNX desde Java, presenta un ejemplo de gráfico de regresión logística e invita a contribuir con el material de exportación de ONNX en Trippo mientras analiza la falta de estandarización en el formato de metadatos ONNX.

  • 00:00:00 En esta sección, Adam Pocock, investigador del grupo de investigación de aprendizaje automático de Oracle Labs, explica por qué es importante admitir ONNX en Java Virtual Machine (JVM). Dado que los modelos ML son cada vez más importantes en casi todas las aplicaciones, es fundamental brindar soporte dentro de los lenguajes en los que están escritas las aplicaciones, como Java o C#. Según Pocock, Java es una de las plataformas más grandes para crear aplicaciones de software en vivo en todo el mundo, con millones de desarrolladores de Java. Como resultado, el objetivo de Oracle es proporcionar la API C de tiempo de ejecución de ONNX en Java, lo que facilita la implementación para los usuarios, con un impacto mínimo en el rendimiento. Se muestra un ejemplo de código rápido para demostrar la capa delgada de la API de Java sobre la API de C.

  • 00:05:00 En esta sección, el orador analiza los desafíos de usar objetos Java con un objeto nativo emparejado para minimizar los gastos generales de los modelos de aprendizaje automático. Explican que existen redes de seguridad para garantizar que todo se limpie, pero no se recomienda el uso de arreglos regulares. El orador también presenta una biblioteca de código abierto para escribir modelos ONNX desde Java, que incluye validación y verificación de atributos y la capacidad de exportar fácilmente arreglos de Java. Brindan un ejemplo de cómo escribir un gráfico de regresión logística usando esta biblioteca y mencionan planes para expandir la enumeración del operador e integrar la procedencia y los metadatos en los modelos convertidos.

  • 00:10:00 En esta sección, el ponente analiza la falta de estandarización en cuanto al formato de metadatos en ONNX. Si bien existe la posibilidad de incluir datos como datos de entrenamiento e hiperparámetros en los metadatos de ONNX, no está estandarizado. El orador expresa interés en el trabajo que está haciendo Intel para estandarizar el formato de metadatos. El orador también invita a cualquier contribución al material de exportación de ONNX en Trippo y fomenta la discusión sobre el tema.
ONNX and the JVM
ONNX and the JVM
  • 2022.07.13
  • www.youtube.com
Integrating machine learning into enterprises requires building and deploying ML models in the environment's enterprises build their software in. Frequently ...
 

Miles de millones de inferencias de PNL en JVM usando ONNX y DJL



Miles de millones de inferencias de PNL en JVM usando ONNX y DJL

El CTO de una empresa de inteligencia de medios analiza cómo utilizan JVM y DJL y Hugging Face para la tokenización de NLP en la canalización de aprendizaje automático para explotar el panorama de los medios para varios casos de uso. A medida que las características de sus productos se han dirigido hacia él, su sistema de modelado y aprendizaje automático se han convertido en partes esenciales para mantener todo en funcionamiento, ya que han alcanzado una escala en la que la CPU ya no podría ser suficiente. Pasaron de usar un modelo de coma flotante de 32 bits a 16 bits, lo que condujo a un aumento del 3 % en la efectividad, pero se enfrentaron a errores de conversión y pérdidas de memoria raras durante el proceso, que resolvieron reemplazando varias implementaciones. Invirtieron en robustez al agregar CI con GPU y configurar una pila lógica avanzada de Prometheus que monitorea la latencia de varias inferencias y la latencia de tokenización. Sus planes futuros incluyen mejorar la eficiencia de la GPU y agregar más modelos al sistema mediante la creación de una configuración de múltiples GPU.

  • 00:00:00 En esta sección del video, Viet, el CTO de una empresa de inteligencia de medios, analiza cómo la infraestructura de su empresa se basa en la JVM y cómo la utilizan para extraer el panorama de los medios para varios casos de uso, como el lanzamiento de productos. seguimiento y seguimiento de la reputación. Explica que su sistema funciona con JVM y que utilizan DJL y Hugging Face para la tokenización de NLP en la tubería de aprendizaje automático. El sistema de modelado y aprendizaje automático de la empresa ya no es solo algo agradable, sino que es una parte esencial para mantener todo en funcionamiento a medida que las características de su producto lo conducen. Han alcanzado una escala en la que la CPU ya no es suficiente, por lo que ven a Cubernates como un sistema para escalarlo horizontalmente. Su sistema produce miles de millones de inferencias por día y acelera GPU y usa 8 millones de sitios para construir un sistema de rastreo web completo.

  • 00:05:00 En esta sección, el orador habla sobre su experiencia mientras trabajaba con el ecosistema ONNX. Hablan sobre el cambio del uso del modelo de coma flotante de 32 bits a 16 bits, lo que condujo a un aumento del 3% en la efectividad. Sin embargo, se enfrentaron a errores de conversión durante este proceso, lo que resultó en un resultado inesperado del modelo ONNX. También encontraron fugas de memoria raras que resolvieron reemplazando varias implementaciones. El orador explica que invirtieron en robustez al agregar CI alimentado por GPU y configurar una pila lógica avanzada de Prometheus que monitorea la latencia de varias inferencias y la latencia de tokenización. Finalmente, analizan sus planes futuros, que incluyen mejorar la eficiencia de la GPU y agregar más modelos al sistema mediante la creación de una configuración de múltiples GPU.
Billions of NLP Inferences on the JVM using ONNX and DJL
Billions of NLP Inferences on the JVM using ONNX and DJL
  • 2022.07.13
  • www.youtube.com
This session outlines the recently rolled out Hypefactors' MLOps infrastructure designed for billions NLP inferences a day. The workload serves media intelli...
 

Cree su solución de inferencia de modelos de alto rendimiento con DJL y ONNX Runtime



Cree su solución de inferencia de modelos de alto rendimiento con DJL y ONNX Runtime

Deep Java Library (DJL) es una biblioteca de aprendizaje automático construida en Java que abstrae las bibliotecas de aprendizaje profundo y ofrece múltiples backends, como Apache MXNet, TensorFlow y PyTorch. La biblioteca tiene un conjunto de modelos preentrenados para diversas tareas y está lista para el servicio, ya que se sometió a pruebas rigurosas para garantizar el máximo rendimiento mientras se tiene control sobre el uso de la memoria. Los oradores también presentan el concepto de motor híbrido que carga ambos motores juntos, ofreciendo una transición más suave entre los motores para la inferencia. Otros desarrollos incluyen la compatibilidad con servidores ARM, la ejecución de ONNX Runtime en dispositivos Android y la implementación de la solución de motor híbrido en dispositivos perimetrales.

  • 00:00:00 En esta sección, el orador presenta Deep Java Library (DJL) y su integración con ONNX Runtime, que ha demostrado tener un buen rendimiento para casos de uso de aprendizaje automático tanto dentro como fuera de Amazon. DJL es una biblioteca de aprendizaje automático construida en Java que abstrae las bibliotecas de aprendizaje profundo y ofrece múltiples backends, como Apache MXNet, TensorFlow y PyTorch. DJL tiene un conjunto de modelos preentrenados, incluidos los populares de Hugging Face y Torch Hub, para tareas como clasificación de imágenes, detección de objetos, análisis de sentimientos y reconocimiento de acciones. La ventaja de DJL es que está listo para el servicio y se ha sometido a pruebas rigurosas para garantizar el máximo rendimiento y al mismo tiempo controlar el uso de la memoria. El orador también comparte algunos casos de uso exitosos de clientes que aprovecharon ONNX Runtime y DJL, mostrando mejoras significativas en la velocidad de inferencia del modelo y la inferencia de subprocesos múltiples, incluso al convertir desde diferentes marcos de aprendizaje profundo como TensorFlow y PaddlePaddle, que no admitían la seguridad de subprocesos. subprocesos múltiples.

  • 00:05:00 En esta sección, los oradores analizan los desafíos que enfrentan los usuarios de ONNX Runtime debido a la falta de operadores integrados, lo que dificulta el preprocesamiento y el posprocesamiento en Java para la matriz no dimensional. operación. Proponen un nuevo concepto llamado motor híbrido, que carga ambos motores simultáneamente, lo que permite una transición más suave entre los motores para la inferencia. Deep Java Library ofrece una clase de criterios en la que el usuario puede definir cómo se cargará su modelo, y el traductor proporciona abstracción para realizar el preprocesamiento y el posprocesamiento. También presentan ND Manager, una arquitectura en forma de árbol que reemplaza el sistema de recolección de basura en Java para proporcionar una recolección de memoria rentable. Los oradores mencionan otros desarrollos, como la compatibilidad con el servidor ARM, la ejecución de ONNX Runtime en dispositivos Android y la implementación de la solución de motor híbrido en dispositivos periféricos.
Build your high-performance model inference solution with DJL and ONNX Runtime
Build your high-performance model inference solution with DJL and ONNX Runtime
  • 2022.07.13
  • www.youtube.com
In many companies, Java is the primary language for the teams to build up services. To have ONNX model onboard and integration, developers faced several tech...
 

[FlexFlow Bootcamp 2020] Compatible con FlexFlow Front-End: TensorFlow Keras, PyTorch, ONNX y más



[FlexFlow Bootcamp 2020] Compatible con FlexFlow Front-End: TensorFlow Keras, PyTorch, ONNX y más

En esta sección del video, el orador analiza la API FlexFlow Python, que es compatible con TensorFlow Keras, PyTorch y ONNX. El proceso de creación y entrenamiento de un modelo implica agregar operadores al modelo, compilar el modelo, crear cargadores de datos e inicializar/entrenar el modelo mediante la función de ajuste o procedimientos de entrenamiento personalizados. Los oradores también analizan la compatibilidad con los modelos Keras y PyTorch en FlexFlow, así como la capacidad de importar modelos preexistentes a través de la representación intermedia de ONNX. Sin embargo, es importante garantizar la coherencia entre la biblioteca que se usa para compilar FlexFlow y la que se usa para compilar el paquete python de ONNX.

  • 00:00:00 En esta sección del video, los presentadores presentan el soporte front-end en FlexFlow, específicamente la API de Python. El tiempo de ejecución de FlexFlow se basa en el tiempo de ejecución de Legion, que es un sistema de programa basado en tareas desarrollado por investigadores de la Universidad de Stanford, NVIDIA y Los Alamos. La API de Python llama a la API de C++ a través de la biblioteca cffi, y una capa delgada de la API de Python proporciona el mismo rendimiento que con la API de C++. Luego, los presentadores discuten los pasos para crear un modelo con FlexFlow Python API, lo que implica primero crear un archivo de configuración y luego crear un tensor de entrada en formato NCHW. Además, introducen soporte para Keras y ONNX.

  • 00:05:00 En esta sección del video, el orador analiza el proceso de creación y entrenamiento de un modelo mediante la API de FlexFlow Python, que es compatible con TensorFlow Keras, PyTorch y ONNX. El orador comienza explicando cómo agregar operadores al modelo, como el operador 2D de convolución, que siempre toma un tensor de entrada y devuelve un tensor de salida. El siguiente paso es compilar el modelo, que asigna tensores y optimiza la estrategia de paralelización y la fusión de modelos. Luego, se crean cargadores de datos y el modelo se inicializa y entrena utilizando la función de ajuste o procedimientos de entrenamiento personalizados. El orador también destaca las similitudes entre las API de Python y C++ y presenta una lista de operadores admitidos por FlexFlow, con la capacidad de implementar nuevos operadores a pedido. Finalmente, el orador analiza la compatibilidad con los modelos Keras y PyTorch en FlexFlow, con una demostración programada para el ejercicio práctico.

  • 00:10:00 En esta sección, los ponentes hablan sobre la importación de modelos preexistentes a FlexFlow, específicamente a través de la representación intermedia de ONNX. El paquete ONNX permite que los modelos se exporten desde otros marcos de aprendizaje profundo, como PyTorch o TensorFlow, y se importen a FlexFlow con el mismo nombre de archivo. Sin embargo, es importante asegurarse de que la biblioteca utilizada para compilar FlexFlow sea la misma que se usó para compilar el paquete python de ONNX. El soporte de ONNX aún es un trabajo en progreso y los parches son bienvenidos.
[FlexFlow Bootcamp 2020] FlexFlow Front-End Supports: TensorFlow Keras, PyTorch, ONNX, and more
[FlexFlow Bootcamp 2020] FlexFlow Front-End Supports: TensorFlow Keras, PyTorch, ONNX, and more
  • 2020.12.15
  • www.youtube.com
We are excited to announce the first FlexFlow bootcamp, 9:00-13:00 PDT December 11th 2020. The bootcamp is designed for people interested in using FlexFlow t...
 

Aprendizaje Aprendizaje automático con .NET, PyTorch y ONNX Runtime



Aprendizaje Aprendizaje automático con .NET, PyTorch y ONNX Runtime

En este video sobre aprendizaje de aprendizaje automático con .NET, PyTorch y ONNX Runtime, los oradores presentan ONNX Runtime y explican los diferentes pasos para entrenar un modelo de aprendizaje automático. También demuestran cómo usar el formato ONNX con .NET para el aprendizaje profundo y analizan la importancia de comprender los hiperparámetros y el método de optimización para obtener predicciones precisas del modelo. Los oradores también muestran cómo usar el tiempo de ejecución de ONNX para cargar un modelo y hacer predicciones, así como también cómo manejar cualquier error potencial con un bloque de prueba al ejecutar una sesión. Además, discuten el uso del vector de inseguridad para mostrar la incertidumbre de la IA en sus predicciones y mencionan algunas industrias donde se está utilizando la IA, como la detección de fraude y los sistemas de recomendación.

  • 00:00:00 En esta sección del video "Aprendizaje de aprendizaje automático con .NET, PyTorch y ONNX Runtime", los anfitriones presentan ONNX Runtime y cómo se puede usar con .NET para el aprendizaje profundo. Explican que una vez que se entrena un modelo, el siguiente paso es traer el archivo del modelo al proyecto y obtener la respuesta. Usan el ejemplo de reconocer números y muestran un repositorio Py Torch GitHub con un modelo de red neuronal convolucional. También destacan la utilidad de VS Code como IDE para Python, con sus características y funciones integradas.

  • 00:05:00 En esta sección, el orador analiza cómo usan los datos de prueba para entrenar su modelo de aprendizaje automático y, una vez que ha descubierto la mejor manera de ajustar las perillas, guardan el modelo y cierran el grifo. Demuestran un ejemplo de un modelo que entrenaron con imágenes de números del cero al nueve, explicando que hay diez elementos en la salida porque las imágenes son solo del cero al nueve. También enfatizan la importancia de la función de pérdida, que mide la diferencia entre el resultado previsto y el resultado real, y la precisión, que mide cuántos resultados son correctos o incorrectos. El orador sugiere que elegir la forma correcta del modelo, los hiperparámetros como la tasa de aprendizaje, el tamaño del lote y las épocas, y las pruebas en diferentes conjuntos de datos son pasos esenciales para garantizar que el algoritmo de aprendizaje automático logre una alta precisión.

  • 00:10:00 En esta sección del video, los oradores discuten el uso del formato ONNX, que se describe como el "PDF para redes neuronales". Demuestran la creación de un archivo ONNX y luego muestran cómo usarlo dentro de una aplicación .NET usando el tiempo de ejecución de ONNX. Se explica el uso de la variable global de sesión de inferencia, para evitar la necesidad de recargar el archivo para cada inferencia. También se destaca la importancia de comprender el método de optimización del modelo y los hiperparámetros. Finalmente, se discuten las diferencias de tamaño entre los modelos y cómo esto afecta la dificultad de hacer predicciones.

  • 00:15:00 En esta sección, el ponente explica cómo usar el tiempo de ejecución de ONNX para cargar un modelo y hacer predicciones, específicamente en el contexto de la visión artificial. Demuestran usando un ejemplo de dibujar el número 3 y convertirlo en una imagen de 28 por 28 píxeles, seguido de la creación de una sola matriz flotante y tomando el promedio de todos los colores mientras se resta 255. El orador también analiza el uso del tensor de t , un tipo de datos utilizado por el tiempo de ejecución de ONNX, para la indexación eficiente en la memoria y la importancia de normalizar la imagen para una entrada adecuada. También muestran cómo crear un tensor a partir del valor ONNX con nombre y cómo manejar cualquier error potencial con un bloque de prueba al ejecutar una sesión.

  • 00:20:00 En esta sección, los oradores están demostrando el proceso de usar PyTorch y .NET para reconocer números usando el aprendizaje automático. El sistema identifica dígitos como matrices y está capacitado para identificar dígitos específicos mediante algoritmos de optimización. El sistema no tiene la capacidad de decir "No sé" y, en cambio, siempre dará una respuesta de mejor esfuerzo, aunque puede ser incorrecta cuando se le presenta una entrada desconocida. El resultado final es un vector de probabilidades, que luego se transforma en un formato legible por humanos.

  • 00:25:00 En esta sección, el orador analiza cómo se puede usar un vector de inseguridad para mostrar la incertidumbre de la IA en sus predicciones. El orador señala que esta función solo está disponible si se entrenó en un conjunto de datos de tal inseguridad. Luego, el orador aclara la diferencia entre las etapas de entrenamiento e inferencia en el aprendizaje automático y cómo se separan en ML.NET. El orador también menciona que el formato ONNX se puede usar en aplicaciones .NET y que generalmente se usa para conjuntos de datos más complejos como modelos de redes neuronales. Finalmente, el orador menciona que la IA se está utilizando actualmente en varias industrias, como los sistemas de detección y recomendación de fraude.
Learning Machine Learning with .NET, PyTorch and the ONNX Runtime
Learning Machine Learning with .NET, PyTorch and the ONNX Runtime
  • 2019.02.05
  • www.youtube.com
ONNX is a open format to represent deep learning models that is supported by various frameworks and tools. This format makes it easier to interoperate betwee...
 

Cómo leer y escribir un modelo ONNX en ML.NET



Cómo leer y escribir un modelo ONNX en ML.NET

El video comienza presentando ONNX, un formato abierto creado por Microsoft y Facebook que permite el intercambio de modelos de aprendizaje automático entre diferentes marcos. El presentador explica cómo ML.NET, una biblioteca de aprendizaje automático multiplataforma y de código abierto, es compatible con los modelos ONNX. Luego, el video muestra cómo crear y exportar un modelo ML.NET a un archivo ONNX, utilizando el paquete ONNX Runtime. Una vez que se crea el modelo ONNX, el video explica cómo usarlo para hacer predicciones sobre nuevos datos en ML.NET. En general, el video proporciona una guía completa sobre cómo usar modelos ONNX con ML.NET para aplicaciones de aprendizaje automático.

How to Read and Write an ONNX Model in ML.NET
How to Read and Write an ONNX Model in ML.NET
  • 2019.07.07
  • www.youtube.com
This video goes over ONNX and how to read and write an ONNX model using ML.NET.Code - https://github.com/jwood803/MLNetExamples/blob/master/MLNetExamples/Onn...
 

Integración de modelos ML de scikit-learn con ML.NET mediante ONNX - Grupo práctico de usuarios de ML.NET 18/02/2022



Integración de modelos ML de scikit-learn con ML.NET mediante ONNX - Grupo práctico de usuarios de ML.NET 18/02/2022

En este video, el orador analiza la integración de los modelos de aprendizaje automático de Scikit-learn con el ecosistema .NET mediante ONNX. Utilizan la puntuación de clientes potenciales en el campo del marketing digital como un ejemplo práctico de cómo construir, implementar y probar modelos de aprendizaje automático para sistemas de clientes. El presentador explica el proceso de puntuación de clientes potenciales y enfatiza la importancia de crear una herramienta automatizada que maximice la eficiencia de los equipos de marketing y ventas. El orador analiza el desafío de implementar modelos de aprendizaje automático para sistemas cliente y presenta ONNX como una solución. Proporcionan una descripción general de las herramientas, los paquetes y las técnicas que se utilizan para integrar los modelos ML de Scikit-learn con ML.NET mediante ONNX. El orador demuestra cómo construir y serializar un modelo de regresión logística, convertirlo al formato ONNX y ejecutar el modelo ONNX, antes de integrarlo con el ecosistema .NET usando Azure Functions. En general, este video sirve como una guía práctica para los desarrolladores que buscan integrar los modelos ML de Scikit-learn con el ecosistema .NET mediante ONNX.

En esta sesión práctica del grupo de usuarios de ML.NET, el presentador demuestra el uso del formato ONNX para crear un modelo ONNX de puntuación de clientes potenciales que se puede incorporar al ecosistema Dot Net. La implementación se puede usar en paralelo con ML.NET, lo que permite la ejecución de modelos ONNX usando el tiempo de ejecución de ONNX mientras se realiza el aprendizaje automático usando ML.NET. El presentador comparte un repositorio de GitHub que contiene las técnicas utilizadas, las bibliotecas y las instrucciones paso a paso para construir el modelo ONNX. El uso del formato ONNX permite un motor de tiempo de ejecución multiplataforma y ayuda a cerrar la brecha entre los científicos de datos y los desarrolladores de aplicaciones. El valor de la sesión radica en la implementación práctica de un sistema de prueba de concepto, que se puede utilizar con otros algoritmos.

  • 00:00:00 En esta sección, el orador presenta su tema de integración de modelos de aprendizaje automático Scikit-learn en el ecosistema .NET y demuestra un ejemplo práctico de cómo hacerlo. También analizan el formato de intercambio de red neuronal abierta (ONNX) y cómo ayuda a implementar modelos dentro del ecosistema .NET. El orador presenta el proyecto de su equipo de puntuación de clientes potenciales en el campo del marketing digital, utilizando su conocimiento del dominio empresarial para desarrollar una herramienta complementaria que automatiza el proceso de puntuación de clientes potenciales. Brindan una breve descripción general del proceso de calificación de clientes potenciales y enfatizan la importancia de construir un sistema que esté en funcionamiento al final del día.

  • 00:05:00 En esta sección, el orador explica el proceso de conversión de prospectos y la necesidad de aprendizaje automático para optimizar el proceso de calificación y generación de prospectos. El ponente destaca la importancia del big data generado por los equipos de marketing y ventas digitales, y la necesidad de un formato estructurado predeterminado para los datos. Al utilizar el aprendizaje automático, pueden adoptar un enfoque supervisado para recuperar datos históricos y mejorar el proceso de conversión de clientes potenciales. La herramienta automatizada tiene como objetivo maximizar la eficiencia de los equipos de marketing y ventas al proporcionar información a partir de los datos, como identificar las características más importantes y ajustar la estrategia de marketing para generar más clientes potenciales. El prototipo implica recuperar datos de diferentes fuentes e implementar técnicas tradicionales de ciencia de datos, como la limpieza de datos, el análisis exploratorio de datos y la preparación de datos antes de aplicar el modelo de aprendizaje automático.

  • 00:10:00 En esta sección del video, el orador analiza el proceso de generación de información de datos y la construcción de modelos de aprendizaje automático, así como el desafío de implementar estos modelos para que los utilicen los clientes y las empresas. Presentan ONNX (Open Neural Network Exchange) como una posible solución a este desafío de implementación. ONNX es un formato de archivo que representa modelos en forma de gráficos y es independiente del marco, lo que significa que puede compartirse entre diferentes marcos y herramientas de aprendizaje automático. El tiempo de ejecución de ONNX es un conjunto de API para integrar modelos en entornos de destino y es multiplataforma y de alto rendimiento. El orador proporciona enlaces al sitio web de ONNX y GitHub para obtener más información.

  • 00:15:00 En esta sección, el orador analiza el desafío de integrar modelos de aprendizaje automático en los sistemas de los clientes después de haberlos desarrollado utilizando herramientas de ciencia de datos como Python. Recomiendan usar ONNX como un formato unificado para los modelos y demuestran cómo importar, leer, compilar, implementar y probar el modelo en un ecosistema .NET. El orador también menciona un conjunto de datos de puntuación de clientes potenciales disponible públicamente que se puede usar para construir un prototipo para el marketing basado en datos. Analizan técnicas como la limpieza de datos, el análisis exploratorio de datos y el aprendizaje automático supervisado, incluidas la regresión y la clasificación para escenarios de puntuación de clientes potenciales. El objetivo es maximizar la eficiencia de los equipos de marketing y ventas y ayudar a impulsar el rendimiento centrándose en la mayoría de los clientes potenciales.

  • 00:20:00 En esta sección del video, el orador brinda una descripción general de las herramientas y los paquetes que están usando para integrar los modelos ML de scikit-learn con ML.NET mediante ONNX. Mencionan que están usando la distribución Anaconda para la computación Python, el cuaderno Jupyter para construir los modelos con la biblioteca scikit-learn basada en Python y la versión 6 de .NET con la versión 1.9 de ONNX y la versión 181 del tiempo de ejecución de ONNX. El orador repasa brevemente el conjunto de datos están utilizando y las técnicas que implementaron para la disputa de datos, el análisis exploratorio de datos y las métricas de evaluación del desempeño. También mencionan que construyeron un modelo logístico con más del 82% de precisión utilizando la regresión logística para fines de clasificación utilizando el algoritmo Lipliner.

  • 00:25:00 En esta sección, el presentador analiza el proceso de creación de un modelo de regresión logística para predecir la puntuación de clientes potenciales y luego serializarlo utilizando la biblioteca pickle en Python para guardarlo como un archivo pkl. Luego, el presentador carga el archivo pkl para probar el modelo y el resultado muestra una precisión de 0,76 en el conjunto de prueba. Luego, el presentador demuestra cómo convertir el modelo de scikit-learn al formato ONNX, que es necesario para implementar el modelo en el ecosistema de Microsoft.NET. Esta sección puede servir como una guía práctica sobre cómo integrar modelos de aprendizaje automático de scikit-learn con ML.NET mediante ONNX.

  • 00:30:00 En esta sección, el orador analiza el proceso de integración de modelos ML de scikit-learn con ML.NET mediante ONNX. Sugieren consultar la lista de algoritmos admitidos por los convertidores ONNX de ML.NET antes de implementar cualquier aprendizaje automático y demuestran cómo importar los convertidores compatibles con SK2ONNX. Luego definen la ruta para almacenar el modelo y la cantidad de características, enfatizando la importancia del esquema en la denominación de las entradas y convirtiéndolas al tipo de tensor de flujo. Finalmente, muestran cómo construir el modelo ONNX usando la función convert_sklearn, usando el modelo y los tipos iniciales definidos previamente.

  • 00:35:00 En esta sección, el orador demuestra cómo guardar un modelo de aprendizaje automático de scikit-learn basado en Python en formato ONNX y cómo ejecutar el modelo ONNX usando la sesión de inferencia del tiempo de ejecución de ONNX. Se identifica el nombre de entrada del modelo ONNX y los nombres de salida de la firma no son de interés para esta demostración. Adicionalmente, mediante el uso del método predict_proba se extraen las probabilidades de convertirse o no, y se utilizan como indicadores y pesos de escenarios específicos para el modelo de lead scoring.

  • 00:40:00 En esta sección, el ponente comienza creando una solución en blanco en Visual Studio 2022 para integrar un modelo ML de scikit-learn, específicamente un modelo de regresión logística, con el ecosistema .NET usando ONNX. Luego, el orador crea una función de Azure en la solución y obtiene el código repetitivo para implementarlo con .NET 6 como desencadenador HTTP. Utilizan Insomnia para crear una nueva solicitud con funciones de entrada en formato JSON, que se analizará y utilizará para la integración del sistema. El orador instala el paquete de tiempo de ejecución de Microsoft ML ONNX desde NuGet y crea una clase para explicar el conjunto de funciones de entrada. Luego, el orador usa fragmentos de código para acelerar el proceso de integración.

  • 00:45:00 En esta sección, el orador analiza cómo recuperar y deserializar el cuerpo de la solicitud de una API usando el convertidor JSON, para enviarlo como entrada a un modelo ML. Crean un objeto de la clase de parámetro LSLead Scoring Model y le asignan valores del cuerpo de la solicitud deserializado. También explican la importancia de implementar el tensor de entrada y convertir los datos de entrada en un objeto TensorFlow del tensor, para que pueda incorporarse en la sesión de inferencia. Finalmente, crean una sesión de inferencia utilizando el tiempo de ejecución de ONNX y recuperan el resultado de la sesión para ejecutar el modelo ML.

  • 00:50:00 En esta sección, el presentador intenta mostrar cómo integrar modelos ML de scikit-learn con ML.NET mediante ONNX, pero encuentra dificultades técnicas con Visual Studio. Después de intentar solucionar el problema, el presentador recurre a mostrar los fragmentos de código y analiza los paquetes necesarios y los tensores de entrada necesarios para la integración. A pesar de los contratiempos, el presentador puede proporcionar un enlace a la función y el conjunto de funciones de entrada que se utilizan en la demostración para que los espectadores accedan y prueben por sí mismos.

  • 00:55:00 En esta sección, el presentador demuestra cómo usar ONNX para integrar modelos de aprendizaje automático de scikit-learn con ML.NET. Primero muestran cómo desenvolver la salida de probabilidades de la implementación de probabilidad de predicción y convertirlas en un diccionario de valores largos y flotantes que representan las probabilidades de convertirse o no. A continuación, utilizan estas probabilidades para obtener una puntuación de clientes potenciales por conversión y no conversión, que muestran en un mensaje de Insomnia. Finalmente, usan un cuaderno Jupyter para mostrar cómo se envía un registro del conjunto de prueba al modelo y recuperar el valor de salida correspondiente de uno, lo que indica que es probable que el individuo se convierta.

  • 01:00:00 En esta sección, el presentador demuestra cómo el uso del formato Open Neural Network Exchange (ONNX) permite la creación de un modelo ONNX de puntuación de clientes potenciales que se puede implementar como parte de otro marco. El presentador muestra que esto se puede hacer utilizando el marco de orientación de TensorFlow, Keras y Dot Net. El presentador también muestra que, basándose en el modelo ONNX resultante, pudieron incorporar este formato de archivo en el ecosistema Dot Net y, posteriormente, crear una solución simple que podría ejecutar la sesión y recuperar resultados. También analizan cómo el uso del formato ONNX permite un motor de tiempo de ejecución multiplataforma y ayuda a cerrar la brecha entre los científicos de datos y los desarrolladores de aplicaciones. El presentador comparte un repositorio de código en GitHub que incluye un documento de cuaderno y el espacio de trabajo necesarios para comenzar a integrar los modelos ONNX dentro del ecosistema Dot Net.

  • 01:05:00 En esta sección, el presentador comparte un repositorio de GitHub que contiene las técnicas utilizadas, las bibliotecas y las instrucciones paso a paso para construir el modelo ONNX, siendo la parte más importante la incorporación de los paquetes ONNX y ONNX runtime . El presentador también enfatiza que la implementación se puede usar en paralelo con ML.NET, lo que permite la ejecución de modelos ONNX usando el tiempo de ejecución de ONNX mientras se realiza el aprendizaje automático usando ML.NET. Por último, el presentador agradece a los asistentes su paciencia y tiempo y destaca que el valor de la sesión radica en la implementación práctica de un sistema de prueba de concepto, que puede ser utilizado con otros algoritmos.
Integrating scikit-learn ML Models with ML.NET Using ONNX - Practical ML.NET User Group 02/18/2022
Integrating scikit-learn ML Models with ML.NET Using ONNX - Practical ML.NET User Group 02/18/2022
  • 2022.02.18
  • www.youtube.com
A look at the technical approach addressing the challenge of converting and deploying machine learning models from Python and Scikit-learn to the .NET ecosys...
 

Modelos de aprendizaje automático con ONNX y .NET | Conferencia .NET 2022



Modelos de aprendizaje automático con ONNX y .NET | Conferencia .NET 2022

El video "Modelos de aprendizaje automático con ONNX y .NET" de .NET Conf 2022 presenta a los espectadores los conceptos de IA y aprendizaje automático, incluida la diferencia entre el aprendizaje profundo y la programación tradicional. Los presentadores brindan una descripción general de Azure Machine Learning, PyTorch y ONNX, y demuestran cómo crear una canalización con Azure Machine Learning para entrenar modelos de aprendizaje automático con ONNX y .NET. También explican cómo integrar un modelo de aprendizaje automático en una aplicación .NET Maui y analizan técnicas para reducir el tamaño de los modelos ONNX para dispositivos móviles. La sección termina con la presentación del siguiente orador, Rory, quien hablará sobre accesibilidad.

  • 00:00:00 En esta sección del video, Beatriz y Henk presentan la IA y el aprendizaje automático, y la diferencia entre ambos. Explican que el aprendizaje automático es un subconjunto de la IA y tiene la capacidad de aprender de los datos sin estar programado explícitamente con un algoritmo. En cambio, produce un modelo basado en los datos proporcionados, que luego se puede usar para hacer predicciones o decisiones.

  • 00:05:00 En esta sección, el orador explica la diferencia entre las fases de entrenamiento y predicción del aprendizaje automático. La fase de predicción funciona como la programación tradicional en la que se proporciona una entrada a un modelo o algoritmo, se produce una respuesta o predicción y se permite resolver problemas complejos que son difíciles de resolver con la programación tradicional. El ponente también habla sobre el aprendizaje profundo, que es un subconjunto del aprendizaje automático basado en redes neuronales artificiales inspiradas en el cerebro. La demostración que presenta el orador en el video utiliza la visión por computadora, un campo de inteligencia artificial que entrena a las computadoras para interpretar y comprender el mundo visual, que incluye clasificación, detección de objetos y segmentación de imágenes. Finalmente, el disertante discute el concepto de transferencia de aprendizaje, donde un modelo entrenado para una tarea se usa como punto de partida para una tarea diferente, ahorrando tiempo en el entrenamiento del modelo.

  • 00:10:00 En esta sección, los presentadores brindan una descripción general de los dos marcos que usarán para su modelo de aprendizaje automático: PyTorch y ONNX. PyTorch es un marco de aprendizaje profundo de código abierto que los presentadores prefieren para esta demostración, mientras que ONNX es un formato abierto creado para representar modelos de aprendizaje automático que permite a los desarrolladores de IA usar modelos en una variedad de marcos. Explican que ONNX les permite usar PyTorch para crear su modelo y luego guardarlo en ONNX, lo que hace posible leer ese modelo desde .NET MAUI. También presentan Azure Machine Learning, que incluye un conjunto de servicios en la nube que permiten cargas de trabajo de aprendizaje automático colaborativo, junto con sus elementos clave: experimentos, almacenes de datos, entornos y gestión de modelos. Explican que la gestión de modelos es la clave de su historia porque entrenarán su modelo en PyTorch y lo registrarán en la gestión de modelos para que otros puedan verificarlo y usarlo en el software de su elección. También brindan una descripción general de las canalizaciones de aprendizaje automático, que son flujos de trabajo de pasos que pueden usar orígenes de datos, conjuntos de datos y ejecutarse en destinos de proceso.

  • 00:15:00 En esta sección, el orador explica cómo crear una canalización con Azure Machine Learning Designer para entrenar modelos de aprendizaje automático con ONNX y .NET. El primer paso es revisar los datos, que se almacenan en Blob Storage. A continuación, crean una nueva canalización con el diseñador, que les permite arrastrar y soltar componentes en el lienzo. Los componentes que seleccionan incluyen el modelo PyTorch, el convertidor ONNX y el entrenador de modelos. Una vez que se definen los componentes, el orador ejecuta la canalización en su proceso de Azure Machine Learning llamado BumbleBee. Demuestran las características de la definición del componente y el código para el archivo de entrenamiento.

  • 00:20:00 En esta sección, el presentador demuestra cómo usar ONNX y .NET para crear un modelo de aprendizaje automático e integrarlo en una aplicación .NET Maui. El modelo se entrenó con Azure Machine Learning con Python y PyTorch y se convirtió al formato ONNX. Luego, el modelo se registró en Model Management y se usó en una aplicación .NET. El presentador explica la importancia de permitir que los científicos de datos trabajen con el lenguaje de su elección y que los desarrolladores creen aplicaciones en el suyo. Todos los códigos de muestra utilizados en la presentación se pueden encontrar en el enlace proporcionado, así como otros recursos para obtener más información sobre el aprendizaje automático y el rol de desarrollador de IA.

  • 00:25:00 En esta sección del video, los presentadores analizan el tamaño de archivo de los modelos ONNX y las técnicas utilizadas para hacerlos más pequeños y funcionar mejor en dispositivos móviles. Destacan que existe una gran área de aprendizaje automático dedicada a reducir el tamaño de los modelos, incluso si eso significa sacrificar algo de rendimiento. También mencionan un proyecto llamado Seeing AI, que utiliza diferentes modelos de IA en una aplicación móvil, y sugieren que los espectadores lo comprueben por sí mismos. Por último, los presentadores presentan a Rory como el próximo orador que hablará sobre accesibilidad.
Machine learning models with ONNX and .NET | .NET Conf 2022
Machine learning models with ONNX and .NET | .NET Conf 2022
  • 2022.11.14
  • www.youtube.com
Most machine learning models are trained in Python using frameworks like PyTorch and TensorFlow. You might expect that an application that runs the trained m...
 

En .NET Live - Operacionalización de modelos ML con ONNX, C#... ¡y Pokémon!



En .NET Live - Operacionalización de modelos ML con ONNX, C#... ¡y Pokémon!

En este video de On.NET Live, los anfitriones analizan la puesta en funcionamiento de modelos de aprendizaje automático con ONNX y traen a Cassie Kozyrkov como invitada especial. Kozyrkov enfatiza la importancia de la tutoría y analiza el uso de ONNX como una forma de cerrar la brecha entre los científicos de datos y los ingenieros de software. La conversación cubre varios temas, desde la creación de un modelo de aprendizaje automático mediante el procesamiento de lenguaje natural y la importancia de la transformación de datos hasta las pruebas con datos ocultos y la implementación del modelo a través de Azure Functions. Los oradores también analizan Azure Machine Learning y los recursos disponibles para aquellos interesados en explorar ONNX y los modelos de aprendizaje automático de manera más amplia.

El video de On.NET Live analiza la puesta en funcionamiento de modelos ML con ONNX, C# y (por diversión) Pokémon. El primer presentador habla sobre ONNX, un formato de aprendizaje automático que permite guardar y cargar modelos en diferentes marcos, y cómo operacionalizar los modelos usando .NET. El segundo presentador analiza el uso de ML.NET para crear un clasificador de imágenes de Pokémon y muestra cómo se puede poner en funcionamiento para su implementación. En general, el video brinda una excelente descripción general de la puesta en funcionamiento de modelos de aprendizaje automático con ONNX y C#.

  • 00:00:00 En esta sección del video, los anfitriones presentan a una invitada especial, Cassie, quien hablará sobre el aprendizaje automático con Onnx y posiblemente incluso con Pokémon. La conversación también incluye anuncios sobre las próximas conferencias, como .NET Conf y Start Dev Change, organizadas por Cassie y el equipo para ayudar a las personas a aprender nuevas habilidades de desarrollo y capacitar a quienes cambian de carrera. La conferencia abarcó varios campos técnicos con el objetivo de ayudar a las personas a encontrar su pasión y buscar un cambio de carrera.

  • 00:05:00 En esta sección, Cassie Kozyrkov habla sobre la importancia de la tutoría y la necesidad de que la gente se involucre en iniciativas como Start Dev Change, especialmente durante estos tiempos en los que la gente está luchando por la pandemia. Luego habla sobre ONNX, el formato abierto para guardar modelos de aprendizaje automático e implementarlos en diferentes entornos. Cassie explica que ONNX facilita unir el mundo entre lo que hacen los científicos de datos y lo que hacen los ingenieros de software, especialmente en los casos en que hay una desconexión entre los departamentos. Con ONNX, los modelos se pueden pasar al lado de DevOps, que puede implementarlo de la manera que mejor funcione para el proyecto, y se puede usar en diferentes aplicaciones, incluidas C#, C++ y Python.

  • 00:10:00 En esta sección, el orador describe la construcción de un modelo de aprendizaje automático mediante el procesamiento del lenguaje natural para tomar datos de las descripciones de los vinos y usarlos para predecir la variedad, el valor en puntos y el rango de precios del vino. Mencionan el uso de una enorme biblioteca de datos de magos del vino y la construcción del modelo con diferentes características. El modelo se crea con Python y se entrena en Jupyter Notebooks. El orador también explica cómo se usa Pandas para manipular los datos y muestra una nube de palabras para demostrar las palabras más comunes en el conjunto de datos.

  • 00:15:00 En esta sección, el orador analiza diferentes enfoques del aprendizaje automático y cómo elegir el adecuado para una tarea determinada. Explican la diferencia entre el aprendizaje automático clásico y el aprendizaje profundo, donde el aprendizaje profundo requiere más capas y redes neuronales. El orador recomienda comenzar con scikit-learn, una biblioteca clásica de aprendizaje automático, y experimentar con diferentes algoritmos para ver cuál funciona mejor. También analizan la importancia de la transformación y tokenización de datos al procesar datos de texto y cómo equilibrar la precisión del modelo con el tamaño del modelo.

  • 00:20:00 En esta sección, el orador analiza el procesamiento de datos requerido para el aprendizaje automático antes de entrenar realmente el modelo, como la limpieza de datos y la extracción de funciones. Hacen hincapié en la importancia de probar con datos ocultos y advierten que no se debe confiar únicamente en la precisión, ya que los resultados pueden diferir al aplicar el modelo a los datos de producción del mundo real. El orador también demuestra cómo configurar una canalización de datos y usar un modelo de regresión logística para crear un modelo de aprendizaje automático, antes de pasar a la etapa de implementación.

  • 00:25:00 En esta sección, los oradores discuten el modelo de procesamiento de lenguaje natural utilizado y el algoritmo CountVectorizer utilizado para ello, que forma parte de la biblioteca scikit-learn. La tubería que se muestra en el video incluye CountVectorizer y el modelo de regresión logística. Los autores explican cómo exportar el modelo utilizando el tiempo de ejecución de ONNX y guardarlo como un archivo ONNX. Continúan discutiendo el mejor rendimiento del tiempo de ejecución, que tiene en cuenta el hardware en el que se implementa, lo que le otorga una ventaja de velocidad significativa.

  • 00:30:00 En esta sección, los presentadores discuten el despliegue del modelo y el proceso de inferencia. Mencionan que implementar un modelo implica considerar la arquitectura y los proyectos apropiados para la situación dada, que puede variar desde el uso de aprendizaje automático de Azure hasta recursos de contenedores u ofertas sin servidor como la función de Azure. El modelo y el código deben cargarse en la nube y, en este caso particular, el modelo se almacena en el almacenamiento de blobs y luego la función lo consume. Los presentadores también mencionan la importancia de almacenar datos en caché para acelerar el proceso de inferencia y explican cómo funciona el diccionario y la sesión de inferencia para ejecutar el modelo en la función. Si bien es necesario comprender el tipo de datos, no es necesario comprender cómo se creó el modelo para ejecutarlo con éxito.

  • 00:35:00 no. En esta sección, el orador analiza el proceso de poner en funcionamiento modelos de aprendizaje automático con ONNX y cómo se puede hacer esto sin la ayuda de un científico de datos. Hacen hincapié en la importancia de comprender el formato de entrada y crear el tensor, y también explican el proceso de convertir los resultados del modelo en el formato deseado. El orador menciona la necesidad de simplificar las capas requeridas para llegar a la salida del modelo y cómo se pueden limpiar y agrupar los datos para obtener mejores resultados. También abordan la posibilidad de recopilar métricas y comentarios para volver a entrenar el modelo.

  • 00:40:00 En esta sección, los oradores discuten la importancia de probar y comprender cómo funciona un modelo de aprendizaje automático para hacer predicciones. Plantean la idea de crear pruebas unitarias e incorporar pruebas automatizadas en el proceso normal de desarrollo. Además, mencionan las herramientas disponibles en Azure Machine Learning para la interpretación del modelo, lo que puede ayudar a identificar problemas potenciales con las predicciones del modelo. Por último, abordan la implementación del modelo dentro de un activador HTTP a través de la extensión de Visual Studio Code.

  • 00:45:00 En esta sección, los oradores hablan sobre un divertido juego de cata de vinos que se creó con aprendizaje automático y se implementó en Azure. Comparten el enlace al sitio web y hablan sobre cómo se entrenó el modelo usando descripciones de sommelier de Winemag, y cómo usaron las funciones de Azure para implementar el modelo en Azure. También analizan los usos más amplios del aprendizaje automático de Azure, incluidas las herramientas para computación en la nube, la aceleración de GPU y el control de versiones de modelos, lo que lo hace ideal para el aprendizaje automático empresarial. A pesar de esto, todavía puede haber momentos en los que no sea necesario implementar en un punto final, y el aprendizaje automático de Azure permite esta simplicidad.

  • 00:50:00 En esta sección, el orador analiza las diversas características y capacidades de Azure Machine Learning, que va más allá de la simple creación de un modelo y su consumo a través de puntos finales. Destacan el banco de trabajo de experimentación, el control y la computación de modelos, y los complementos de DevOps que permiten la colaboración entre científicos de datos y desarrolladores en la creación e implementación de modelos de aprendizaje automático. También mencionan la naturaleza en constante evolución de la herramienta y recomiendan volver a visitarla si los usuarios no la han visto por un tiempo. El orador proporciona vínculos a su repositorio de GitHub y publicación de blog para aquellos interesados en obtener más información sobre el uso de ONNX con C# y su implementación a través de Azure Functions.

  • 00:55:00 En esta sección, los oradores analizan varios recursos disponibles para aquellos interesados en explorar ONNX y los modelos de aprendizaje automático en general. Recomiendan consultar el tutorial y los cuadernos de ejemplo proporcionados por ONNX, así como explorar su código fuente abierto en Github. Además, analizan brevemente el uso de herramientas como Custom Vision para crear modelos de visión por computadora sin la necesidad de un código extenso. Por último, bromean sobre la creación de un modelo de detección de Pokémon en el futuro y recomiendan consultar .NET Conf que tendrá lugar en noviembre para obtener más anuncios de aprendizaje automático.
On .NET Live - Operationalizing ML models with ONNX, C# .... and Pokemon!
On .NET Live - Operationalizing ML models with ONNX, C# .... and Pokemon!
  • 2020.10.29
  • www.youtube.com
ONNX defines a common set of operators and a common file format to enable AI developers to use models with a variety of frameworks, tools, runtimes, and comp...
 

Standup de la comunidad de aprendizaje automático: aprendizaje profundo con PyTorch ONNX



Standup de la comunidad de aprendizaje automático: aprendizaje profundo con PyTorch y ONNX

El video "Reunión de la comunidad de aprendizaje automático: aprendizaje profundo con PyTorch y ONNX" cubre varios temas relacionados con el aprendizaje automático, PyTorch y ONNX. Una sección cubre el sobreajuste y cómo prevenirlo en las redes neuronales mediante el abandono y la validación cruzada. Los anfitriones también destacan varios proyectos de aprendizaje automático basados en la comunidad y sus próximos eventos sobre el uso de .NET con aprendizaje automático. El video también presenta PyTorch, una popular biblioteca de aprendizaje automático utilizada para la visión por computadora y el procesamiento del lenguaje natural, con varios módulos integrados, como la visión de la antorcha y las transformaciones. Los oradores explican el formato ONNX para representar modelos de aprendizaje automático y su tiempo de ejecución para ejecutar inferencia y capacitación en varios idiomas. El tutorial también analiza cómo usar modelos preconstruidos en el zoológico de modelos de PyTorch y cubre la depuración y administración de paquetes y entornos de Python usando Jupyter Notebooks y Anaconda. Además, el tutorial cubre los detalles del entrenamiento y la exportación de un modelo PyTorch usando ONNX, que se puede usar con el tiempo de ejecución de ONNX para mejorar el rendimiento de los modelos.

El video también analiza varios temas relacionados con el aprendizaje automático y el aprendizaje profundo. Los oradores hablan sobre el uso de SkiaSharp para el procesamiento de imágenes en Xamarin y las limitaciones de los modelos en el dispositivo debido a su tamaño, pero señalan los beneficios de tener modelos en el dispositivo. También sugieren varios recursos para aprender la teoría del aprendizaje automático, como la clase de Andrew Ng Coursera y una clase de aprendizaje automático aplicado que brinda información de alto nivel sobre el uso de herramientas y bibliotecas para crear modelos de aprendizaje automático. También se menciona la importancia de tener un objetivo al aprender sobre el aprendizaje automático y al incorporar el aprendizaje en el trabajo. Por último, el orador sugiere contenido próximo que puede ser de interés para la audiencia.

  • 00:00:00 En esta sección, los anfitriones presentan a su invitada, Cassie Breviu, gerente sénior de programas en Microsoft en el equipo de tiempo de ejecución de ONNX, quien hablará sobre PyTorch y ONNX. Recapitulan brevemente el tema de la transmisión anterior, que trataba sobre el uso de .NET con bibliotecas como PyTorch. Antes de profundizar en el tema principal, los anfitriones presentan un nuevo segmento donde hablan sobre conceptos de aprendizaje automático, comenzando con la deserción. Dropout es un método para evitar el sobreajuste en las redes neuronales, que se logra eliminando aleatoriamente algunos de los nodos durante el entrenamiento.

  • 00:05:00 En esta sección del video, los anfitriones analizan el sobreajuste y cómo el uso del abandono y la validación cruzada pueden ayudar a resolver el problema en los modelos de aprendizaje automático. Mencionan que obtener una precisión del 100 % en un conjunto de entrenamiento no siempre es algo bueno y puede conducir a un rendimiento deficiente en datos reales. Hacen una analogía con estudiar para un examen y memorizar respuestas sin entender los conceptos detrás de ellas. Luego, los anfitriones pasan a los enlaces de la comunidad y mencionan varios proyectos y presentaciones dentro de la comunidad, incluida la creación de soluciones de aprendizaje automático sin servidor, aplicaciones de análisis de opiniones, uso de AutoML y Model Builder, y capacitación de un modelo de clasificación de imágenes con Azure. Estos proyectos tienen como objetivo ayudar a los usuarios a construir e implementar soluciones de IA de manera más eficiente.

  • 00:10:00 En esta sección, el ponente habla sobre un tutorial sobre cómo usar Azure para entrenar modelos de clasificación de imágenes, así como una demostración sobre el uso del tiempo de ejecución ONNX y la detección de objetos con el modelo YOLO v5. También mencionan varios próximos eventos sobre aprendizaje automático y .NET, incluido el evento Let's Learn .NET Focus on Machine Learning, donde los participantes pasarán por un módulo de aprendizaje que se lanzará más adelante este mes. Luego, analizan la nueva característica en Visual Studio que permite el uso de cuadernos, similares a los cuadernos de Júpiter, y cómo esto permite a los usuarios realizar ingeniería inversa desde una interfaz de usuario de código bajo hasta codificación, aprendizaje automático y aprendizaje más profundo. Finalmente, expresan su esperanza de que los cuadernos se conviertan en el formato estándar para las guías de usuario y los ejemplos, lo que les permite descargar archivos de cuadernos para ejecutar celdas de código y aprender a usar una API en lugar de leer páginas wiki u otros archivos de rebajas.

  • 00:15:00 En esta sección, los oradores analizan varias actualizaciones y mejoras que se están realizando en Microsoft Learn y ML.NET. Mencionan la compatibilidad con cuadernos interactivos a los que se puede acceder a través de la interfaz de usuario web, lo que facilita la configuración de entornos locales de Python para aquellos que no saben cómo configurarlos. También destacan la biblioteca Torch Sharp, que permite a los usuarios crear redes neuronales personalizadas e integrarlas estrechamente con el tiempo de ejecución de ONNX, mejorando la experiencia de consumo de modelos de aprendizaje profundo. Además, hay un enfoque en la IA ética y responsable dentro de ML.NET, con planes para el reconocimiento de nombres, la entrada y salida de datos dinámicos y la previsión de series temporales, entre otras cosas. En general, los oradores enfatizan la importancia de los comentarios de los usuarios y los alientan a brindar sugerencias para mejorar.

  • 00:20:00 En esta sección del video, el orador analiza las formas en que el flujo de desarrollo puede cambiar al construir modelos de aprendizaje automático, particularmente en términos de las diferentes herramientas y bibliotecas que se utilizan. Comparan la programación tradicional con el aprendizaje automático y explican que con este último, los datos se introducen en un algoritmo para producir un modelo, que luego se utiliza para la inferencia. Luego, el orador continúa presentando PyTorch, una biblioteca de aprendizaje automático de código abierto, y sus diversos componentes, incluida la función de red neuronal y las utilidades de datos. También tocan otras bibliotecas como TensorFlow y scikit-learn, así como herramientas como cuadernos Jupyter y VS Code.

  • 00:25:00 En esta sección, el orador brinda una descripción general de PyTorch, que es una popular biblioteca de aprendizaje automático que se usa comúnmente en la visión por computadora y el procesamiento del lenguaje natural. La biblioteca incluye varios módulos, como visión de antorcha para visión por computadora, audio de antorcha para datos de audio y texto de antorcha para procesamiento de lenguaje natural. Dado que los datos son la columna vertebral del aprendizaje automático, los módulos también brindan funcionalidades de preprocesamiento, como conjuntos de datos, cargadores de datos y transformaciones para preparar los datos para el entrenamiento por parte de un modelo. El orador recomienda usar un tutorial interactivo sobre PyTorch para aprender más sobre la biblioteca y sus funcionalidades. También presentan ONNX, un formato abierto creado para representar modelos de aprendizaje automático, y el tiempo de ejecución de ONNX, una herramienta de implementación multiplataforma que permite la inferencia y el entrenamiento en varios idiomas.

  • 00:30:00 En esta sección, los oradores discuten el uso de modelos ONNX en Blazor, y Cassie admite que aún no lo ha probado. También hablan sobre cómo convertir modelos al formato ONNX utilizando bibliotecas como PyTorch, Scikit-learn o TensorFlow. El uso de modelos ONNX es simple, ya que solo necesita importar la biblioteca de tiempo de ejecución de ONNX, crear una sesión de inferencia y pasar sus datos de entrada para obtener un resultado. La dificultad viene con la manipulación de datos en diferentes lenguajes, ya que Python se considera poderoso en este sentido en comparación con otros lenguajes. Los oradores también mencionan el zoológico modelo, que tiene modelos preconstruidos que se pueden usar para inferencias con código de muestra disponible para ayudar.

  • 00:35:00 En esta sección, el orador analiza cómo usar modelos preconstruidos en el zoológico de modelos de PyTorch, con un enfoque en la segmentación de objetos usando rcnn rápido, un tipo de red neuronal convolucional (CNN). El orador también aborda brevemente el trabajo con tensores y su manipulación con NumPy, y señala que PyTorch proporciona un cuaderno interactivo para aprender a manipular tensores de manera eficiente. Además, el orador señala que los conjuntos de datos de PyTorch se obtienen utilizando `torchvision.datasets`, que los descarga de un repositorio de código abierto.

  • 00:40:00 En esta sección del video, el orador analiza la naturaleza de código abierto de PyTorch, lo que permite el acceso al código y las diferentes ubicaciones de almacenamiento de blobs que se utilizan. Destacan cómo la documentación de PyTorch enumera todos los conjuntos de datos disponibles a los que se puede acceder, y los conjuntos de datos son solo un envoltorio alrededor de diferentes conjuntos de datos de código abierto. El orador destaca las implicaciones legales del uso de conjuntos de datos de código abierto y lo que está bien extraer de la fuente y lo que no se debe alojar. El video también analiza los conjuntos de datos y los cargadores de datos, los datos de prueba para la validación y la creación de conjuntos de datos personalizados. Finalmente, abordan brevemente las transformaciones y su importancia en la manipulación de datos para convertirlos en tensores y procesarlos a través del algoritmo.

  • 00:45:00 En esta sección, el orador habla sobre las herramientas que usa para administrar paquetes y entornos de Python. Destaca Anaconda, una herramienta que le encanta y que ha agregado a su terminal de Windows donde puede activar y usar rápidamente diferentes paquetes preconfigurados para diferentes bibliotecas de aprendizaje automático. Continúa mostrando cómo usa Jupyter Notebooks en VS Code, que ofrece más herramientas, Intellisense y la capacidad de usar una computadora en la nube para ejecutar modelos que necesitan una GPU más grande. Finalmente, señala que para aquellos que prefieren el entorno .NET, la experiencia de Jupiter Notebook es directamente instalable, gracias a la ejecución de Anaconda.

  • 00:50:00 En esta sección, el orador analiza la experiencia de Jupyter Notebook con PyTorch en Azure Machine Learning Studio, donde los usuarios pueden instalar los paquetes necesarios y usar la herramienta que prefieran. El orador cubre brevemente la guía de inicio rápido para PyTorch, que está disponible en Azure Machine Learning Studio y el sitio web de PyTorch, y luego cambia la discusión a ONNX. Sin profundizar demasiado, el orador brinda una breve descripción general de la arquitectura del modelo, la función de pérdida y el optimizador necesarios para entrenar un modelo. El orador también hace una breve mención de Copilot y su capacidad para escribir comentarios para los usuarios.

  • 00:55:00 En esta sección, el orador explica cómo entrenar y exportar un modelo de aprendizaje profundo de PyTorch usando ONNX. Para entrenar el modelo, los usuarios deben establecer el número de épocas y los datos de validación, asegurándose de que sean diferentes de los datos de prueba para evitar el sobreajuste. El altavoz muestra un gráfico de la pérdida del modelo en cada época a medida que recorre cada lote y, una vez que se completa el entrenamiento, el modelo se puede exportar en formato ONNX mediante una función que envía un tensor al dispositivo. El modelo exportado se puede usar para ejecutar inferencias usando el tiempo de ejecución de ONNX con tensores de entrada y optimizaciones de gráficos optimizados para un mejor rendimiento. El orador también demuestra un soporte de Xamarin para el tiempo de ejecución ONNX que se lanzará próximamente.

  • 01:00:00 En esta sección, los oradores analizan el uso de SkiaSharp para el procesamiento de imágenes en Xamarin y cómo se usa el tiempo de ejecución de ONNX para procesar los datos. Mencionan las limitaciones de usar modelos en el dispositivo debido a su tamaño, pero señalan los beneficios de tener modelos en el dispositivo. Los oradores también abordan brevemente la arquitectura de Xamarin y cómo crea andamios. La discusión termina con una mención sobre el deseo de una mayor colaboración entre los desarrolladores de C# y el mundo de la IA y cómo cualquier persona con preguntas sobre el aprendizaje automático o el aprendizaje profundo puede comunicarse con Cassidy Williams en Twitter o con el identificador de Twitter del tiempo de ejecución de ONNX para obtener respuestas.

  • 01:05:00 En esta sección, los presentadores discuten recursos para aquellos interesados en aprender la teoría del aprendizaje automático. Sugieren tomar una clase de Coursera, como la que imparte Andrew Ng, que profundiza en el funcionamiento detrás de escena de los modelos de aprendizaje profundo. Advierten que hay dos formas de abordar el aprendizaje automático: el método aplicado y el método teórico. Otros recursos incluyen una clase de aprendizaje automático aplicado en Coursera, que brinda información de alto nivel sobre el uso de herramientas y bibliotecas para crear modelos de aprendizaje automático, y la ruta de aprendizaje de PyTorch, que es más profunda y cubre parte de las matemáticas. Además, los presentadores mencionan un hackathon para ML.Net que tendrá lugar en las próximas semanas.

  • 01:10:00 En esta sección, el orador analiza la importancia de tener un objetivo al aprender sobre el aprendizaje automático y el aprendizaje profundo. Hay muchos recursos gratuitos disponibles en línea, pero puede ser abrumador decidir por dónde empezar. El orador sugiere establecer un objetivo, como entrenar un modelo de visión por computadora y encontrar recursos que se alineen con ese objetivo. También puede ser útil incorporar el aprendizaje en el trabajo de uno, como usar hackatones o sprints de proyectos para probar cosas nuevas. El orador también menciona que es importante seguir empujando a través de las partes difíciles y no rendirse hasta que se logre la meta. Por último, el orador sugiere contenido próximo que puede ser de interés para la audiencia.
Machine Learning Community Standup - Deep Learning with PyTorch & ONNX
Machine Learning Community Standup - Deep Learning with PyTorch & ONNX
  • 2021.10.13
  • www.youtube.com
Join us to learn how to get started building deep learning models with PyTorch & ONNX. Community Links: https://www.theurlist.com/mlnet-standup-2021-10-13Fea...