Prochain webinaire : La sécurité d'entreprise pour Claude Code | 21 avril · 11 h PST. Inscrivez-vous ici →

Aider chaque enfant à lire grâce à Wadhwani AI

Solution d'IA pour évaluer et améliorer les compétences en lecture des enfants des communautés mal desservies

Wadhwani AI est une organisation à but non lucratif qui travaille sur de multiples solutions d'IA clés en main pour les populations mal desservies des pays en développement.

Dans le cadre du projet Vachan Samiksha, l'équipe développe une solution d'IA personnalisée que les enseignants des zones rurales de l'Inde peuvent utiliser pour évaluer la maîtrise de la lecture des élèves et élaborer un plan d'urgence personnalisé pour améliorer les compétences en lecture de chaque élève.

L'équipe avait déployé la solution dans les écoles primaires pour mener des projets pilotes. Cependant, l'équipe était confrontée aux problèmes suivants qui devaient être résolus avant que la portée du projet ne soit étendue à un plus grand nombre d'écoles et d'élèves :

  1. Coûts informatiques très élevés : Le modèle Vachan Samiksha nécessitait des GPU pour faire des inférences. L'équipe a donc dû supporter des coûts très élevés pour maintenir les instances GPU provisionnées pendant toute la durée du déploiement.
  2. La mise à l'échelle était limitée : Par le quota de GPU des instances ML que l'équipe pouvait obtenir sur le service de ML géré, pour lequel le processus était lent et impliquait une analyse de rentabilisation. Il a été beaucoup plus facile d'obtenir des instances de machine learning non gérées sur Kubernetes brut. L'équipe a créé un modèle intégrant les accents pour évaluer la maîtrise de la langue régionale et de l'anglais
  3. Certaines demandes ont mis beaucoup de temps à être traitées : Les projets pilotes ont été menés dans des milliers d'écoles et des millions d'élèves simultanément. Cela a obligé le système à évoluer horizontalement lorsque le débit des demandes augmente. Cependant, le service de machine learning géré a mis jusqu'à 9 minutes avant de pouvoir être évolutif, ce qui a nui à l'expérience de l'utilisateur final

L'équipe TrueFoundry s'est associée à l'équipe pour résoudre ces problèmes. Grâce à la plateforme TrueFoundry, l'équipe a pu :

  1. Faites évoluer l'application pour gérer 10 fois plus de demandes par seconde par rapport au service ML géré.
  2. Réduisez les coûts liés au cloud d'environ 55 % avec le même niveau de fiabilité et de performances.
  3. Réduisez la latence des requêtes d'environ 80 % lorsque les pods sont mis à l'échelle horizontale.

À propos de Wadhwani AI

Wadhwani AI a été fondée par Romesh et Sunil Wadhwani (Fait partie de la liste Times100 AI) pour exploiter l'IA pour résoudre les problèmes auxquels sont confrontées les communautés mal desservies des pays en développement. Ils collaborent avec des gouvernements et des organismes mondiaux à but non lucratif du monde entier pour apporter de la valeur grâce à cette solution. En tant qu'organisation à but non lucratif, Wadhwani AI utilise l'intelligence artificielle pour résoudre des problèmes sociaux dans les domaines de l'agriculture, de l'éducation et de la santé, entre autres. Certains de leurs projets incluent :

Wadhwani AI travaille également avec des organisations partenaires pour évaluer leur niveau de préparation à l'IA, c'est-à-dire leur capacité à créer et à utiliser des solutions d'IA de manière efficace et durable. Le travail de Wadhwani AI vise à utiliser l'IA pour le bien et à améliorer la vie de milliards de personnes dans les pays en développement.

Outil de maîtrise de la lecture orale de Wadhwani AI : Vachan Samiksha

Les compétences en lecture sont fondamentales pour les bases éducatives de tout enfant. Malheureusement, de nombreux étudiants des régions rurales et défavorisées de l'Inde et d'autres pays en développement n'ont pas ces compétences. Pour résoudre ce problème à un niveau fondamental, l'équipe d'IA de Wadhwani a développé un outil de fréquence de lecture orale basé sur l'IA appelé Vachan Samiksha.

L'outil déploie l'IA pour analyser les performances de lecture de chaque enfant. Il cible principalement les régions rurales et semi-urbaines du pays à l'heure actuelle et est utilisé pour tous les groupes d'âge. Pour rendre la solution généralisable dans la majeure partie du pays, l'équipe a élaboré un modèle intégrant l'accent pour évaluer les langues régionales et l'anglais. L'évaluation manuelle de ces compétences comporte des biais et est souvent inexacte.

La solution est proposée aux utilisateurs (enseignants des écoles cibles) via une application qui invoque le modèle déployé sur le cloud. L'étudiant est amené à lire un paragraphe, qui est enregistré par l'application et envoyé dans le cloud. Sur le cloud, le modèle évalue la précision de lecture, la vitesse, la compréhension et d'autres retards d'apprentissage complexes qui pourraient ne pas être pris en compte lors d'une évaluation normale. Outre l'évaluation de ces compétences, l'application crée également un plan d'apprentissage personnalisé pour chaque étudiant afin de faciliter son apprentissage et crée également des rapports démographiques pour les actions macroéconomiques des autorités gouvernementales. L'équipe avait déployé le modèle pour le projet pilote avec le service de machine learning géré du fournisseur de cloud.

Lorsque nous avons commencé notre collaboration avec l'équipe de Vachan Samiksha au sein de Wadhwani AI, l'équipe tirait parti de la pile MLOps native de son fournisseur de cloud pour déployer le modèle de son projet pilote auprès du ministère de l'Éducation du Gujarat.

La configuration de leur infrastructure était la suivante :

  1. Point de terminaison asynchrone géré : L'équipe souhaitait un moteur d'inférence asynchrone car le modèle pouvait mettre un certain temps (environ 5 à 7 secondes) à inférer. Lorsque l'application recevait simultanément beaucoup de trafic, elle devait stocker les demandes par intermittence avant qu'un travailleur puisse les récupérer et en déduire. Le point de terminaison asynchrone du fournisseur de cloud utilise en interne sa file d'attente native.
  2. Service de conteneurs géré : L'équipe utilisait le service de conteneur géré pour héberger le service principal de l'application.
  3. Travailleurs en file d'attente : Le service MLOps géré utilisait des instances réservées de machine learning pour permettre aux travailleurs de la file d'attente de récupérer les demandes de la file d'attente et d'en déduire les requêtes.
  4. Source de données : La file d'attente était écrite dans le système de stockage du fournisseur de cloud et lue à partir de celui-ci
  5. SNS : il a été utilisé comme courtier pour publier le chemin de sortie et les messages de succès/d'échec à partir de la file de messages de sortie
Architecture de l'équipe Vachan Samiksha avec le service de machine learning géré du fournisseur de cloud

Les défis auxquels l'équipe avait été confrontée

L'équipe a dû faire face à des défis liés à cette configuration lors de la réalisation du premier projet pilote, ce qui l'a motivée à essayer d'autres solutions :

La mise à l'échelle était limitée

Le projet pilote devait se dérouler à grande échelle (~6 millions d'étudiants en un mois). Cependant, l'équipe n'était pas convaincue que le service de machine learning géré serait en mesure de prendre en charge cette échelle pour les raisons suivantes :

  1. Quota distinct : Le service de machine learning géré dispose d'un quota et d'une allocation distincts pour les instances de machine learning qu'il était difficile d'obtenir davantage.
  2. Difficile d'obtenir un quota d'instances ML : L'obtention d'un quota supplémentaire est un processus lent et l'équipe devait présenter une analyse de rentabilisation pour être éligible à un quota supplémentaire. Même lorsque l'équipe s'est vu attribuer plus de quotas, cela représentait à peine 1/10e du quota attendu.
  3. Il est beaucoup plus facile d'obtenir des instances non-ML : L'équipe a trouvé qu'il était beaucoup plus facile d'obtenir un quota pour les instances non-ML. Cependant, il était difficile pour l'équipe de l'utiliser dans son projet pilote sans les outils MLOps gérés.

Le support était lent

Au cours du projet pilote, l'équipe a rencontré des problèmes de vitesse de mise à l'échelle, et certains modules ne se sont pas présentés comme prévu. Cependant, pour résoudre le problème, l'équipe a contacté les représentants du fournisseur de cloud, qui ont ensuite contacté l'équipe technique. Cela a provoqué un retard dans le système et a retardé le pilote.

La mise à l'échelle était lente

Lorsque le trafic de demandes a augmenté pendant le projet pilote, les modules ont dû évoluer horizontalement (créer de nouveaux nœuds capables de récupérer et de traiter certaines des demandes de la file d'attente). Ce processus prenait environ 9 à 10 minutes pour chaque nouveau module lancé, ce qui entraînait des retards de réponse et une mauvaise expérience pour l'utilisateur final.

Coûts excessivement élevés

Les instances GPU sont très coûteuses en raison de la pénurie mondiale de puces. Ajoutez à cela la majoration de 20 à 40 % pour les instances de ML que le fournisseur de cloud place. Cela a rendu le coût des instances très élevé et irréalisable pour l'équipe à l'échelle qu'elle souhaitait gérer le projet.

Le système était prêt à être déployé avec TrueFoundry en moins d'une semaine

Lorsque nous avons rencontré l'équipe de Vachan Samiksha, ils se trouvaient entre leur premier projet pilote et le second. Le projet pilote était dans moins d'une semaine et nous avons dû :

  1. Configurez la plateforme TrueFoundry sur leur infrastructure cloud (étant donné que les données sont très sensibles et qu'aucune donnée n'a été autorisée à dépasser le VPC du projet)
  2. Intégrez l'équipe et expliquez-lui les différentes fonctionnalités de la plateforme.
  3. Migrer l'application Vachan Samiksha vers la plateforme
  4. Tester la charge de l'application et comparer la mise à l'échelle horizontale

Le pilote était prêt à être expédié avec TrueFoundry en moins d'une semaine

Pendant la période qui a précédé le projet pilote :

Installation de la plateforme

Notre équipe a aidé l'équipe d'intelligence artificielle de Wadhwan à installer la plateforme sur son propre Kubernetes brut. Le plan de contrôle et le cluster de charge de travail ont tous deux été installés sur leur propre infrastructure. Toutes les données, les éléments de l'interface utilisateur permettant d'interagir avec la plateforme et les processus de charge de travail pour la formation/le déploiement des modèles sont restés dans leur propre VPC. La plateforme était également conforme à toutes les règles et pratiques de sécurité de l'entreprise.

Formation et intégration

Nous avons aidé l'équipe à comprendre comment les différents composants interagissent pendant le processus de formation et d'intégration. Nous leur avons expliqué comment configurer les ressources, configurer la mise à l'échelle automatique et déployer le modèle.

Migration

L'équipe d'IA de Wadhwani a pu migrer l'application elle-même avec un minimum d'aide de la part de l'équipe TrueFoundry. Cela a été fait en une heure d'appel avec l'équipe.

Tests

Une fois l'application déployée, l'équipe a commencé à tester la charge au niveau de production. L'équipe a étendu indépendamment l'application à plus de 100 nœuds grâce à un simple argument sur l'interface utilisateur TrueFoundry, soit 5 fois l'échelle la plus élevée jamais atteinte. Ils ont également essayé d'évaluer la vitesse de mise à l'échelle des nœuds, qui était beaucoup (3 à 4 fois) plus rapide que celle fournie par leur.

Expédition

Une fois les tests de charge terminés, l'équipe a déployé l'application pilote et était prête à la déployer dans la deuxième phase du projet pilote, qui a été déployé dans 1 000 écoles, 9 000 enseignants et plus de 2 lakh d'élèves.

Plus de contrôle à un coût bien moindre avec TrueFoundry

Architecture des applications avec TrueFoundry

Avec un effort minimal de moins de 10 heures, l'équipe d'IA de Wadhwani a pu réaliser une amélioration significative en termes de vitesse, de contrôle et de coûts. Certains des principaux changements qu'ils ont constatés étaient les suivants :

Plus de contrôle et de visibilité : indépendance des développeurs

Les data scientists et les ingénieurs en machine learning ont pu configurer plusieurs éléments, ce qui leur a été difficile à réaliser via la console du fournisseur de cloud ou ils ont dû faire appel à l'équipe d'ingénierie :

Configuration de la politique de dimensionnement automatique des nœuds GPU

Sur la base de la longueur de la file d'attente et en augmentant le nombre maximum de réplicas/nœuds à 70 au lieu de la limite précédente de 20

Configuration de la mise à l'échelle automatique basée sur le temps

Étant donné que la majeure partie de la circulation des pilotes se faisait pendant les heures de classe, lorsque les professeurs interagissaient avec les élèves, les demandes ont été minimes, voire aucune, en soirée et en soirée. L'équipe constante a pu mettre en place un calendrier de dimensionnement grâce auquel les modules ont été réduits au minimum pendant les heures d'arrêt (soir et nuit). Cela a permis d'économiser environ 15 à 20 % du coût du projet pilote.

Indicateurs d'utilisation et suggestions

L'équipe a pu facilement surveiller le trafic, l'utilisation des ressources et les réponses directement depuis l'interface utilisateur TrueFoundry. Ils ont également reçu des suggestions via la plateforme chaque fois qu'il y avait un surapprovisionnement ou un sous-approvisionnement des ressources

"For me the biggest differentiator working with TrueFoundry was the ease of usage and the quick response and support provided by the team. I was able to setup and migrate our entire code base in less than 1 day which was amazing. During the pilot and whenever we had any doubts or request the TrueFoundry team was available immediately to solve our doubts and support us. Besides these factors we are getting a massive cost reduction which is super helpful for the project."

- Jatin Agrawal, Machine Learning Scientist @ Wadhwani AI

TrueFoundry a aidé l'équipe à évoluer tout en réduisant les coûts

Mise à l'échelle 5 fois plus rapide

Pour tester la mise à l'échelle avec TrueFoundry, l'équipe a envoyé une rafale de 88 requêtes à l'application et a comparé les performances du service ML géré du fournisseur de cloud à celles de TrueFoundry. Toutes les configurations du système ont été conservées conformément à la logique de dimensionnement (en fonction de la longueur de la file d'attente, du nombre initial de nœuds, du type d'instance, etc.)

Nous avons réalisé que TrueFoundry pouvait évoluer 78 % plus rapidement que le service de ML géré, qui permettait à l'utilisateur de répondre beaucoup plus rapidement. Le temps nécessaire pour répondre à la requête de bout en bout a été réduit de 40 % avec TrueFoundry.

Autoscaling Test Results (A10g-4vCPUs, 2 Workers, 88 requests)
Managed ML Service TrueFoundry
Total Time to process all 88 requests 660s 395.9s
Time to scale up (1 worker to 2 worker) 9 min 2 min
Time before AutoScaler was triggered 2 min 30 secs 15 secs

50 % de réduction des coûts

Les coûts engagés par l'équipe pour le projet pilote ont été réduits d'environ 50 % en passant à TrueFoundry, grâce aux facteurs suivants :

  1. Réduction d'environ 25 à 30 % - Utilisation de Kubernetes pur : Les instances de machine learning managées bénéficient d'une augmentation de 25 à 40 % pour la même instance lorsqu'elles sont provisionnées directement sur Kubernetes. Étant donné que TrueFoundry fonctionne directement sur K8s, l'équipe a économisé beaucoup de coûts ici
  2. Réduction d'environ 15 à 20 % - Mise à l'échelle automatique basée sur le temps : L'équipe a programmé la réduction de la taille des pods alors qu'elle s'attendait à une baisse du trafic vers l'application. Cela a permis à l'équipe d'économiser 15 à 20 % des coûts liés au cloud.
  3. Réduction d'environ 20 à 30 % - Utilisation d'instances ponctuelles : Les instances ponctuelles font partie de l'infra inutilisée des fournisseurs de cloud qu'ils proposent avec des remises de 50 à 60 %. En activant un indicateur simple dans l'interface utilisateur, l'équipe peut utiliser une combinaison d'instances ponctuelles et à la demande. Les instances ponctuelles risquent d'être déprovisionnées, mais TrueFoundry a mis en place une couche de fiabilité qui garantit que même avec des instances ponctuelles, la combinaison d'instances à la demande et d'instances ponctuelles est gérée de manière à fournir aux utilisateurs un niveau de disponibilité fiable.

Haute disponibilité des processeurs graphiques pour des coûts réduits

Alors que Managed ML Service était limité par la disponibilité d'instances GPU dans la même région du fournisseur de cloud, TrueFoundry peut ajouter des nœuds de travail au système qui peuvent se trouver dans n'importe quelle région ou fournisseur de cloud.
Cela signifie que :

  1. Haute disponibilité du GPU auprès de plusieurs fournisseurs de cloud et de différentes régions: les utilisateurs peuvent créer des nœuds dans une autre région du cloud où la disponibilité du GPU est plus élevée ou auprès d'autres fournisseurs de cloud tels qu'AWS, E2E Networks, RunPod, Azure, GCP, etc. Ceci est essentiel car chaque entreprise reçoit des messages de réussite ou d'échec, car cela permet aux utilisateurs de s'abonner à certaines limites de quota GPU, et pour garantir la fiabilité du système, il est nécessaire de disposer de ce type de sauvegarde.
  2. Réduction des coûts : Les différents fournisseurs de cloud proposent des prix différents pour les instances GPU. Cela peut varier de 40 à 80 % d'un fournisseur à l'autre. TrueFoundry permet à l'utilisateur de connecter n'importe quel fournisseur de GPU à un plan de contrôle unique et permet une évolutivité fluide entre ces fournisseurs de cloud, avec la possibilité de choisir un fournisseur moins coûteux s'il est disponible pour réduire les coûts.

Utilisez les meilleurs outils sans aucune limitation

TrueFoundry s'intègre parfaitement à tous les outils que l'équipe souhaite utiliser. En ce qui concerne le fournisseur de cloud, cela était limité par les choix de conception choisis par le fournisseur et ses intégrations natives. Par exemple, l'équipe souhaitait utiliser le NATS pour publier des messages, ce que le service natif du fournisseur de cloud ne proposait pas actuellement. TrueFoundry a simplifié ce type de choix pour l'équipe d'IA de Wadhwani.

Le moyen le plus rapide de créer, de gérer et de faire évoluer votre IA

Exploitez votre pipeline ML dès le premier jour

gazoduc