True ML Talks #7 - Plateforme d'apprentissage automatique @ Edge

Conçu pour la vitesse : latence d'environ 10 ms, même en cas de charge
Une méthode incroyablement rapide pour créer, suivre et déployer vos modèles !
- Gère plus de 350 RPS sur un seul processeur virtuel, aucun réglage n'est nécessaire
- Prêt pour la production avec un support complet pour les entreprises
Nous sommes de retour avec un autre épisode de True ML Talks. Dans ce cadre, nous approfondissons Bord ML Platform, et nous discutons avec Rahul Kulhari.
Présentation de Rahul Kulhari, cofondateur et responsable de la science des données chez Edge. Fort d'une solide expérience en IA et en apprentissage automatique, Rahul est chargé de mettre en œuvre la vision de l'entreprise et d'élaborer sa stratégie en matière d'IA. Il dirige une équipe d'experts qui développent des systèmes d'IA de pointe qui alimentent l'acquisition de talents, la mobilité des talents et les produits de marché interne des talents d'Edge. Son expertise et son expérience font de lui un atout précieux pour l'industrie et une excellente ressource pour tous ceux qui s'intéressent aux derniers développements en matière de science des données et d'IA.
📌
Nos conversations avec Liming porteront sur les aspects suivants :
- Cas d'utilisation du ML dans Edge
- L'équipe d'apprentissage automatique d'Edge
- Innovation dans le domaine de l'apprentissage automatique
- Quantification ou distillation
- Difficultés liées à l'opérationnalisation de l'apprentissage automatique
- Choix des outils MLOps
Regardez l'épisode complet ci-dessous :
Cas d'utilisation du ML @ Edge
- Traitement du langage naturel (NLP) : utilisé par Edge pour mieux comprendre les descriptions de poste et les CV afin de recommander les bons candidats et les candidats potentiels pour les postes.
- Graphique des connaissances : utilisé par Edge pour fournir un système de recherche et de recommandation pour des offres d'emploi personnalisées aux employés de l'entreprise et aux bons candidats pour les postes.
- Apprentissage par renforcement : un futur cas d'utilisation potentiel d'Edge afin de permettre aux utilisateurs de prendre des décisions en fonction du comportement actuel et de la transformation en cours dans le secteur, en adoptant une approche plus dynamique qui prend en compte les tendances et les évolutions du secteur au fil du temps.
L'équipe d'apprentissage automatique d'Edge
La structure de l'équipe d'Edge est divisée en cinq sous-catégories. Chaque secteur est responsable d'un aspect particulier du cycle de vie de développement des produits d'IA. Ces cinq verticales sont les suivantes :
- Scientifiques appliqués/Chercheurs/Giga Scientists : Cette sous-catégorie est chargée de comprendre l'énoncé du problème et de créer la solution complète de bout en bout, qui comprend l'expérimentation, le nettoyage des données, le traitement des données et le déploiement. Ils travaillent en étroite collaboration avec les autres membres de l'équipe pour développer et déployer des modèles d'apprentissage automatique.
- Analystes de données : Cette verticale est responsable de la collecte, de l'analyse et de l'interprétation de grands ensembles de données complexes. Ils travaillent en étroite collaboration avec les scientifiques des données pour s'assurer que les données utilisées sont de haute qualité et pertinentes pour le problème à résoudre.
- Ingénieurs en apprentissage automatique : Les ingénieurs en apprentissage automatique aident les scientifiques des données à participer aux pipelines d'apprentissage automatique en introduisant les outils dans le cadre de la formation, de l'expérimentation, du déploiement et de la surveillance. Ils travaillent en étroite collaboration avec les chercheurs en sciences appliquées pour déployer les modèles en production.
- Responsables de produits d'IA : Les chefs de produit d'IA sont chargés d'améliorer et de développer le produit d'IA. Ils traduisent l'énoncé du problème des parties prenantes de l'équipe aux data scientists et aux autres membres de l'équipe. Ils travaillent en étroite collaboration avec les autres membres de l'équipe pour s'assurer que le produit d'IA répond aux besoins de l'entreprise et qu'il est conforme à ses objectifs.
- Experts du domaine : Cette verticale comprend des personnes ayant une expertise dans des domaines spécifiques tels que les ressources humaines, les finances et les ventes. Ils travaillent en étroite collaboration avec les scientifiques des données et les ingénieurs en apprentissage automatique pour s'assurer que le produit d'IA est pertinent pour le domaine spécifique et apporte de la valeur à l'entreprise.
📌
Le rôle du chef de produit IA :
Le chef de produit IA comble le fossé commercial entre les équipes de science des données et d'ingénierie du ML en établissant des liens avec les équipes chargées de la réussite des produits et des clients afin de comprendre les objectifs commerciaux. Ils organisent des discussions impliquant des scientifiques des données, des chercheurs et l'équipe d'ingénierie du ML afin d'identifier les contributions nécessaires de chaque membre de l'équipe. Le chef de produit IA communique les besoins et les directives concernant la contribution de chaque équipe afin de s'assurer que tout le monde est aligné. Ils restent impliqués tout au long du projet, s'assurant que les objectifs commerciaux sont atteints et que tout le monde travaille dans le même but.
Innovations dans le domaine de l'apprentissage automatique
L'équipe ML d'Edge est consciente du défi majeur que représente le manque de données dans le flux de travail d'apprentissage automatique. Pour y remédier, ils ont introduit divers outils, processus et algorithmes pour l'augmentation des données. Ils ont développé des fonctionnalités telles que des algorithmes étudiants-enseignants, qui permettent d'entraîner leurs modèles sur des données bruyantes créées à l'aide de ces outils et algorithmes, puis de les affiner sur une grande quantité de données étiquetées.
L'un des outils essentiels qu'ils utilisent pour augmenter les données est Evidently AI, qui les aide à identifier les données et à cibler la dérive afin de s'assurer que les données bruyantes créées correspondent aux données étiquetées ou aux données cibles. Cet outil leur permet de s'assurer que leurs caractéristiques catégorielles et continues sont conformes et aident à créer des modèles précis.
L'équipe a également innové dans le domaine de l'apprentissage automatique. Bien qu'il soit devenu mature au fil du temps, lors de sa conception, ils ont découvert qu'aucun outil ou produit ne pouvait résoudre toutes les tâches de bout en bout, et les intégrer les uns aux autres représentait un défi. Ils ont utilisé différents outils tels que Neptune, Comet et MLflow pour le registre et la gestion des modèles.
Du point de vue du déploiement, ils se sont concentrés sur l'évolutivité, la latence et les coûts. Ils utilisent des outils tels que TF serving et Onyx pour la quantification en vue d'un déploiement sur des pods de déploiement Kubernetes. Ils disposent de plusieurs outils tout au long de leur pipeline d'apprentissage automatique, qu'ils considèrent comme une innovation. Ils ont été en mesure de gérer leurs finances tout en élaborant des œuvres de pointe. Ils n'ont donc pas eu besoin de passer à de nouveaux outils qui pourraient être plus coûteux. Ils encouragent toutefois leur équipe à garder un œil sur les nouvelles technologies et les nouveaux outils qui pourraient être utiles à l'avenir.
La quantification fonctionne mieux que la distillation : optimisation de la latence du modèle
L'optimisation de la latence des modèles constitue un défi crucial dans le domaine de l'apprentissage automatique, et des techniques telles que la quantification, l'élagage des modèles et la distillation ont été explorées pour y remédier. Selon un récent rapport d'une équipe d'Edge, la quantification fonctionne mieux que la distillation pour réduire la latence du modèle.
L'équipe a expérimenté différents modèles tels que DisGilbert, Roberta et ALBERT, et a finalement choisi ALBERT en raison de ses meilleures performances en matière d'interprétation des tâches et des CV. Ils ont également procédé à la distillation sur ALBERT et Roberta.
À partir de leurs expériences, l'équipe a découvert que la quantification fournissait des résultats remarquables, réduisant la latence du modèle d'environ 1,2 seconde à environ 200 millisecondes sur les processeurs. L'équipe a utilisé la quantification Onyx et Hugging Face pour ses modèles, qu'elle a entraînés uniquement sur des GPU.
Lors de la sélection du bon modèle, l'équipe a pris en compte divers facteurs tels que la latence, la taille du modèle, la simultanéité, l'utilisation du processeur et l'utilisation de la mémoire. Ils ont collaboré avec des scientifiques des données qui ont fourni le cadre du processus de quantification pendant que l'équipe d'ingénierie de l'apprentissage automatique menait les expériences et sélectionnait la meilleure option en fonction des résultats.
Bien que la quantification ait eu un impact de 1 % sur la précision, elle n'a pas affecté le rappel. L'équipe souligne que tout le monde devrait essayer la quantification car il s'agit d'une technique simple mais efficace pour réduire la latence des modèles.
Pour obtenir les données, le modèle avant la quantification prenait environ 1 200 millisecondes. Mais lorsque vous avez effectué cette quantification, elle a été réduite à environ 200 millisecondes.
Défis liés à l'opérationnalisation de l'apprentissage automatique
Difficultés :
- Les données disponibles pour la formation sont limitées : Travailler sur des cas d'utilisation tels que la recherche, les moteurs de recommandation, les problèmes de classification et l'apprentissage automatique objectif ou orienté vers les objectifs peut être difficile en raison de la moindre disponibilité des données. Il est essentiel de trouver des moyens de gérer moins de données tout en obtenant les meilleurs résultats.
- Adoption d'outils de machine learning : L'adoption d'outils tels que MLflow est un défi, car les chercheurs et les spécialistes des données peuvent ne pas comprendre l'importance de l'outil ou la manière dont il les aide. L'équipe ML devrait faire des efforts pour les éduquer et les sensibiliser aux avantages de l'utilisation de tels outils.
Solutions :
- Élaboration d'informations descriptives ou prescriptives : L'équipe ML devrait se concentrer sur le développement d'outils fournissant des informations descriptives ou prescriptives pour aider à la prise de décision. Cela réduira la dépendance à l'égard de l'expertise des chercheurs, qui peut être longue et coûteuse.
- Collaboration entre données, algorithmes et expertise humaine : Pour obtenir les meilleurs résultats et développer la bonne stratégie, les données, les algorithmes et l'expertise humaine doivent être utilisés conjointement.
- Identifier les expériences les plus critiques à réaliser : Avec une infrastructure limitée, il est essentiel d'identifier les meilleures expériences à réaliser, car l'apprentissage automatique comporte de nombreux hyperparamètres. L'équipe ML devrait se concentrer sur le développement d'un processus permettant d'identifier les expériences les plus critiques à exécuter et d'optimiser les hyperparamètres pour obtenir les meilleurs résultats.
Outils MLOps : quelques outils clés pour compléter l'intégralité du parcours
Outils d'infrastructure pour la formation et le déploiement des MLOps
En matière de MLOps, l'infrastructure est un élément essentiel. Une infrastructure fiable est nécessaire pour prendre en charge la puissance de traitement requise pour la formation et le déploiement de l'apprentissage automatique. L'utilisation d'un fournisseur de GPU comme E2E Networks peut fournir des GPU abordables en Inde.
Outils de formation et de création de modèles pour les MLOP
Pour la formation et la création de modèles, l'utilisation d'outils tels que Neptune, Comet ML ou TrueFoundry intégrés à Git peut garantir la reproductibilité et la conformité réglementaire. Hugging Face, TensorFlow et PyTorch sont également recommandés pour la création de modèles. CatBoost est une bonne option pour les problèmes de régression ou les arbres de décision.
Outils de déploiement pour MLOps
En matière de déploiement, ONNX est un outil recommandé, ou une approche sans serveur peut être adoptée à l'aide de Max.io, Banana.dev ou Infrrd. Lors du développement, la qualité des données peut être garantie grâce à des outils personnalisés ou tiers tels que Great Expectations, Streamlit pour la visualisation et Alibi Detect ou Evidently AI pour la dérive et l'analyse des données. Cependant, pendant la production, des outils supplémentaires peuvent être nécessaires pour la qualité des données, le lignage et d'autres types d'analyse.
Lisez nos précédents articles de la série TrueML
Continuez à regarder le TrueML série youtube et en lisant tout le TrueML série de blogs.
True Foundry est un PaaS de déploiement de machine learning sur Kubernetes destiné à accélérer les flux de travail des développeurs tout en leur offrant une flexibilité totale dans les tests et le déploiement de modèles, tout en garantissant une sécurité et un contrôle complets à l'équipe Infra. Grâce à notre plateforme, nous permettons aux équipes de machine learning de déployer et surveiller des modèles en 15 minutes avec une fiabilité à 100 %, une évolutivité et la possibilité de revenir en arrière en quelques secondes, ce qui leur permet de réduire les coûts et de mettre les modèles en production plus rapidement, ce qui permet de réaliser une véritable valeur commerciale.
TrueFoundry AI Gateway offre une latence d'environ 3 à 4 ms, gère plus de 350 RPS sur 1 processeur virtuel, évolue horizontalement facilement et est prête pour la production, tandis que LiteLM souffre d'une latence élevée, peine à dépasser un RPS modéré, ne dispose pas d'une mise à l'échelle intégrée et convient parfaitement aux charges de travail légères ou aux prototypes.
Le moyen le plus rapide de créer, de gérer et de faire évoluer votre IA













.webp)



.png)


.webp)




.webp)







