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

True ML Talks #4 - Plateforme d'apprentissage automatique @ Salesforce

Par TrueFoundry

Mis à jour : April 6, 2023

Résumez avec

Nous sommes de retour avec un autre épisode de True ML Talks. Dans ce cadre, nous approfondissons de Salesforce ML Platform, et nous discutons avec Arpet Kale.

Arpeet faisait partie de l'équipe d'ingénierie de Salesforce qui a conçu l'ensemble de la plateforme ML. Il est l'un des fondateurs de Fonds pour les constructeurs, où lui et ses collègues investissent et conseillent des entreprises de ML/AI du monde entier. Parallèlement, il est responsable de l'infrastructure chez Skiff.

📌

Nos conversations avec Arpeet porteront sur les aspects suivants :
- Cas d'utilisation du ML dans Salesforce
- Structure de l'équipe Salesforce ML
- Présentation de l'infrastructure Salesforce ML
- Prototypage de modèles ML chez Salesforce
- Gestion des coûts des projets de machine learning à grande échelle dans le cloud
- Flux automatique pour les modèles mobiles
- Création d'un service de prévision en temps réel multi-locataires
- Optimisation des modèles pour l'IA d'entreprise
- Mesures de sécurité et de fiabilité dans Salesforce AI Platform
- Plateforme d'infrastructure ML par rapport à la plateforme de déploiement de logiciels

Regardez l'épisode complet ci-dessous :

Pourquoi le ML est-il important pour Salesforce

  1. Des expériences client personnalisées → Le ML permet à Salesforce de proposer des expériences clients personnalisées, car il lui permet d'analyser les données clients et de générer des informations pour améliorer les interactions avec les clients.
  2. Automatisation des campagnes marketing → Il aide les clients de Salesforce à automatiser leurs campagnes marketing en analysant les images, le texte et les données des réseaux sociaux, ce qui leur permet de se concentrer sur la personnalité de leurs clients et d'optimiser leur stratégie marketing.
  3. Des chatbots pour un support client efficace → Les chatbots alimentés par le machine learning aident les entreprises à automatiser le support client, ce qui se traduit par une réduction des temps d'attente et des coûts pour l'entreprise.
  4. Identifier et atténuer les risques de sécurité → ML aide Salesforce à identifier et à atténuer les risques de sécurité potentiels en analysant les données et en détectant les anomalies.
  5. Améliorer en permanence les produits et services → En tirant parti du machine learning, Salesforce peut améliorer en permanence ses produits et services, en analysant les commentaires des clients et en utilisant ces informations pour développer de nouvelles fonctionnalités et améliorations.

Structure de l'équipe Salesforce ML

Chez Salesforce, l'équipe ML était divisée en trois équipes :

  1. Equipe de recherche: L'équipe de recherche était composée de centaines de chercheurs qui se sont concentrés sur de nouveaux problèmes de recherche et ont publié des articles de recherche
  2. Équipe des sciences appliquées : L'équipe des sciences appliquées était responsable du produit pur, des cas d'utilisation de la science des données
  3. Equipe d'ingénierie : L'équipe d'ingénierie était chargée de créer l'infrastructure de la plateforme ML qui pourrait soutenir les équipes de recherche et de sciences appliquées.

Nous avons trouvé ce blog intéressant sur la façon dont Salesforce utilise le machine learning :

Présentation de l'infrastructure Salesforce ML

L'infrastructure Salesforce ML a été construite sur la base d'un ensemble technologique choisi pour fournir une plateforme évolutive et fiable. Voici quelques-uns des conseils les plus pertinents et les plus uniques concernant l'infrastructure :

  1. L'infrastructure fonctionnait sur AWS et Kubernetes était utilisé pour gérer l'ensemble du calcul. L'utilisation de Kubernetes a permis de déployer facilement tout type de framework d'apprentissage automatique, qu'il s'agisse de TensorFlow ou de Pytorch.
  2. Il y avait une séparation des groupes entre l'équipe de recherche, l'équipe des sciences appliquées et l'équipe d'ingénierie. Cela a permis une meilleure gestion de la capacité de calcul et des ressources.
  3. La plateforme a été construite autour d'un orchestrateur pour la formation, d'un service de prédiction en temps réel, d'un service de prédiction par lots et d'une API frontale pour gérer les opérations des utilisateurs telles que l'authentification et l'autorisation.
  4. L'infrastructure se composait d'une base de données SQL structurée et d'un magasin de fichiers non structuré tel que S3, qui étaient utilisés pour gérer les données. La plateforme était chargée de gérer les données entre les deux.
  5. Il existait une combinaison de clusters de GPU, en fonction du cas d'utilisation. Cela a permis une utilisation efficace des ressources et de meilleures performances.
Machine Learning Platform, ml platform, salesforce, Amazon Web Services, Databricks, truefoundry
Architecture de plateforme d'apprentissage automatique chez Salesforce (source)

📌

Les principales raisons pour lesquelles il est important de séparer les clusters dans l'infrastructure d'apprentissage automatique sont les suivantes :

1. Sécurité : La séparation des clusters réduit le risque de violations de données et d'accès non autorisé à des données sensibles. Chaque équipe peut travailler dans son propre environnement avec les mesures de sécurité nécessaires.
2. Conformité des données : Les différentes équipes peuvent avoir des exigences différentes en matière de conformité des données, qui peuvent être satisfaites en séparant les clusters. Cela garantit que chaque équipe travaille avec des données qui répondent aux exigences réglementaires nécessaires.
3. Gestion des ressources : La séparation des clusters permet aux équipes de disposer des ressources dont elles ont besoin pour accomplir leurs tâches sans interférer avec les ressources des autres équipes. Cela garantit une utilisation efficace des ressources et évite les conflits de ressources.

Le prototypage chez Salesforce : une approche opiniâtre

Chez Salesforce, le framework de prototypage a été construit autour de Jupyter Notebooks, permettant aux data scientists de mener des expériences à court terme de manière interactive et en temps réel. Les expériences ont ensuite été transférées vers une tâche de longue durée sur un cluster à grande échelle, produisant des mesures en temps réel au fur et à mesure de l'exécution de la tâche.

Le SDK de formation et d'expérimentation a été conçu pour résumer la complexité de la planification des tâches, de l'extraction et de la transmission de données et des dépendances du système. Les data scientists pouvaient appeler une API ou une fonction Python pour effectuer ces tâches et suivre la progression des expériences, les métriques, les journaux, etc. sur le tableau de bord du workbench.

Le cadre était tranché, fournissant une solution abstraite, tout en laissant une certaine flexibilité dans la manière dont les data scientists ont choisi d'utiliser la plateforme. Cependant, il ne s'agissait pas d'une expérience totalement libre et il y avait des directives et des normes internes à suivre.

📌

Défis liés à l'hébergement de blocs-notes Jupyter à grande échelle contenant des données sensibles :
Lorsque vous hébergez des blocs-notes Jupyter à grande échelle contenant des données sensibles, les principaux défis concernent les flux de travail d'approbation pour l'authentification. Les data scientists doivent obtenir l'approbation d'une personne ou d'un responsable pour accéder aux données. L'environnement du bloc-notes est éphémère et détruit une fois les expériences terminées, mais tous les artefacts générés sont conservés. L'authentification est pilotée par API et intégrée aux systèmes internes.

Comment gérer les coûts des projets d'apprentissage automatique à grande échelle dans le cloud

Les projets d'apprentissage automatique à grande échelle peuvent rapidement devenir coûteux, en particulier lorsqu'ils utilisent des ressources GPU dans le cloud. Afin de gérer les coûts pendant la phase de prototypage, quelques stratégies peuvent être utilisées.

  1. Capacité réservée : Si vous connaissez la capacité dont vous avez besoin, vous pouvez la réserver à l'avance et bénéficier d'une réduction sur les prix. Cela fonctionne bien si vous avez une bonne idée de vos besoins en ressources à long terme.
  2. Mise à l'échelle automatique : Si vous n'êtes pas sûr de la capacité dont vous aurez besoin ou si vos besoins en ressources fluctuent, la mise à l'échelle automatique peut vous aider. En augmentant ou en diminuant automatiquement les ressources en fonction de la demande, vous pouvez éviter de payer pour des capacités inutilisées.

Bien qu'il existe d'autres stratégies pour réduire les coûts, telles que l'utilisation d'instances ponctuelles, celles-ci nécessitent souvent de nombreux efforts d'ingénierie et peuvent ne pas être pratiques pour les travaux de longue durée. En outre, les instances ponctuelles ne sont pas toujours disponibles dans les régions disposant de ressources GPU.

En utilisant la capacité réservée et la mise à l'échelle automatique, vous pouvez gérer efficacement les coûts tout en disposant des ressources dont vous avez besoin pour vos projets d'apprentissage automatique. Ces stratégies restent pertinentes aujourd'hui et peuvent être appliquées à n'importe quel fournisseur de cloud public.

Flux automatisé pour les modèles mobiles

Le flux de promotion de Salesforce pour déplacer des modèles d'un environnement à un autre reposait sur la notion de jeux de données dorés pour chaque domaine. Les data scientists pourraient évaluer les performances du modèle sur ces ensembles de données ainsi que sur des ensembles de données aléatoires afin d'évaluer la capacité du modèle à bien fonctionner sur différents types de données. Cela les a aidés à décider de promouvoir ou non un modèle dans des environnements supérieurs.

Le processus de promotion a été effectué via le workbench, mais il a été intentionnellement légèrement manuel pour garantir que le modèle fonctionne au-delà d'un certain seuil sur n+1 types d'ensembles de données. C'était un défi car Salesforce est un système mutualisé et chaque client dispose d'un ensemble de données différent, parfois composé de centaines de milliers. Salesforce a créé des centaines de milliers de modèles, chacun spécifique à un client et à un ensemble de données, et a automatisé le processus autant que possible.

Dans l'ensemble, le flux de promotion de Salesforce a été conçu pour garantir que les modèles étaient évalués de manière approfondie et fonctionnaient bien sur divers ensembles de données avant d'être promus dans des environnements plus avancés.

Création d'un service de prévision en temps réel multi-tenant pour les modèles complexes

La création d'un service de prédiction en temps réel multi-tenant est une tâche complexe qui implique de desservir en temps réel un grand nombre de modèles de tailles et d'architectures différentes tout en répondant à des exigences SLA spécifiques. Pour relever ce défi, l'équipe d'ingénierie de Salesforce a développé une couche de service qui a subi plusieurs itérations.

Au départ, l'équipe s'est appuyée sur une base de données structurée pour les métadonnées et un magasin de fichiers pour les artefacts des modèles. Cependant, cette approche n'était pas évolutive pour des modèles plus grands et plus complexes. Pour résoudre ce problème, ils ont partitionné leurs clusters en fonction de la complexité du modèle et du type de calcul requis. Par exemple, les modèles plus petits fonctionnaient avec des processeurs, tandis que les modèles plus grands nécessitaient des GPU. Les clusters étaient dédiés à des types spécifiques de modèles, tels que les modèles NLP, les modèles LSTM, les modèles de transformateurs, les modèles de classification d'images, les modèles de détection d'objets et les modèles OCR.

L'équipe a également développé une couche qui a orchestré le déploiement de services sur différents clusters et groupes de nœuds. Ils ont mis en œuvre la mise en cache pour s'assurer que les modèles fréquemment demandés présentaient des latences plus faibles. Au départ, les scientifiques chargés des données et des chercheurs étaient autorisés à utiliser le cadre de leur choix, ce qui rendait difficile la diffusion uniforme des modèles. L'équipe a réduit les cadres à un ou deux et a optimisé les modèles pour ces cadres.

Enfin, l'équipe a converti les modèles dans un format uniforme quel que soit le cadre de formation d'origine, ce qui lui a permis d'optimiser le code de diffusion pour chaque type de modèle. Dans l'ensemble, les efforts de l'équipe ont abouti à un service de prévision en temps réel évolutif, efficace et fiable.

L'inférence en temps réel était mon sujet de travail préféré. Et je pense qu'à la fin, nous avons également pu déposer un brevet à ce sujet. C'était donc une excellente fonctionnalité d'ingénierie que nous avons ajoutée à la plateforme. C'était la fonctionnalité la plus utilisée, en fait. Nous faisions des millions de prévisions à deux chiffres par jour et c'était donc très, très satisfaisant de voir qu'un si grand nombre de clients l'utilisaient.
- Arquette

Nous avons trouvé ce blog intéressant sur ML Lakes et l'architecture de la plate-forme de données Salesforce :

Optimisation des modèles pour l'IA d'entreprise

Ils ont largement comparé les modèles et ont cherché à rester dans les limites des opérateurs largement soutenus et à d'autres opérations dans un cadre garantissant une conversion facile. Les opérateurs personnalisés étaient une conversion à friction élevée et nécessitaient une approche hautement tactile, mais l'équipe a découvert que 95 % des cas d'utilisation étaient facilement résolus par des modèles prêts à l'emploi ne nécessitant pas de nouvelles techniques. Cela leur a permis d'optimiser pour la majorité des cas d'utilisation et de consacrer du temps aux 5 % restants de modèles qui n'étaient pas aussi largement utilisés.

Arpeet a également noté que des frameworks tels qu'Onyx, Triton et le serveur d'inférence de NVIDIA ont fait des progrès significatifs en matière de standardisation des formats de modèles et d'analyses comparatives, ce qui en fait des outils précieux pour les grands cas d'utilisation d'inférence en temps réel.

Mesures de sécurité et de fiabilité dans Salesforce AI Platform

  1. Approbation flux de travail : Avant le déploiement du modèle en production, il existait des flux de travail d'approbation autour de l'ensemble de données pour garantir la confidentialité des données.
  2. Isolation de sécurité : L'environnement de production était complètement isolé et possédait des certifications telles que la conformité HIPAA et ISO.
  3. Multilocation : L'authentification a couvert tous les locataires afin de garantir qu'un seul client en particulier puisse accéder à ses propres données.
  4. Redondance et haute disponibilité : Des mesures de redondance et de haute disponibilité suffisantes ont été intégrées à la plateforme pour garantir la fiabilité.

Plateforme d'infrastructure ML ou plateforme de déploiement de logiciels

Les plates-formes d'infrastructure d'apprentissage automatique et les plates-formes de déploiement de logiciels ont beaucoup en commun, selon la discussion entre Anuraag et Arpeet. Voici les principaux points à retenir :

  1. Similitudes : Les deux nécessitent une couche de données, une couche de calcul, une couche d'orchestration, un service d'authentification, une passerelle API et un service backend. Le service backend peut exécuter une charge de travail d'analyse ou d'ingénierie des données dans une infrastructure standard, tandis que dans une infrastructure ML, il exécute une charge de travail ML.
  2. Différences : L'infrastructure ML peut disposer d'un lac de données ou d'un lac ML pour une charge de travail ML, alors que l'infrastructure standard peut ne pas l'exiger. L'infrastructure ML peut également utiliser des systèmes d'orchestration spécialisés.
  3. Outillage : L'outillage des deux plateformes d'infrastructure est différent. L'infrastructure ML peut nécessiter des outils spécialisés pour l'orchestration, tandis que l'infrastructure standard peut utiliser des outils plus simples. Cependant, l'outil de déploiement pour les deux plates-formes d'infrastructure est le même dans la plupart des cas, en particulier lors du déploiement sur un cluster Kubernetes.

Dans l'ensemble, il n'y a pas de différence significative entre les plateformes d'infrastructure d'apprentissage automatique et les plateformes de déploiement de logiciels, à l'exception de la nature de la charge de travail et des outils nécessaires à l'orchestration.

Réflexions supplémentaires d'Arpeet

MLOps : créer ou acheter

  1. Utilisez les alternatives disponibles qui offrent de nombreuses fonctionnalités prêtes à l'emploi lorsque vous créez une infrastructure de machine learning pour les entreprises de taille moyenne et les startups.
  2. Pour les entreprises en phase de démarrage, utilisez de simples scripts Python, entraînez-vous sur une seule machine équipée de plusieurs GPU et implémentez une forme d'orchestration pour réduire les coûts.
  3. Pour les flux de travail de machine learning établis dans les petites et moyennes entreprises, utilisez directement des outils open source, mais envisagez d'utiliser une solution prête à l'emploi telle que TrueFoundry.

Conseils aux ingénieurs ML

Je pense que se concentrer sur un créneau à ce stade, en termes de mise en œuvre d'un flux de travail d'IA à grande échelle, sera probablement la prochaine série de défis difficiles.
- Arquette

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.

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

INSCRIVEZ-VOUS
Table des matières

Gouvernez, déployez et suivez l'IA dans votre propre infrastructure

Réservez un séjour de 30 minutes avec notre Expert en IA

Réservez une démo

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

Démo du livre

Découvrez-en plus

October 26, 2023
|
5 min de lecture

True ML Talks #23 - Applications MLOps et LLMS @ GitLab

May 21, 2024
|
5 min de lecture

Que sont les intégrations dans l'apprentissage automatique ?

 Best AI Gateways in 2026
April 22, 2026
|
5 min de lecture

5 meilleures passerelles IA en 2026

comparaison
April 22, 2026
|
5 min de lecture

Intégration de Cline avec TrueFoundry AI Gateway

Outils LLM
Detailed Guide to What is an AI Gateway?
April 22, 2026
|
5 min de lecture

Qu'est-ce qu'AI Gateway ? Concepts de base et guide

Aucun article n'a été trouvé.
April 22, 2026
|
5 min de lecture

LLM Embeddings 101 : un guide complet 2024

Terminologie LLM
Aucun article n'a été trouvé.

Blogs récents

Faites un rapide tour d'horizon des produits
Commencer la visite guidée du produit
Visite guidée du produit