True ML Talks #16 - Pipeline d'apprentissage automatique @ Digits

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
Cas d'utilisation du ML en chiffres
Digits est une société de logiciels de gestion financière qui utilise l'IA pour automatiser les tâches comptables des opérateurs. En automatisant des tâches telles que la classification des transactions, la détection des valeurs aberrantes et la détection des fraudes, Digits aide les opérateurs à doubler leur clientèle et à améliorer leur temps de réponse aux clients.
- Intégration des clients : Digits utilise l'IA pour aider les nouveaux clients à configurer leur compte et à connecter leurs comptes bancaires rapidement et facilement.
- Classification des transactions : Digits utilise l'IA pour classer automatiquement les transactions, ce qui permet aux comptables de gagner du temps et de garantir une catégorisation précise.
- Détection des valeurs aberrantes : Digits utilise l'IA pour détecter les valeurs aberrantes dans les transactions, aidant ainsi les comptables à identifier et à enquêter rapidement sur les transactions inhabituelles.
- Rapports : Digits fournit aux comptables une variété de rapports générés à l'aide de l'IA pour gagner du temps et obtenir rapidement les informations dont ils ont besoin.
Modèles ML utilisés par chiffres :
- Modèles de classification : Classez les transactions dans différentes catégories, telles que les repas, les voyages et les stocks.
- Modèles de prédiction : Prédisez les résultats futurs, tels que la perte de clients et les fraudes.
- Modèles génératifs : Générez du texte, tel que des questions à poser aux clients et des messages à envoyer aux clients.
- Modèles basés sur les similarités : Trouvez des modèles similaires dans les transactions et imitez-les.
ML Journey en chiffres
Digits avait besoin de passer à des modèles d'apprentissage profond et de PNL afin de relever les défis de la subjectivité comptable. Digits disposait également d'une base solide en ingénierie des données et en Kubernetes, ce qui serait essentiel pour créer et faire évoluer une plateforme de machine learning réussie.
L'équipe a commencé par introduire TFX pour l'orchestration du pipeline ML et TF Serving pour la diffusion de modèles. Cela a permis à Digits de créer et de déployer des modèles de machine learning de manière évolutive et fiable.
Ensuite, l'équipe s'est concentrée sur le développement de pipelines basés sur la similitude. Ces pipelines sont capables de classer avec précision les transactions et d'identifier les valeurs aberrantes, même lorsque les données sont ambiguës ou incomplètes. Cela est dû au fait que les pipelines basés sur la similitude détectent des modèles similaires dans les transactions et imitent ces modèles. Cette approche est plus efficace que l'utilisation de modèles globaux d'apprentissage automatique, qui peuvent donner des résultats incohérents en fonction de l'interprétation des données par le comptable.
Les pipelines de machine learning de Digits sont désormais utilisés pour alimenter diverses fonctionnalités, notamment la classification des transactions, la détection des valeurs aberrantes et la détection des fraudes. Digits est ainsi en mesure de fournir à ses clients des informations précieuses et de les aider à automatiser les tâches, à améliorer la précision et à économiser de l'argent.
Orchestrer la formation au machine learning sur Kubernetes
L'approche de Digits en matière de formation au machine learning est bien organisée et efficace. L'utilisation de Kubernetes pour l'orchestration permet à Digits d'augmenter ou de réduire ses opérations de formation selon les besoins. L'utilisation de TensorFlow Transform pour le prétraitement et de la plateforme de formation dans les projets Google Cloud fournit à Digits les outils et les ressources dont elle a besoin pour entraîner des modèles complexes rapidement et efficacement. L'utilisation d'un ensemble de validation et d'un registre de modèles garantit que Digits expédie des modèles de haute qualité en production.
Digits orchestre la formation ML sur Kubernetes en suivant les étapes suivantes :
- Processus ETL : Digits utilise un processus ETL pour collecter des artefacts provenant de l'ensemble du système et démarrer des ensembles de données en continu.
- Validation des données et création de schémas : Digits valide les statistiques des ensembles de données et crée des schémas.
- Prétraitement : Digits utilise TensorFlow Transform pour prétraiter les données.
- Entraînement : Digits entraîne les modèles dans les projets Google Cloud à l'aide de la plateforme de formation.
- Évaluation : Digits évalue les modèles entraînés à l'aide d'un ensemble de validation.
- Registre des modèles : Digits envoie les modèles entraînés vers un registre de modèles.
- Déploiement : Digits utilise un système CI/CD pour déployer les modèles entraînés en production.
Gestion de l'allocation des ressources GPU dans ML Training at Digits
Dans le domaine de l'allocation des ressources GPU pour la formation ML, Digits utilise une approche globale impliquant à la fois des procédures manuelles et automatisées. Cette stratégie comprend :
Procédés manuels : Digits définit des limites claires d'utilisation du GPU pour les équipes et les projets afin de garantir une allocation équitable tout en évitant la surutilisation. En outre, il favorise une communication ouverte entre les ingénieurs ML, en favorisant la prise de conscience des ressources et en atténuant les conflits.
Processus automatisés : Digits maintient sa vigilance en surveillant en permanence l'utilisation du GPU et en émettant des alertes en temps opportun si l'utilisation dépasse les seuils prédéfinis afin de faciliter l'identification et la résolution rapides des problèmes. Un système de file d'attente garantit une répartition équitable des GPU, selon le principe du premier arrivé, premier servi.
Meilleures pratiques : Digits encourage les ingénieurs ML à planifier l'utilisation du GPU de manière proactive, en garantissant la disponibilité des ressources et la minimisation des conflits. L'exploitation des ressources du cloud apporte de la flexibilité, garantissant un accès adéquat au GPU, même en période de forte demande. Promouvoir la transparence dans l'utilisation des GPU favorise la confiance et la coopération entre les membres de l'équipe, améliorant ainsi la gestion des ressources.
Utilisation de TensorFlow Profiler pour l'analyse des cycles d'entraînement à Digits
Chez Digits, TensorFlow Profiler occupe une place centrale dans l'analyse des cycles d'entraînement, fournissant des informations précieuses pour optimiser les modèles de machine learning :
Digits enregistre avec diligence chaque entraînement effectué via TensorFlow Profiler, ce qui permet de suivre les tendances des performances au fil du temps.
Les paramètres essentiels, notamment la durée de l'entraînement, la consommation de mémoire et la précision, sont méticuleusement suivi, ce qui facilite des comparaisons de performances significatives entre divers modèles et configurations.
TensorFlow Profiler permet à Digits de comparer systématiquement les performances de différents cycles d'entraînement, aidant ainsi à sélectionner judicieusement le modèle et la configuration les plus adaptés pour résoudre des problèmes spécifiques.
Avantages :
- Performances améliorées : TensorFlow Profiler identifie et corrige les goulots d'étranglement en matière de performances, ce qui permet d'améliorer considérablement la vitesse et la précision de l'entraînement.
- Réduction des coûts : L'amélioration des performances d'entraînement réduit le coût global de l'entraînement du modèle ML pour Digits.
- Transparence accrue : Les informations détaillées sur les performances fournies par TensorFlow Profiler améliorent la compréhension de Digits en matière de formation aux modèles de machine learning et aident à identifier les problèmes potentiels à un stade précoce.
Optimisation des ensembles de validation pour les pipelines de machine learning basés sur la similarité
Lorsque vous créez des ensembles de validation pour les pipelines de machine learning basés sur les similitudes, tenez compte des facteurs clés suivants :
- Objectif : Définissez l'objectif du modèle : en quoi consiste la similitude entre les points de données ? Une fois cet objectif clair, l'ensemble de validation peut être rempli avec des exemples connus similaires et différents.
- Contexte : L'ensemble de validation doit refléter l'application réelle du modèle. Par exemple, si le modèle recommande des produits aux clients, il doit inclure les articles que les clients achètent souvent ensemble.
- Taille : Trouvez un équilibre : votre ensemble de validation doit être statistiquement significatif mais gérable. Une directive générale est de faire en sorte qu'il représente au moins 10 % de la taille de l'ensemble d'entraînement.
- Variabilité : Pour renforcer la robustesse du modèle, assurez-vous que votre ensemble de validation englobe divers points de données.
- Impact sur les opérateurs : Le nombre d'opérateurs peut biaiser l'ensemble de validation en faveur de secteurs spécifiques. Pour atténuer ce problème, intégrez des exemples provenant de divers secteurs et secteurs d'activité.
Défis et optimisations des pipelines de machine learning basés sur la similarité
Les pipelines ML basés sur la similarité présentent un certain nombre de défis et d'optimisations uniques par rapport aux pipelines ML traditionnels.
Difficultés :
- Choix d'une fonction de perte : Il existe différentes fonctions de perte qui peuvent être utilisées pour les modèles ML basés sur la similitude. Il est important de choisir la bonne fonction de perte pour garantir la précision et la fiabilité du modèle.
- Structuration des données d'entraînement : La manière dont les données d'entraînement sont structurées dépend de la fonction de perte choisie. Il est important de structurer les données d'entraînement de manière efficiente et efficace.
- Optimisation des performances : Les modèles de machine learning basés sur la similarité peuvent être coûteux en termes de calcul à entraîner. Il est important d'optimiser le processus d'entraînement pour des raisons de performance.
Optimisations :
- Utilisez un GPU : Les GPU peuvent accélérer de manière significative l'entraînement de modèles de machine learning basés sur les similitudes.
- Profilez le modèle : Le profilage du modèle pendant la formation peut aider à identifier les goulots d'étranglement et les domaines dans lesquels le processus de formation peut être amélioré.
- Prétraitez les données : Le prétraitement des données peut améliorer les performances du modèle et réduire le temps d'entraînement.
- Réduisez les jetons d'entrée : Si vous utilisez un modèle de langage, la réduction du nombre de jetons d'entrée peut améliorer les performances du modèle et réduire le temps d'apprentissage.
Digits utilise les pipelines TensorFlow Extended et Vertex AI pour les pipelines ML basés sur la similarité
Digits utilise TensorFlow Extended (TFX) et Vertex AI Pipelines pour les pipelines ML basés sur la similitude. TFX est une plateforme open source de bout en bout développée par Google pour créer, déployer et gérer des pipelines de machine learning. Vertex AI Pipelines est un service cloud entièrement géré pour la gestion des pipelines ML.
TFX fournit un certain nombre de composants utiles pour créer des pipelines ML basés sur les similitudes, notamment :
- Validation des données TFX : Valide la qualité et la cohérence des données d'entraînement.
- Transformation TFX : Prétraite les données d'entraînement, y compris la gestion des valeurs manquantes, la conversion des types de données et les fonctionnalités de dimensionnement.
- Analyse du modèle TFX : Évalue les performances des modèles entraînés sur un ensemble de validation conservé.
- Service TFX : Déploie des modèles entraînés en production.
Vertex AI Pipelines facilite l'exécution et la gestion des pipelines TFX à grande échelle. Vertex AI Pipelines fournit un certain nombre de fonctionnalités utiles pour les pipelines ML basés sur les similitudes, notamment :
- Mise à l'échelle automatique : Vertex AI Pipelines peut adapter automatiquement les ressources utilisées pour faire fonctionner les pipelines, en fonction de la demande.
- Surveillance et alerte : Vertex AI Pipelines fournit des fonctionnalités de surveillance et d'alerte qui peuvent aider à identifier et à résoudre les problèmes liés aux pipelines.
- Contrôle de version : Vertex AI Pipelines fournit des fonctionnalités de contrôle de version qui facilitent le suivi et la gestion des modifications apportées aux pipelines.
Digits utilise les points de terminaison Vertex pour le registre des modèles et TF pour la production
Digits utilise Vertex Endpoints pour le registre des modèles et TF Serving pour la production.
Vertex Endpoints est un service cloud entièrement géré pour le déploiement et la gestion de modèles d'apprentissage automatique. Il fournit un certain nombre de fonctionnalités qui en font un bon choix pour le registre des modèles, notamment :
- Gestion centralisée : Vertex Endpoints fournit un emplacement central pour stocker et gérer les modèles.
- Contrôle de version : Vertex Endpoints fournit des fonctionnalités de contrôle de version qui facilitent le suivi et la gestion des modifications apportées aux modèles.
- Contrôle d'accès : Vertex Endpoints fournit des fonctionnalités de contrôle d'accès qui permettent de contrôler facilement qui peut accéder aux modèles et les déployer.
TF Serving est un système de distribution TensorFlow performant et prêt pour la production. Il fournit un certain nombre de fonctionnalités qui en font un bon choix pour la production, notamment :
- Haute performance : TF Serving peut servir des modèles à haut débit et à faible latence.
- Évolutivité : TF Serving peut être adapté pour gérer un grand nombre de demandes.
- Fiabilité : TF Serving est conçu pour être fiable et prêt pour la production.
Digits utilise CI/CD pour automatiser le déploiement des modèles sur Vertex Endpoints. Lorsqu'un modèle est enregistré dans le registre des modèles, le système CI/CD est déclenché. Le système CI/CD crée ensuite un modèle de serveur TF et le déploie sur un point de terminaison Vertex.
Avantages :
L'utilisation de Vertex Endpoints et de CI/CD pour la production présente de nombreux avantages :
- Évolutivité : Vertex Endpoints peut redimensionner automatiquement les ressources utilisées pour servir les modèles, ce qui facilite la gestion d'un grand nombre de demandes.
- Fiabilité : Vertex Endpoints est conçu pour être fiable et prêt pour la production.
- Automatisation : La CI/CD automatise le déploiement des modèles, ce qui réduit le risque d'erreur humaine et facilite le déploiement fréquent des modèles.
Comment Digits détecte automatiquement lorsque les modèles doivent être réentraînés
Digits utilise une combinaison de techniques pour détecter automatiquement quand les modèles doivent être réentraînés :
- Prévisions du modèle de surveillance : Digits surveille les prévisions des modèles en production. Si les prévisions commencent à devenir inexactes, cela peut indiquer que le modèle doit être réentraîné.
- Suivi des indicateurs de performance des modèles : Digits suit un certain nombre de mesures de performance du modèle, telles que l'exactitude, la précision et le rappel. Si ces indicateurs commencent à se dégrader, cela peut indiquer que le modèle doit être réentraîné.
- Validation des extraits de données : Digits valide périodiquement les extraits de données de production. Cela permet d'identifier toute dérive de données qui pourrait se produire. Si une dérive des données est détectée, cela peut indiquer que le modèle doit être réentraîné.
- Révision des résultats du modèle : Digits dispose d'une plateforme de révision interne où les employés peuvent consulter les résultats des modèles. Cela permet d'identifier les cas où le modèle ne fait pas de prévisions précises. Si de tels cas sont identifiés, cela peut indiquer que le modèle doit être remanié.
Une fois que Digits détecte qu'un modèle doit être réentraîné, il utilise CI/CD pour automatiser le processus de reconversion et de déploiement. Le système CI/CD construit un nouveau modèle TF Serving en utilisant les dernières données d'entraînement et le déploie sur un point de terminaison Vertex.
Exemple :
Voici un exemple du fonctionnement du processus de reconversion automatique des modèles de Digits :
- Un modèle en production fait une prédiction qui est inexacte.
- Le système de surveillance de Digits détecte les prévisions inexactes et envoie une notification au système CI/CD.
- Le système CI/CD déclenche une nouvelle tâche de formation.
- Le job de formation forme un nouveau modèle en utilisant les dernières données de formation.
- Le système CI/CD déploie le nouveau modèle sur un point de terminaison Vertex.
- Le nouveau modèle est désormais utilisé pour faire des prévisions en production.
L'importance de la collaboration entre les ingénieurs et les concepteurs de machine learning
Les ingénieurs et les concepteurs de machine learning (ML) travaillent souvent en silos, ce qui peut entraîner des problèmes lors de la mise en production de modèles ML. Les ingénieurs ML peuvent développer des modèles précis mais peu conviviaux, tandis que les concepteurs peuvent créer des interfaces visuellement attrayantes mais ne collectent pas de commentaires sur les prédictions des modèles.
Pour relever ces défis, il est important que les ingénieurs et les concepteurs de machine learning collaborent étroitement. Cela peut être fait en :
- Travailler ensemble sur les exigences relatives aux produits : Les ingénieurs et les concepteurs de machine learning devraient travailler ensemble pour définir les exigences du produit pour les modèles de machine learning. Cela permettra de garantir que les modèles sont développés pour répondre aux besoins des utilisateurs et que la conception des interfaces est compatible avec les modèles.
- Partage de commentaires : Les ingénieurs et les concepteurs de machine learning devraient régulièrement partager leurs commentaires entre eux. Cela permettra d'identifier tout problème potentiel avec les modèles ou les interfaces à un stade précoce.
- Création de boucles de feedback : Les ingénieurs et concepteurs de machine learning devraient créer des boucles de feedback pour recueillir les commentaires des utilisateurs sur les performances des modèles et la facilité d'utilisation des interfaces. Ces commentaires peuvent être utilisés pour améliorer les modèles et les interfaces au fil du temps.
Conseils pour créer des plateformes de machine learning
- Efficacité : Concentrez-vous sur la création de pipelines MLOps efficaces pour des applications spécifiques, telles que celles qui nécessitent des données propriétaires ou des niveaux élevés de confidentialité et de sécurité.
- Tout d'abord sur l'API : Envisagez d'utiliser des modèles pré-entraînés d'OpenAI, d'Anthropic, de Bard et d'autres fournisseurs pour les tâches génériques.
- Consultation : Concentrez-vous sur la consultation des autres membres de l'équipe sur la manière d'utiliser ces API et de résoudre des problèmes spécifiques à un domaine.
IA générative @ Digits
L'IA générative a le potentiel de révolutionner de nombreux secteurs. Voici quelques cas d'utilisation de l'IA générative chez Digits :
- Renforcer la communication entre les comptables et les opérateurs : L'IA générative peut être utilisée pour générer des estimations des questions et réponses, ce qui peut permettre aux deux parties d'économiser du temps et des efforts.
- Hébergement interne de grands modèles linguistiques : Digits dispose de sa propre infrastructure pour héberger de grands modèles linguistiques, ce qui lui permet de le faire de manière sécurisée et respectueuse de la vie privée.
- Utilisation de l'accès basé sur des API à des modèles d'IA génératifs : Il est possible de combiner l'accès basé sur les API à des modèles d'IA génératifs avec l'apprentissage automatique basé sur les similitudes pour offrir une expérience produit exceptionnelle.
Il y a problèmes de confidentialité et de sécurité associée à l'IA générative, et il est important de répondre à ces préoccupations de manière responsable. En tant que communauté, nous pouvons trouver des moyens de développer et d'utiliser l'IA générative de manière sûre et bénéfique pour tous.
Le paysage du casting et de l'hébergement de registres de modèles changera considérablement dans les années à venir pour répondre aux besoins des grands modèles linguistiques. - Hannes
Lisez nos précédents articles de la série True ML Talks :
Continuez à regarder le TrueML série youtube et en lisant 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)







