Apprendre ONNX pour le trading - page 11

 

Exploitez la puissance de l'apprentissage automatique avec ONNX - Ron Dagdag



Exploitez la puissance de l'apprentissage automatique avec ONNX - Ron Dagdag

Dans cette vidéo, Ron Dagdag se penche sur l'importance des cadres d'apprentissage automatique, en particulier ONNX, qui facilite l'interopérabilité entre les cadres d'apprentissage en profondeur et le déploiement. Il décrit les moyens d'obtenir des modèles ONNX, y compris la conversion de modèles existants, la formation de modèles avec l'apprentissage automatique automatisé d'Azure et l'utilisation du service de vision personnalisée d'Azure. Dagdag met l'accent sur la décision de déployer des modèles d'apprentissage automatique dans le cloud ou à la périphérie, et il suggère de tirer parti d'ONNX pour rendre le processus plus transparent. De plus, il décrit le processus d'utilisation de ML.NET de Microsoft pour créer un modèle d'apprentissage automatique et montre comment incorporer le modèle ONNX dans une application utilisant le runtime ONNX pour l'inférence. Dagdag explore également ONNX en tant que norme ouverte pour l'apprentissage automatique, ses différentes plateformes et langages, et des outils pour réduire la taille des modèles.

  • 00:00:00 Dans cette section, l'orateur explique en quoi la programmation traditionnelle diffère de l'apprentissage automatique, car l'apprentissage automatique se concentre sur la formation d'ordinateurs pour apprendre des algorithmes tandis que la programmation traditionnelle se concentre sur la saisie et les calculs. Les données de formation sont importantes dans l'apprentissage automatique et ces données sont utilisées pour entraîner les machines à apprendre des algorithmes dans le cadre du processus. Le conférencier souligne l'importance des cadres d'apprentissage automatique, tels que ONNX (Open Neural Network Exchange), qui sert de pont entre les cadres d'apprentissage automatique et le déploiement. ONNX aide à déplacer les modèles entre les frameworks d'apprentissage en profondeur, garantissant ainsi l'interopérabilité entre les frameworks.

  • 00:05:00 Dans cette section, Ron Dagdag discute des différentes manières d'obtenir un modèle ONNX. Les scientifiques des données, semblables aux chefs, sont chargés de créer et d'affiner la recette pour améliorer le modèle d'une entreprise, tandis que les modèles ONNX sont comme des PDF pour la représentation neuronale d'un graphique d'opérations. Il existe quatre façons d'obtenir des modèles ONNX, notamment via GitHub, le service de vision personnalisée Azure, en convertissant des modèles existants et en les formant à l'aide de l'apprentissage automatique automatisé d'Azure. Le processus de conversion des modèles en ONNX est simple, car il existe des convertisseurs disponibles pour changer les modèles de TensorFlow, Keras ou PyTorch en ONNX, avec des étapes importantes telles que le chargement du modèle existant, la conversion et l'enregistrement. Dans l'ensemble, ONNX peut aider les entreprises à intégrer l'apprentissage automatique dans leurs applications de manière plus transparente.

  • 00:10:00 Dans cette section, l'orateur discute de l'utilisation d'ONNX pour les modèles d'apprentissage automatique. ONNX permet aux développeurs d'identifier quelles sont les données d'entrée et de sortie de leurs modèles lors de leur visualisation. Il peut être utilisé via la conversion de ligne de commande et peut évoluer rapidement avec des clusters GPU dans le cloud. ONNX propose également un registre de modèles qui peut aider à gérer les versions des modèles et à faciliter le déploiement. L'orateur souligne la différence entre les scientifiques des données et les ingénieurs en logiciel, où le premier génère une recette secrète tandis que le second trouve comment l'opérationnaliser en l'intégrant à diverses sources, en s'approvisionnant en données et en créant des pipelines. ONNX peut être déployé sur divers appareils, y compris les appareils Windows et les terminaux IoT.

  • 00:15:00 Dans cette section, l'orateur discute de la décision de déployer des modèles d'apprentissage automatique dans le cloud ou à la périphérie, ce qui fait référence à un traitement plus proche de l'utilisateur. Il explique que le déploiement à la périphérie peut être plus rentable, flexible et avoir une latence plus faible, ce qui est idéal lors du traitement de vidéos ou d'images. De plus, le déploiement à la périphérie peut être nécessaire lorsque les règles et réglementations imposent que les données ne doivent pas quitter un réseau ou un pays particulier. Le conférencier suggère d'utiliser ONNX, un format intermédiaire qui peut convertir des modèles de différents cadres d'apprentissage automatique, pour rendre le processus de déploiement plus transparent.

  • 00:20:00 Dans cette section, le conférencier discute du framework ONNX et de ses applications potentielles. ONNX permet la conversion de modèles dans différents formats, y compris TensorFlow, Core ML et l'apprentissage par transfert, et dispose d'un runtime hautes performances pour l'exécution des modèles, appelé ONNX Runtime. ONNX Runtime est multiplateforme et prend en charge les opérations d'apprentissage automatique traditionnelles. Il a également une version GPU et une API C#. Dans l'ensemble, ONNX est un outil puissant pour les développeurs, et les utilisateurs peuvent s'y mettre via l'écosystème ONNX en utilisant l'instance de conteneur docker. Dans sa démo, le conférencier montre comment télécharger et utiliser différents packages ONNX en C # pour manipuler des données à l'aide de trames de données.

  • 00:25:00 Dans cette section, l'orateur démontre le processus d'utilisation de ML.NET de Microsoft pour créer un modèle d'apprentissage automatique simple qui prédit le salaire en fonction des années d'expérience. Il divise d'abord les données en ensembles d'apprentissage et de test, crée un pipeline à l'aide du contexte ML et forme le modèle à l'aide de l'ensemble d'apprentissage. Il évalue ensuite les métriques du modèle et les enregistre dans un modèle ONNX. Ensuite, il montre comment incorporer le modèle ONNX dans une application en utilisant le runtime ONNX pour l'inférence. Enfin, il crée un conteneur d'entrée pour l'application et exécute le modèle pour obtenir le score.

  • 00:30:00 Dans cette section, le conférencier discute des avantages de l'utilisation du runtime ONNX, des différentes équipes Microsoft qui l'ont utilisé dans le passé et de la manière dont il améliore leurs processus. Il parle également de l'utilisation de Windows ML si vous déployez sur des appareils Windows, qui est disponible sur les appareils de la famille Windows dans les applications win32 et WinRT, et de la connexion de l'environnement d'exécution ONNX à l'aide d'API. Le conférencier explore ensuite Direct ML, qui est idéal pour créer une API d'apprentissage automatique à contrôle élevé en temps réel, et est idéal pour les jeux. Il met également en évidence ONNX JS pour exécuter des modèles ONNX dans le navigateur ou dans nodejs, et Embedded Learning Library, qui vous permet de commencer à utiliser des appareils qui n'ont pas de système d'exploitation complet ou Linux Mac.

  • 00:35:00 Dans cette section, Ron Dagdag discute de l'utilisation d'ONNX en tant que norme ouverte pour l'apprentissage automatique et de la manière dont il peut être converti efficacement en différentes plates-formes. Les modèles ONNX peuvent être créés dans plusieurs langages tels que dotnet, JavaScript et Python. Les performances peuvent être obtenues grâce au déploiement dans le cloud ou en périphérie. Le public a posé des questions telles que, pouvez-vous importer votre modèle ONNX en C #, quelle est l'empreinte mémoire de l'exécution ONNX et comment pouvez-vous convertir un grand modèle d'image en un modèle ONNX plus petit adapté aux petits appareils. Dagdag a suggéré d'utiliser l'élagage ou la quantification pour compresser les modèles et réduire sa taille. Il a également souligné que les diapositives et les codes de démonstration sont disponibles sur le référentiel GitHub, ainsi que le classeur pour essayer le code.

  • 00:40:00 Dans cette section, l'orateur discute du processus de réduction des modèles ONNX en termes de taille. Le modèle ONNX est composé de graphiques d'opérations qui identifient les opérations qu'il peut effectuer. Bien qu'il n'y ait pas de moyen spécifique de réduire la taille d'un modèle ONNX, il existe un utilitaire qui peut le compresser. Comme il s'agit d'un logiciel open source, il est possible qu'une nouvelle fonctionnalité soit publiée à l'avenir. Les téléspectateurs sont encouragés à soumettre toute autre question à Ron via le chat ou le site Web de questions-réponses.
 

Tirez parti de la puissance de l'apprentissage automatique avec ONNX | Ron Lyle Dagdag | Conf42 Apprentissage automatique 2021


Tirez parti de la puissance de l'apprentissage automatique avec ONNX | Ron Lyle Dagdag | Conf42 Apprentissage automatique 2021

Dans cette vidéo, Ron Dagdag discute des avantages de l'utilisation d'ONNX (Open Neural Network Exchange) en tant que format ouvert pour les modèles d'apprentissage automatique, en particulier lors du déploiement de modèles sur différents terminaux tels que les téléphones ou l'infrastructure cloud. Il couvre les scénarios dans lesquels la conversion d'un modèle en ONNX peut être utile, comme les faibles performances ou la combinaison de modèles formés sur différents frameworks, et décrit comment des modèles populaires tels que RestNet peuvent être téléchargés au format ONNX. En outre, il discute des avantages de l'exécution de modèles d'apprentissage automatique en périphérie, ainsi que de l'importance de gérer les modèles en les enregistrant dans le cloud et en les versionnant. Il montre comment convertir un modèle en ONNX et comment utiliser le runtime ONNX en Python pour l'inférence, et conclut en soulignant le rôle d'ONNX pour permettre aux scientifiques des données et aux ingénieurs en logiciel de travailler ensemble efficacement.

  • 00:00:00 Dans cette section, Ron Dagdag de Spacy présente ONNX (Open Neural Network Exchange) en tant que format ouvert pour les modèles d'apprentissage automatique capable de gérer les modèles d'apprentissage automatique traditionnels en plus des réseaux de neurones. Il souligne que ce format comble le fossé entre la phase de formation de l'apprentissage automatique et l'endroit où déployer le modèle appris, qui peut être une variété de points de terminaison allant des téléphones à l'infrastructure cloud. ONNX a noué des partenariats avec un nombre croissant d'organisations, notamment Microsoft et Facebook.

  • 00:05:00 Dans cette section, l'orateur décrit la popularité croissante d'ONNX, un cadre qui permet de déployer des modèles d'apprentissage automatique formés dans un langage de programmation dans un autre langage ou sur un matériel différent, ainsi que les situations dans lesquelles il peut être utile pour convertir un modèle en ONNX. Ceux-ci incluent des scénarios où il y a une latence élevée ou de faibles performances, lors du déploiement sur des appareils IoT ou de périphérie, ou lors de la combinaison de modèles formés sur différents frameworks. Le conférencier compare ONNX à un PDF en ce sens qu'il permet d'afficher des modèles sur différents types d'appareils, et poursuit en expliquant comment créer des modèles ONNX, y compris l'exportation à partir du zoo de modèles ONNX ou à l'aide d'Azure Custom Vision.

  • 00:10:00 Dans cette section, l'orateur explique comment les modèles d'apprentissage automatique populaires, tels que RestNet, sont déjà convertis en formats ONNX qui peuvent être facilement téléchargés pour être utilisés. Il mentionne également comment les modèles de réseaux neuronaux peuvent être convertis en ONNX à l'aide d'outils tels que Torch et SKL ou via la ligne de commande. De plus, il parle de Netron, un outil qui visualise les modèles ONNX en montrant les entrées et les sorties du graphique des opérations sans avoir besoin du code original du data scientist. Enfin, le conférencier souligne l'importance de gérer les modèles d'apprentissage automatique en les enregistrant dans le cloud et en les versionnant.

  • 00:15:00 Dans cette section, Ron Lyle Dagdag explique l'importance de l'endroit où déployer les modèles d'apprentissage automatique et les différents facteurs à prendre en compte pour le déploiement. Il explique que le déploiement peut être effectué de différentes manières, comme le déploiement dans le cloud ou l'exécution de l'inférence à la périphérie, plus près de l'utilisateur. De plus, il mentionne l'importance de créer une image et de créer un pipeline pour le déploiement, ce qui peut être fait via un service ou un conteneur Docker, et parle de la disponibilité d'images ONNX Docker qui peuvent être utilisées pour incorporer ONNX dans une application.

  • 00:20:00 Dans cette section, l'orateur discute des avantages de l'exécution de modèles d'apprentissage automatique en périphérie plutôt que dans le cloud. L'un des principaux avantages est la faible latence, car l'exécution du modèle localement sur l'appareil peut fournir des temps d'inférence plus rapides. Un autre avantage est l'évolutivité, car il peut être plus efficace de déployer le modèle sur des millions ou des milliards d'appareils plutôt que d'envoyer des données vers le cloud. L'écosystème ONNX est présenté comme une solution pour convertir les modèles existants dans un format pouvant fonctionner en périphérie à l'aide de différents accélérateurs matériels. Le runtime ONNX, un moteur d'inférence hautes performances pour les modèles ONNX, est également présenté comme une solution open source pour l'exécution de modèles en périphérie.

  • 00:25:00 Dans cette section, l'orateur discute du runtime ONNX et de la façon dont il peut être utilisé avec la plate-forme Windows AI, comme avec l'API WinML, pour une inférence d'API pratique et simple basée sur un modèle. De plus, il existe une API DirectML pour créer des jeux, une bibliothèque JavaScript appelée ONNX.js pour exécuter des modèles dans un navigateur et plusieurs modèles de pilotes robustes en fonction des capacités du système. L'orateur procède ensuite à la démonstration de la conversion d'un modèle formé dans ml.net en ONNX à l'aide de packages nuget et de l'application C#.

  • 00:30:00 Dans cette section, Ron Lyle Dagdag montre un exemple simple de création d'un modèle d'apprentissage automatique qui prédit le salaire en fonction des années d'expérience d'un examinateur sur ml.net. Une fois le modèle formé, il peut être converti en un modèle ONNX à l'aide de la fonction `context.model.convert_to_onnx`. Le modèle ONNX peut ensuite être vérifié et utilisé pour l'inférence dans un bloc-notes Python à l'aide de la bibliothèque d'exécution ONNX. L'entrée et la sortie du modèle sont affichées à l'aide de `netron.app`.

  • 00:35:00 Dans cette section, l'orateur montre comment utiliser le runtime ONNX en Python pour déduire un modèle créé dans ML.NET et exporté vers un fichier ONNX. L'orateur montre comment obtenir le nom, la forme et le type des entrées et sorties du modèle ONNX et transmettre les valeurs d'entrée au modèle pour l'inférence. L'orateur souligne également l'importance d'utiliser ONNX en tant que norme ouverte pour intégrer des modèles d'apprentissage automatique dans les applications et comment ONNX permet aux scientifiques des données et aux ingénieurs en logiciel de travailler ensemble efficacement. Enfin, le conférencier fournit un récapitulatif des principaux points à retenir de la discussion, y compris comment créer et déployer un modèle ONNX et les différentes plates-formes qui prennent en charge le déploiement ONNX.

  • 00:40:00 Dans cette section, Ron Dagdag, ingénieur logiciel principal chez Spacy et MVP Microsoft, conclut la vidéo en remerciant le public et en partageant les moyens de le contacter s'il souhaite en savoir plus sur le runtime ONNX, les ordinateurs portables Jupyter, les boulangeries , boulangers et pains.
 

Inférence en JavaScript avec ONNX Runtime Web !



Inférence en JavaScript avec ONNX Runtime Web !

La vidéo couvre l'utilisation d'ONNX Runtime Web dans le navigateur via un modèle Next.js qui offre une interface utilisateur pour exécuter l'inférence sur des images présélectionnées. Le processus de conversion des données d'image en un tenseur à l'aide des valeurs RVB et de la création de dimensions est démontré. La fonction d'assistance de modèle est explorée, qui transmet des données prétraitées à la session d'inférence ONNX en utilisant le chemin d'accès au modèle, au fournisseur d'exécution et aux options de session. Les flux du modèle sont créés à l'aide du nom d'entrée et de l'objet tenseur et sont transmis à la fonction session.run pour obtenir les cinq premiers résultats. Le premier résultat remplit l'affichage de l'image tandis que la configuration du pack Web et les instructions pour l'inférence côté serveur à l'aide du nœud d'exécution ONNX sont fournies.

  • 00:00:00 Dans cette section, nous apprenons à utiliser ONNX Runtime Web avec JavaScript dans le navigateur à l'aide d'un modèle qui fournit tout le prétraitement nécessaire pour effectuer l'inférence. Le modèle est construit sur Next.js, un framework React pour créer des applications prêtes pour la production, et offre une interface utilisateur simple pour exécuter l'inférence sur des exemples d'images présélectionnés. L'auteur nous explique le code qui configure un élément de canevas HTML pour afficher des images et rapporte diverses statistiques sur l'inférence. L'image est ensuite convertie en un tenseur à l'aide de l'utilitaire d'assistance d'image, puis transmise par la fonction de prédiction dans l'assistant de modèle qui appelle l'API Web ONNX Runtime pour effectuer l'inférence.

  • 00:05:00 Dans cette section, la vidéo décrit le processus de conversion des données d'image en un tenseur pour l'inférence à l'aide de valeurs RVB, le remodelage et la création d'un tenseur avec des données et des dimensions à l'aide de l'objet tenseur dans ONNX Runtime Web. La vidéo explore également la fonction d'assistance du modèle, qui transmet des données prétraitées à la session d'inférence ONNX en lui donnant le chemin d'accès au modèle, au fournisseur d'exécution (WebGL ou WebAssembly) et aux options de session. Le nom d'entrée et l'objet tenseur ORT sont nécessaires pour créer des flux pour le modèle, qui sont transmis à la fonction session.run pour obtenir le résultat. Les cinq premiers résultats sont renvoyés et le premier résultat est utilisé pour remplir l'affichage de l'image. De plus, une configuration Webpack est fournie, ainsi que des instructions pour utiliser ONNX Runtime Node pour effectuer une inférence côté serveur avec un cadre d'API.
 

Ron Dagdag - Création de réseaux de neurones dans le navigateur avec ONNX



Ron Dagdag - Création de réseaux de neurones dans le navigateur avec ONNX

Dans cette vidéo, Ron Dagdag explique comment le cadre d'apprentissage automatique ONNX peut être utilisé pour exécuter des réseaux de neurones dans un navigateur. Il aborde les bases de l'apprentissage automatique, la création et le déploiement de modèles ONNX et l'environnement d'exécution ONNX. Dagdag démontre l'utilisation d'ONNX avec divers exemples, notamment la prévision des salaires en fonction de l'expérience de travail et la détection des émotions dans les images. Il couvre également le déploiement des modèles ONNX sur différentes plates-formes, telles qu'Android et iOS, et met en évidence les ressources et les démos disponibles pour expérimenter ONNX. Dagdag encourage l'expérimentation avec ONNX et souligne l'importance d'une inférence efficace sur les plates-formes cibles utilisant le runtime ONNX.

  • 00:00:00 Dans cette section, Ron Dagdag, directeur du génie logiciel et MVP de Microsoft, aborde les bases de l'apprentissage automatique et la différence entre la programmation traditionnelle et l'apprentissage automatique. Il explique que, dans l'apprentissage automatique, l'entrée est suivie en fournissant un tas d'exemples ou de réponses et le but est de former l'ordinateur pour créer un algorithme pour vous. Il discute également d'ONNX, un cadre d'apprentissage automatique qui gagne en popularité parmi les développeurs JavaScript car il leur permet de faire fonctionner des réseaux de neurones dans le navigateur.

  • 00:05:00 Dans cette section, Ron Dagdag discute d'ONNX, un format ouvert pour les modèles d'apprentissage automatique qui sert de pont entre la formation et l'incorporation de modèles dans les applications. ONNX ne se limite pas aux réseaux de neurones mais inclut également l'apprentissage automatique traditionnel, et il est disponible sur GitHub et compte de nombreux contributeurs. Il est prêt pour la production et optimisé pour une utilisation en production, ce qui le rend adapté aux appareils périphériques à ressources limitées ou aux appareils IoT. De plus, ONNX permet de combiner des modèles construits dans différents frameworks, ce qui en fait un excellent outil pour collaborer avec plusieurs équipes qui utilisent différents frameworks d'apprentissage automatique.

  • 00:10:00 Dans cette section, Ron Dagdag discute du processus de création d'un modèle ONNX et de son déploiement. Il compare le processus à la cuisson du pain, déclarant que tout comme la fabrication du pain nécessite une recette secrète, les scientifiques des données expérimentent différentes combinaisons pour créer le modèle correct qui correspond à l'ensemble de données spécifique. Dagdag explique qu'un modèle ONNX est un graphique d'opérations qui peut être visualisé à l'aide de l'application Netron. Il mentionne trois façons de créer le modèle, notamment l'utilisation du zoo de modèles ONNX, le service de vision personnalisée Azure pour la classification des images et la conversion d'un modèle existant. Dagdag suggère que le moyen le plus simple d'expérimenter un modèle consiste à utiliser le service de vision personnalisée, qui permet de télécharger, d'étiqueter et d'utiliser un ensemble de données pour créer un modèle ONNX personnalisé.

  • 00:15:00 Dans cette section, Ron Dagdag explique comment convertir des modèles d'apprentissage automatique existants en ONNX et les enregistrer dans des fichiers ONNX. Il fournit des exemples simples utilisant PyTorch et Keras, ainsi que des outils de ligne de commande pour TensorFlow et Scikit-learn. Il parle également de l'importance de gérer et d'enregistrer les modèles pour s'assurer que la bonne version est utilisée dans le processus de déploiement. Dagdag souligne que les ingénieurs logiciels peuvent responsabiliser les scientifiques des données en fournissant les compétences nécessaires pour intégrer des modèles d'apprentissage automatique aux applications existantes, les rendant ainsi utiles pour les organisations.

  • 00:20:00 Dans cette section, l'orateur discute des options de déploiement pour les réseaux de neurones, y compris le déploiement sur une machine virtuelle ou un appareil comme iOS ou Android. La différence entre le déploiement cloud et edge est également mise en évidence, en utilisant l'analogie de McDonald's cuisant son pain dans une usine par rapport à Subway le cuisant au restaurant. Le runtime ONNX est présenté comme un outil open source qui peut être utilisé pour l'inférence sur les modèles ONNX en JavaScript, Node et React Native. L'orateur fournit ensuite une démonstration de la façon de visualiser un modèle ONNX dans une application de nœud, et explique brièvement comment ils ont formé et converti le modèle en ONNX à l'aide de .NET interactif et d'un bloc-notes Python.

  • 00:25:00 Dans cette section, Ron Dagdag explique comment il crée un modèle ONNX à partir de ses packages NuGet pour former un modèle à l'aide de Microsoft ML. Il utilise des données fournies par Microsoft qui prédisent une sortie basée sur un facteur d'entrée - dans ce cas, l'expérience utilisateur et le salaire basés sur des années d'expérience. Une fois qu'il a formé le modèle, celui-ci génère un fichier ONNX, qu'il intègre ensuite dans une application JavaScript en créant une session et en transmettant les flux. Une fois les flux configurés dans la session, il l'exécute et utilise le score. sortie pour afficher les résultats de prédiction. Dagdag utilise ONNX Runtime Node pour l'environnement d'exécution afin d'exécuter l'application JavaScript.

  • 00:30:00 Dans cette section, Ron Dagdag explique comment exécuter des modèles d'apprentissage automatique dans le navigateur à l'aide du Web d'exécution ONNX, qui est une bibliothèque d'exécution JavaScript qui utilise les technologies d'assemblage Web et WebGL. L'exécution de modèles dans le navigateur est plus rapide, plus sûre et moins chère car elle s'exécute localement et ne repose pas sur une connexion Internet. Ron explique également que vous ne devez pas exécuter de grands modèles dans le navigateur, et il montre comment exécuter un modèle ONNX existant dans un réseau de neurones à l'aide d'un exemple simple où il utilise une entrée pour la transmettre au modèle et obtient une sortie de prédiction.

  • 00:35:00 Dans cette section, Dagdag démontre le processus de création et d'intégration d'un modèle ONNX dans un navigateur. Il utilise comme exemple un modèle ONNX capable de distinguer les émotions d'une image 64x64 en niveaux de gris. Pour utiliser le modèle sur une image, Dagdag redimensionne et prétraite d'abord l'image, puis la convertit en tenseur. Il charge le modèle ONNX en trois étapes, crée une session, alimente l'entrée du modèle et traite la sortie pour afficher les émotions détectées dans l'image. Dagdag note que le processus d'intégration d'un ONNX à une application de navigateur implique la création d'une session, sa transmission à session.run et le traitement de la sortie.

  • 00:40:00 Dans cette section, Ron Dagdag discute des différentes ressources et démos disponibles pour expérimenter ONNX, comme la démo MNIST qui permet aux utilisateurs de tirer un nombre pour voir si le modèle peut le classer avec précision. Il mentionne également qu'ONNX peut être utilisé avec React Native sur les plateformes Android et iOS, mais qu'il doit être converti dans un format optimisé pour le mobile. ONNX est compatible avec diverses plates-formes telles que Windows 10, Mac, Ubuntu, iOS, Android et peut être utilisé avec webassembly ou webgl. Ron insiste sur l'importance d'utiliser le runtime ONNX pour exécuter efficacement le modèle sur la plate-forme cible et pour séparer ce qui est utilisé pour la formation et l'inférence. Il mentionne également qu'ONNX peut être déployé à l'aide de Windows ML, Azure ML et peut être utilisé avec JavaScript et Python. Ron conclut en disant qu'ONNX est capable de fonctionner sur différents appareils tels que les lunettes Snapchat AR et encourage les téléspectateurs à expérimenter ONNX en utilisant les ressources et les démos disponibles.
 

Faire fonctionner les réseaux de neurones dans un navigateur avec ONNX - Ron Dagdag - NDC Melbourne 2022



Faire fonctionner les réseaux de neurones dans un navigateur avec ONNX - Ron Dagdag - NDC Melbourne 2022

Ron Dagdag partage son expertise sur l'exécution de réseaux de neurones dans les navigateurs avec ONNX. Il aborde les bases de la programmation et en quoi elle diffère de l'apprentissage automatique, la disponibilité de JavaScript et des frameworks d'apprentissage automatique, et comment les modèles d'apprentissage automatique peuvent s'exécuter sur différents appareils, y compris les téléphones, les IoT et le cloud. Il présente ONNX, qui est un format ouvert pour les modèles d'apprentissage automatique qui peut intégrer des modèles créés dans différents cadres avec des applications existantes dans différents langages de programmation. Dagdag montre comment créer, gérer et déployer des modèles ONNX, en incorporant les technologies d'exécution ONNX, d'assemblage Web et Web GL pour exécuter des modèles ONNX dans des navigateurs tout en optimisant les performances, la sécurité et les coûts. La vidéo couvre également la notation des modèles pré-formés sur les appareils mobiles, les considérations de coût et les avantages de l'exécution de la détection d'objets plus près de la périphérie pour le traitement local de grandes quantités de données.

  • 00:00:00 Dans cette section, Ron Dagdag explique les bases de la programmation et en quoi elle diffère de l'apprentissage automatique. Il discute des données de formation et du cadre requis pour créer un modèle, qui est utilisé dans l'inférence. Il souligne également la disponibilité de divers frameworks JavaScript et d'apprentissage automatique. Enfin, il souligne que les modèles d'apprentissage automatique peuvent s'exécuter sur différents appareils, y compris les téléphones, les IoT et le cloud, et peuvent également devenir une boucle de rétroaction pour améliorer le modèle.

  • 00:05:00 Dans cette section, le conférencier présente ONNX (Open Neural Network Exchange), qui est un format ouvert pour les modèles d'apprentissage automatique qui est open source sur GitHub. ONNX permet l'intégration de modèles d'apprentissage automatique créés dans différents frameworks, tels que PyTorch et Keras, avec des applications existantes dans différents langages de programmation tels que C#, Java et JavaScript. L'utilisation d'ONNX est particulièrement utile lorsque vous avez besoin d'une latence d'inférence élevée et de résultats rapides, en particulier lors de l'exécution sur des appareils IoT ou de périphérie. De plus, ONNX permet de combiner différents modèles et de former localement au lieu de l'envoyer à distance. L'ordre du jour de la session comprend la création de modèles ONNX et leur déploiement.

  • 00:10:00 Dans cette section, l'orateur discute de différentes manières de créer un modèle ONNX pour le déploiement. L'un des moyens consiste à utiliser le zoo de modèles ONNX sur GitHub, où des modèles existants basés sur la classification d'images, entre autres, sont déjà disponibles en téléchargement gratuit. Une autre façon consiste à utiliser le service Custom Vision de Microsoft, où une image ou un ensemble de données peut être téléchargé, étiqueté et formé pour créer un modèle personnalisé qui peut être exporté vers un modèle ONNX. La conversion de modèles existants est une autre option, qui peut être effectuée à l'aide de bibliothèques ou d'outils tels que la bibliothèque PyTorch ou les outils ONNX ML. Le conférencier souligne l'importance d'un data scientist dans l'expérimentation et la détermination de la meilleure approche pour créer le modèle le plus efficace pour les données d'une entreprise.

  • 00:15:00 Dans cette section, Ron Dagdag explique le processus de création et de gestion des modèles d'apprentissage automatique à l'aide d'Azure Machine Learning, où les modèles peuvent être enregistrés et gérés comme un référentiel Github pour les modifications de code. Il montre également comment créer un modèle ML à l'aide de ml.net dans Visual Studio Code et comment l'exporter vers ONNX à l'aide d'une interface de ligne de commande, qui génère un fichier model.onnx qui peut être ouvert dans l'application ONNX netron.

  • 00:20:00 Dans cette section, Ron Dagdag explique comment déployer des modèles ONNX une fois qu'ils sont créés. Il explique que le déploiement est crucial pour intégrer les modèles aux applications, et que les développeurs doivent déterminer s'il faut exécuter le modèle dans le cloud ou à la périphérie. Lors de l'exécution dans le cloud, les développeurs doivent décider dans quel centre de données le déployer, tandis que le déploiement à la périphérie signifie que le modèle s'exécute plus près de l'utilisateur, comme sur un téléphone ou un navigateur. Dagdag note les avantages de l'exécution du modèle à la périphérie, tels que la flexibilité, et l'importance de créer des systèmes pour collecter de l'argent ou transmettre des données pour traiter et créer des règles métier.

  • 00:25:00 Dans cette section, l'orateur parle du runtime ONNX, un moteur d'inférence hautes performances pour les modèles ONNX qui est open-source et entièrement compatible avec les spécifications ONNX ML. Le runtime ONNX permet aux développeurs de sélectionner diverses plates-formes et architectures pour exécuter leurs modèles, y compris le navigateur Web, iOS, Android, Mac et différentes API. L'orateur montre comment utiliser le runtime ONNX avec node.js et webassembly pour charger un modèle ONNX en mémoire, transmettre les données d'entrée et obtenir la sortie. Ils expliquent également comment le runtime ONNX permet un traitement efficace en ne passant que les données nécessaires pour le calcul tout en ignorant le reste.

  • 00:30:00 Dans cette section, Ron Dagdag explique comment incorporer un nœud, créé à l'aide de ml.net et exporté vers ONNX, dans une application JavaScript exécutée côté serveur. En utilisant les technologies webassembly et webgl, le modèle ONNX peut fonctionner à la fois sur le CPU et le GPU, ce qui se traduit par des performances plus rapides, une sécurité accrue, une utilisation hors ligne et une réduction des coûts. Bien que l'intégration du modèle dans le navigateur présente de nombreux avantages, les grandes tailles de modèle et les exigences matérielles peuvent avoir un impact sur l'expérience utilisateur. La simplification et la prise en compte de l'appareil sont donc nécessaires. Un modèle de réaction est également disponible pour les développeurs de réaction.

  • 00:35:00 Dans cette section, Ron Dagdag montre comment exécuter un réseau de neurones dans le navigateur à l'aide d'ONNX. Il montre une démo d'un modèle ONNX qu'il a téléchargé depuis le zoo modèle ONNX qui détecte les émotions dans une image. Le Web d'exécution ONNX est utilisé pour télécharger l'image et la traiter. Le modèle nécessite une image d'entrée de taille 64x64, donc Ron redimensionne et convertit l'image en niveaux de gris avant de la convertir en tenseur à l'aide de ort.tensor. La sortie est un tenseur de 1x8 contenant les émotions détectées dans l'image.

  • 00:40:00 Dans cette section, le conférencier explique comment faire fonctionner des réseaux de neurones dans un navigateur avec ONNX. Il explique que les trois étapes pour charger un modèle ONNX en mémoire sont le chargement, la création de paramètres d'entrée basés sur le modèle et l'exécution de la session pour obtenir des résultats. Il aborde également le processus de notation d'un modèle pré-formé sur des appareils mobiles à l'aide de React Native, qui implique la conversion du modèle ONNX en un modèle mobile optimisé appelé mobile.ort. Le runtime ONNX est compatible avec diverses plates-formes, notamment Windows 10, Mac OS, Ubuntu, iOS, Android, Chrome, Edge, Safari et Electron. L'orateur souligne qu'il est crucial de comprendre les cas d'utilisation des différents pipelines d'inférence et de formation de modèles, et il fournit un lien vers son GitHub pour ceux qui souhaitent en savoir plus.

  • 00:45:00 Dans cette section, l'orateur parle de l'utilisation d'ONNX pour exécuter l'apprentissage automatique sur les lunettes de Snapchat, qui ont des capacités de détection et de segmentation d'objets. Il explique également comment incorporer les modèles PyTorch et TensorFlow dans les applications utilisant ONNX, car il sert de terrain d'entente pour la conversion entre différents frameworks. Il suggère de prendre en compte le coût du traitement des données au moment de décider d'utiliser un appareil ou un appareil intelligent pour les applications IoT, et note que l'envoi de grandes quantités de données peut devenir coûteux. L'orateur recommande une optimisation par l'utilisation de modèles pouvant être convertis en ONNX et mentionne la nécessité d'un travail supplémentaire lorsque les opérateurs personnalisés ne sont pas encore cartographiés.

  • 00:50:00 Dans cette section de la vidéo, Ron Dagdag explique les avantages d'exécuter la détection d'objets plus près de la périphérie, plutôt que dans le cloud. Le traitement s'effectue localement, ce qui est idéal lorsque vous travaillez avec de grandes quantités de données. L'envoi des résultats de l'inférence à votre hub ou flux d'événements, au lieu des données brutes elles-mêmes, peut également aider à optimiser le processus.
 

Linux Foundation Artificial Intelligence & Data Day - Réunion de la communauté ONNX - 21 octobre 2021

Emma Ning (Microsoft) Web d'exécution ONNX pour l'inférence dans le navigateur


001 ONNX 20211021 Web d'exécution Ning ONNX pour l'inférence dans le navigateur

Emma, chef de produit de l'équipe Microsoft AI Framework, présente ONNX Runtime Web, une nouvelle fonctionnalité d'ONNX Runtime qui permet aux développeurs JavaScript d'exécuter et de déployer des modèles d'apprentissage automatique dans un navigateur, avec deux backends, dont l'assemblage Web pour le CPU et WebGL pour le GPU. Le backend d'assemblage Web peut exécuter n'importe quel modèle ONNX, tirer parti du multithreading et du SIMD, et prendre en charge la plupart des fonctionnalités natives prises en charge par ONNX Runtime, tandis que le backend WebGL est une implémentation purement basée sur JavaScript avec des API WebGL. Le conférencier discute également de la compatibilité des opérateurs ONNX avec les deux backends, fournit des extraits de code pour créer une session d'inférence et exécuter un modèle, et présente un site Web de démonstration présentant plusieurs scénarios de modèles d'images dans le navigateur alimentés par le modèle MobileNet. Cependant, l'orateur reconnaît également qu'il y a encore place à amélioration pour améliorer les performances et la consommation de mémoire du runtime Web ONNX et étendre les opérateurs ONNX pris en charge.

  • 00:00:00 Dans cette section, Emma, chef de produit de l'équipe Microsoft AI Framework, présente ONNX Runtime Web, une nouvelle solution d'inférence dans le navigateur. L'idée de l'apprentissage automatique dans le navigateur a gagné du terrain, car elle permet la portabilité multiplateforme avec la mise en œuvre du système via le navigateur, protège la confidentialité des utilisateurs et accélère les performances sans envoyer de données au serveur. ONNX Runtime Web est une nouvelle fonctionnalité d'ONNX Runtime qui permet aux développeurs JavaScript d'exécuter et de déployer des modèles d'apprentissage automatique dans un navigateur, avec des performances d'inférence, une couverture de modèle et une expérience de développement améliorées. L'architecture d'ONNX Runtime Web comprend deux backends, y compris l'assemblage Web pour le CPU et WebGL pour le GPU, qui permettent à ONNX Runtime Web d'accélérer l'inférence sur les CPU et les GPU. Le backend d'assemblage Web peut exécuter n'importe quel modèle ONNX, tirer parti du multithreading et du SIMD, et prendre en charge la plupart des fonctionnalités natives prises en charge par ONNX Runtime. Le backend WebGL, d'autre part, est une implémentation purement basée sur JavaScript avec des API WebGL qui fournissent un accès direct au GPU de l'ordinateur, permettant à de nombreuses techniques d'optimisation de pousser davantage les performances au maximum.

  • 00:05:00 Dans cette section, le conférencier discute de la compatibilité des opérateurs ONNX avec les backends WebAssembly et WebGL, qui prennent en charge les plates-formes les plus populaires du monde Web. Ils fournissent un lien vers un tableau indiquant les plates-formes compatibles et les opérateurs ONNX pris en charge. Ils fournissent également des extraits de code qui montrent comment créer une session d'inférence et exécuter un modèle avec le Web d'exécution ONNX, ce qui permet une expérience de développement cohérente pour l'influence côté serveur et côté client. L'orateur partage ensuite un site Web de démonstration présentant plusieurs scénarios de vision dans le navigateur intéressants alimentés par des modèles d'image, tels que l'exécution du modèle MobileNet dans un navigateur avec la possibilité de choisir différents backends. L'orateur reconnaît qu'il y a encore place à l'amélioration en termes d'ajout d'opérateurs ONNX et d'optimisation des performances Web d'exécution ONNX et de la consommation de mémoire, ainsi que de travail sur plus de démos pour présenter ses capacités.
 

Atelier Web et Machine Learning W3C Été 2020

ONNX.js - Une bibliothèque Javascript pour exécuter des modèles ONNX dans les navigateurs et Node.js



ONNX.js - Une bibliothèque Javascript pour exécuter des modèles ONNX dans les navigateurs et Node.js

ONNX.js est une bibliothèque JavaScript qui permet aux utilisateurs d'exécuter des modèles ONNX dans les navigateurs et Node.js. Il optimise le modèle sur le CPU et le GPU avec diverses techniques et prend en charge le profilage, la journalisation et le débogage pour une analyse facile. La bibliothèque prend en charge tous les principaux navigateurs et plates-formes et permet la parallélisation à l'aide de travailleurs Web pour de meilleures performances sur les machines multicœurs. En utilisant WebGL pour accéder aux capacités du GPU, il offre des améliorations significatives des performances et réduit le transfert de données entre le CPU et le GPU. Bien qu'une optimisation et un soutien supplémentaires de l'opérateur soient nécessaires, l'orateur encourage les contributions de la communauté pour améliorer ONNX.js.

  • 00:00:00 Dans cette section, Emma de Microsoft parle d'ONNX.js, qui est une bibliothèque JavaScript utilisée pour exécuter des modèles ONNX dans les navigateurs et Node.js. JavaScript est un langage très important utilisé par 95% des sites Web et est le langage côté client le plus populaire utilisé pour les applications électroniques telles que GitHub Desktop et VS Code. Malgré la perception que JavaScript n'est pas conçu pour le calcul haute performance, il existe des techniques permettant de faire fonctionner ensemble JavaScript et l'apprentissage automatique. L'un des avantages de l'utilisation de l'apprentissage automatique côté client inclut la protection de la confidentialité tout en permettant une analyse en temps réel, permettant une expérience d'IA cohérente sur plusieurs plates-formes et accélérant les performances en utilisant des GPU sans nécessiter l'installation de bibliothèques ou de pilotes. ONNX.js est similaire à TensorFlow.js et fournit des modèles d'apprentissage automatique au format ONNX, qui est un cadre standard.

  • 00:05:00 Dans cette section, nous découvrons la communauté ONNX, qui a été créée en 2017 par Microsoft et Facebook pour fournir une norme de format ouvert indépendante de la fenêtre. ONNX.js est une implémentation JavaScript pure d'ONNX qui permet aux utilisateurs d'exécuter des modèles ONNX dans un navigateur et de charger JS. Il optimise le modèle à la fois sur le CPU et le GPU avec plusieurs techniques technologiques avancées et dispose de trois back-ends activés, deux pour le CPU utilisant JavaScript et WebAssembly, et un pour le GPU utilisant WebGL. ONNX.js fournit également un profileur, un enregistreur et d'autres utilitaires pour faciliter le débogage et l'analyse, et prend en charge tous les navigateurs sur les principales plates-formes pour créer facilement des applications d'IA sur toutes les plates-formes. Enfin, l'utilisation de web workers permet une parallélisation au sein des opérateurs lourds qui améliore significativement les performances sur les machines multicœurs.

  • 00:10:00 Dans cette section, l'orateur discute des avantages de l'utilisation de WebGL, une API standard populaire pour accéder aux capacités GPU, pour accélérer la création graphique en JavaScript. L'utilisation de WebGL permet de nombreuses optimisations pour réduire le transfert de données entre le CPU et le GPU, ainsi que la réduction des cycles de traitement du GPU, ce qui entraîne des améliorations significatives des performances. L'orateur fournit également un exemple de flux de bout en bout d'utilisation d'ONNX.js pour exécuter un modèle et montre comment utiliser ONNX.js avec un exemple HTML et des outils npm et de délimitation. En outre, l'orateur discute de la nécessité d'une optimisation et d'un support supplémentaires pour davantage d'opérateurs ONNX et encourage les contributions de la communauté pour améliorer ONNX.js.
 

Comment exécuter des modèles PyTorch dans le navigateur avec ONNX.js



Comment exécuter des modèles PyTorch dans le navigateur avec ONNX.js

La vidéo explique les avantages de l'exécution d'un modèle PyTorch dans un navigateur à l'aide de JavaScript et ONNX.js, notamment un meilleur temps de réponse, l'évolutivité, la disponibilité hors ligne et une meilleure confidentialité des utilisateurs. La vidéo décrit également le processus de conversion d'un modèle PyTorch en modèle ONNX, de son chargement dans une session ONNX.js et de l'exécution de l'inférence dans le navigateur. La préparation des données, le débogage et les augmentations sont également abordés, et l'orateur montre comment rendre le modèle plus robuste en utilisant des techniques d'augmentation des données. La vidéo fournit un exemple de code et un site Web de démonstration permettant aux utilisateurs d'essayer le modèle par eux-mêmes.

  • 00:00:00 Dans cette section, Eliot Wait discute des avantages de l'exécution d'un modèle PyTorch dans un navigateur utilisant JavaScript. Premièrement, l'exécution du modèle dans le navigateur offre un meilleur temps de réponse et évite la latence de l'envoi de données vers et depuis un serveur. Deuxièmement, la configuration d'un site Web avec uniquement des fichiers statiques facilite la mise à l'échelle et la gestion d'un plus grand nombre d'utilisateurs. Troisièmement, le modèle fonctionnera hors ligne, donc tant que les fichiers JavaScript sont déjà installés, ils peuvent toujours être utilisés sans accès à Internet. Quatrièmement, l'hébergement du modèle dans le navigateur améliore la confidentialité des utilisateurs car les données ne sont partagées avec aucun serveur. Cependant, si le modèle est trop volumineux ou prend trop de temps à calculer sur les machines des utilisateurs, il est recommandé de l'héberger sur un serveur. Enfin, Eliot illustre comment convertir facilement des modèles PyTorch en JavaScript à l'aide d'un modèle Mnest pour la reconnaissance des chiffres manuscrits.

  • 00:05:00 Dans cette section, la vidéo explique la différence entre l'utilisation de TensorFlow.js et ONNX.js, et suggère d'utiliser TensorFlow.js pour la formation et ONNX.js pour l'inférence. ONNX signifie "échange de réseau de neurones ouvert" et définit un format de fichier commun pour les modèles d'apprentissage automatique. La vidéo décrit ensuite le processus de conversion d'un modèle PyTorch en modèle ONNX à l'aide de la méthode torch.onnx.export et montre comment charger le modèle dans une session d'inférence ONNX.js pour exécuter l'inférence sur celui-ci dans le navigateur. La vidéo fournit un exemple de code pour créer la session, charger le modèle et exécuter l'inférence sur une entrée factice, qui renvoie une carte de sortie en lecture seule.

  • 00:10:00 Dans cette section, la vidéo explique comment résoudre une erreur qui se produit lors de la tentative d'exécution du modèle PyTorch dans le navigateur à l'aide d'ONNX.js. Plus précisément, le message d'erreur indique que l'opérateur log-softmax n'est actuellement pas pris en charge par ONNX.js, mais le présentateur vidéo montre que l'opérateur softmax est pris en charge à la place. La vidéo présente également un site Web de démonstration où les utilisateurs peuvent dessiner des nombres et voir les prédictions de sortie du modèle PyTorch. Cependant, le présentateur note qu'il y a un problème avec le chargement du modèle, qui est corrigé en s'assurant que le modèle a été chargé avant d'y exécuter des données. Enfin, la vidéo présente une version mise à jour du code du modèle qui remodèle une liste de données d'image en un tenseur 280x280x4, permettant au modèle de prédire les valeurs numériques en fonction de l'entrée de pixels.

  • 00:15:00 Dans cette section de la vidéo, l'orateur explique comment préparer les données pour un modèle PyTorch qui s'exécutera dans le navigateur à l'aide d'ONNX.js. Ils extraient le quatrième canal d'une image dessinée pour le remodeler dans la forme attendue pour les images PyTorch. Ils appliquent également l'opérateur de pool moyen et divisent le tenseur par 255 pour ajuster les valeurs d'image dans la plage attendue. De plus, ils expliquent comment normaliser les données en soustrayant la moyenne de l'ensemble de données et en la divisant par l'écart type. L'orateur identifie une erreur due à l'ancienne forme de l'entrée fictive et explique comment la corriger. Ils expliquent également comment déboguer et appliquer l'augmentation des données pour rendre le modèle plus précis, en faisant pivoter et en traduisant les données d'image avant de les faire passer dans le modèle.

  • 00:20:00 Dans cette section, l'orateur montre comment rendre le modèle plus robuste en ajoutant une augmentation de données au script de formation. Ces augmentations incluent les traductions, la mise à l'échelle et le cisaillement des chiffres, produisant des échantillons plus difficiles à partir desquels le modèle peut apprendre. L'orateur recycle ensuite le modèle à partir de zéro et le teste, notant que bien qu'il puisse encore s'améliorer, l'augmentation des données ajoutées l'a rendu plus robuste dans l'ensemble. Le conférencier invite les téléspectateurs à essayer le modèle par eux-mêmes en utilisant le lien dans la description de la vidéo.
 

Classification des chiffres sur CPU avec démo ONNX Runtime



Classification des chiffres sur CPU avec démo ONNX Runtime

Open Neural Network Exchange (ONNX) fournit un format open source pour les modèles d'apprentissage en profondeur et d'apprentissage automatique. Nous pouvons former nos modèles dans le cadre que nous préférons, puis convertir le modèle au format ONNX. Avec ONNX Runtime de Microsoft, nous pouvons exécuter une session d'inférence avec des modèles onnx sur tous les environnements, ce qui nous donne une implémentation légèrement plus rapide. Voici une démonstration simple de la même chose. Le modèle est formé pour reconnaître les chiffres à l'aide de l'ensemble de données MNIST avec PyTorch. J'exécute une session d'inférence sur un processeur Linux.

https://github.com/NagarajSMurthy/Digit-recognizer

GitHub - NagarajSMurthy/Digit-recognizer: Digit recognition using CNN and testing on CPU with ONNX runtime.
GitHub - NagarajSMurthy/Digit-recognizer: Digit recognition using CNN and testing on CPU with ONNX runtime.
  • NagarajSMurthy
  • github.com
Digit recognition is a simple task of recognising digits from 0 to 9. A CNN is trained on the MNIST dataset which gave a good accuracy of around 98% on the test set. Choosing the proper model and employing suitable regularisation technique, the model also performed well during inference with an accuracy of close to 98%. The whole model is then...
 

Des milliards d'inférences NLP sur la JVM en utilisant ONNX et DJL



Des milliards d'inférences NLP sur la JVM en utilisant ONNX et DJL

Le CTO d'une société d'intelligence médiatique explique comment ils utilisent la JVM et DJL et Hugging Face pour la tokenisation NLP dans le pipeline d'apprentissage automatique afin d'exploiter le paysage médiatique pour divers cas d'utilisation. Au fur et à mesure que les caractéristiques de leurs produits l'ont poussé, leur système d'apprentissage et de modélisation automatique est devenu un élément essentiel pour que tout fonctionne, car ils ont atteint une échelle où le processeur ne pouvait plus suffire. Ils sont passés d'un modèle 32 bits à virgule flottante à un modèle 16 bits, ce qui a entraîné une augmentation de 3 % de l'efficacité, mais a dû faire face à des erreurs de conversion et à de rares fuites de mémoire au cours du processus, qu'ils ont résolues en remplaçant plusieurs implémentations. Ils ont investi dans la robustesse en ajoutant des CI alimentés par GPU et en mettant en place une pile logique Prometheus avancée qui surveille la latence de diverses inférences et la latence de tokenisation. Leurs plans futurs incluent l'amélioration de l'efficacité du GPU et l'ajout de plus de modèles au système en créant une configuration multi-GPU.

  • 00:00:00 Dans cette section de la vidéo, Viet, le CTO d'une société d'intelligence médiatique, explique comment l'infrastructure de son entreprise est basée sur la JVM et comment elle l'utilise pour exploiter le paysage médiatique pour divers cas d'utilisation tels que le lancement de produits suivi et suivi de la réputation. Il explique que leur système est alimenté par JVM et qu'ils utilisent DJL et Hugging Face pour la tokenisation NLP dans le pipeline d'apprentissage automatique. Le système d'apprentissage automatique et de modélisation de l'entreprise n'est plus seulement un atout, mais un élément essentiel pour que tout reste opérationnel à mesure que les fonctionnalités de leurs produits y conduisent. Ils ont atteint une échelle où le CPU ne pouvait plus suffire, alors ils considèrent Cubernates comme un système pour le mettre à l'échelle horizontalement. Leur système produit des milliards d'inférences par jour et ils accélèrent le GPU et utilisent 8 millions de sites pour créer un système complet de robot d'exploration Web.

  • 00:05:00 Dans cette section, le conférencier parle de son expérience de travail avec l'écosystème ONNX. Ils parlent du passage de l'utilisation d'un modèle à virgule flottante 32 bits à un modèle 16 bits, ce qui a entraîné une augmentation de 3 % de l'efficacité. Cependant, ils ont rencontré des erreurs de conversion au cours de ce processus, ce qui a entraîné une sortie inattendue du modèle ONNX. Ils ont également rencontré de rares fuites de mémoire qu'ils ont résolues en remplaçant plusieurs implémentations. L'orateur explique qu'ils ont investi dans la robustesse en ajoutant des CI alimentés par GPU et en mettant en place une pile logique Prometheus avancée qui surveille la latence de diverses inférences et la latence de tokenisation. Enfin, ils discutent de leurs plans futurs, qui incluent l'amélioration de l'efficacité du GPU et l'ajout de modèles supplémentaires au système en créant une configuration multi-GPU.