Logo Zéphyrnet

Explorer les nouvelles fonctionnalités d'AWS SageMaker — Clarify, Pipelines, Feature Store

Date :


Bienvenue dans la partie 2 de notre série en deux parties sur AWS SageMaker. Si vous n'avez pas lu partie 1, sautez dessus et faites cela en premier. Sinon, plongeons et regardons quelques nouvelles fonctionnalités importantes de SageMaker :

  • Clarifier, qui prétend "détecter les biais dans les modèles ML" et aider à l'interprétabilité des modèles
  • Pipelines SageMaker, qui permettent d'automatiser et d'organiser le flux des pipelines de ML
  • Magasin de fonctionnalités, un outil de stockage, de récupération, de modification et de partage de fonctionnalités spécialement conçues pour les workflows de ML.

Clarifier : débiaiser l'IA nécessite un élément humain

Lors de l'événement AWS re:Invent en décembre, Swami Sivasubramanian a présenté Clarify comme l'outil de "détection des biais dans le flux de travail d'apprentissage automatique de bout en bout" sous des applaudissements enthousiastes et des sifflets. Il a présenté Nashlie Sephus, responsable des sciences appliquées chez AWS ML, qui travaille dans la partialité et l'équité. Comme l'indique clairement Sephus, le biais peut apparaître à n'importe quelle étape du flux de travail ML : lors de la collecte des données, de l'étiquetage et de la sélection des données, et lors du déploiement (dérive du modèle, par exemple).

Le champ d'application de Clarify est vaste ; il prétend pouvoir :

  • effectuer une analyse des biais lors de l'analyse exploratoire des données
  • effectuer une analyse des biais et de l'explicabilité après la formation
  • expliquer les inférences individuelles pour les modèles en production (une fois le modèle déployé)
  • intégrer avec Moniteur de modèle pour fournir des alertes en temps réel concernant les biais qui s'infiltrent dans votre ou vos modèles.

Clarify fournit un ensemble de diagnostics utiles pour chacun des éléments ci-dessus dans une interface relativement conviviale et avec une API pratique, mais les affirmations ci-dessus sont entièrement exagérées. Le défi est que le biais algorithmique est rarement, voire jamais, réductible à des mesures telles que le déséquilibre de classe et la valeur prédictive positive. Il est précieux d'avoir un produit qui donne un aperçu de ces mesures, mais la vérité est qu'elles sont en dessous des enjeux de la table. Au mieux, SageMaker affirmant que Clarify détecte les biais dans l'ensemble du flux de travail ML reflète l'écart entre le marketing et la création de valeur réelle.

Pour être clair, le biais algorithmique est l'un des grands défis de notre époque : les histoires de biais de calcul à grande échelle sont si courantes maintenant qu'il n'est pas surprenant qu'Amazon lui-même "abandonne un outil de recrutement secret qui a montré des préjugés contre les femmes." Pour découvrir de première main comment les biais algorithmiques peuvent entrer dans les pipelines de ML, consultez le jeu pédagogique Survie du meilleur ajustement.

Réduire le biais algorithmique et l'équité à un ensemble de métriques est non seulement réducteur mais dangereux. Il n'intègre pas l'expertise requise dans le domaine et l'inclusion des principales parties prenantes (qu'il s'agisse d'experts du domaine ou de membres de communautés traditionnellement marginalisées) dans le déploiement des modèles. Il ne s'engage pas non plus dans des conversations clés sur ce que sont réellement les préjugés et l'équité ; et, pour la plupart, elles ne sont pas facilement réductibles à des statistiques sommaires.

Il existe une documentation vaste et croissante sur ces questions, y compris 21 définitions de l'équité et leur politique (Narayanan), Équité algorithmique : choix, hypothèses et définitions (Mitchell et al.), et Compromis inhérents à la détermination équitable des scores de risque (Kleingberg et al.), dont la dernière montre qu'il existe trois définitions différentes de l'équité algorithmique qui, fondamentalement, ne peuvent jamais être satisfaites simultanément.

Il y a aussi le travail fondateur de Timnit Gebru, Joy Buolamwini, et bien d'autres (comme Nuances de genre), ce qui montre que le biais algorithmique n'est pas simplement une question de données et de métriques d'entraînement. Dans les mots du Dr Gebru: « L'équité n'est pas seulement une question d'ensembles de données, et ce n'est pas seulement une question de mathématiques. L'équité concerne également la société, et en tant qu'ingénieurs, en tant que scientifiques, nous ne pouvons pas vraiment hésiter devant ce fait.

Pour être juste, Clarify Documentation indique clairement que la recherche d'un consensus et la collaboration entre les parties prenantes, y compris les utilisateurs finaux et les communautés, font partie de la construction de modèles équitables. Il indique également que les clients « devraient tenir compte de l'équité et de l'explicabilité à chaque étape du cycle de vie de l'apprentissage automatique : formation du problème, construction de l'ensemble de données, sélection de l'algorithme, processus de formation du modèle, processus de test, déploiement et surveillance/retour d'informations. Il est important d'avoir les bons outils pour faire cette analyse.

Malheureusement, des déclarations telles que "Clarify fournit une détection des biais dans le flux de travail d'apprentissage automatique" donnent l'impression que la solution est un bouton-poussoir : comme si vous ne payiez qu'AWS pour Clarify et que vos modèles seraient impartiaux. Bien que Sephus d'Amazon comprenne et exprime clairement que la dépolarisation nécessitera beaucoup plus dans sa présentation, une telle nuance sera perdue pour la plupart des dirigeants d'entreprise.

L'essentiel est que Clarify fournit des diagnostics utiles dans une interface pratique, mais attention à l'acheteur ! Ce n'est en aucun cas une solution au biais algorithmique.

Pipelines : un bon problème mais une approche complexe

Pipelines SageMaker (tutoriel vidéo, communiqué de presse). Cet outil prétend être le "premier service CI/CD pour l'apprentissage automatique". Il promet d'exécuter automatiquement les flux de travail ML et aide à organiser la formation. Les pipelines d'apprentissage automatique nécessitent souvent plusieurs étapes (par exemple, l'extraction de données, la transformation, le chargement, le nettoyage, la déduplication, la formation, la validation, le téléchargement de modèles, etc.), et Pipelines est une tentative de les coller ensemble et d'aider les data scientists à exécuter ces charges de travail sur AWS.

Alors, comment ça marche? Tout d'abord, il est basé sur du code et améliore considérablement AWS CodePipelines, qui étaient pointer-cliquer. C'est clairement un pas dans la bonne direction. La configuration consistait traditionnellement à basculer des dizaines de configurations de console sur une console Web en constante évolution, ce qui était lent, frustrant et hautement non reproductible. Pointer-cliquer est l'antithèse de la reproductibilité. Avoir vos pipelines dans le code facilite le partage et la modification de vos pipelines. SageMaker Pipelines s'inscrit dans une forte tradition de configuration des ressources de calcul sous forme de code (les exemples les plus connus étant Kubernetes or Chef).

La spécification de configurations dans un code contrôlé par la source via une API stable a été l'évolution de l'industrie.

Deuxièmement, les pipelines SageMaker sont écrits en Python et disposent de toute la puissance d'un langage de programmation dynamique. La plupart des solutions CI/CD à usage général existantes telles que Actions Github, Cercle CIou Pipelines Azure utiliser des fichiers YAML statiques. Cela signifie que Pipelines est plus puissant. Et le choix de Python (au lieu d'un autre langage de programmation) était judicieux. C'est le langage de programmation prédominant pour la science des données et il a probablement le plus de traction (R, le deuxième langage le plus populaire, n'est probablement pas bien adapté au travail des systèmes et n'est pas familier à la plupart des développeurs non-données).

Cependant, l'adoption de l'outil ne se fera pas sans heurts. Le tutoriel officiel nécessite de définir correctement les autorisations IAM en basculant les configurations de la console et oblige les utilisateurs à lire deux autre tutoriels sur les autorisations IAM pour y parvenir. La terminologie semble incohérente avec la console réelle (« ajouter une stratégie en ligne » par rapport à « attacher une stratégie » ou « politique de confiance » par rapport à « relation de confiance »). Ces petites variations peuvent être très rebutantes pour ceux qui ne sont pas des experts en administration de serveurs cloud - par exemple, le public cible de SageMaker Pipelines. Une documentation obsolète et incohérente est un problème difficile pour AWS, compte tenu du grand nombre de services proposés par AWS.

L'outil a également une courbe d'apprentissage assez raide. Le didacticiel officiel demande aux utilisateurs de télécharger un ensemble de données, de le diviser en ensembles de formation et de validation, et de télécharger les résultats sur le Registre de modèles AWS. Malheureusement, cela prend 10 étapes et 300 lignes de code dev-ops (oui, nous avons compté). Cela n'inclut pas le code réel pour la formation ML et la préparation des données. La courbe d'apprentissage abrupte peut être un défi pour l'adoption, en particulier par rapport à des solutions CI/CD radicalement plus simples (à usage général) comme Github Actions.

Ce n'est pas une comparaison strictement juste et (comme mentionné précédemment) SageMaker Pipelines est plus puissant : il utilise un langage de programmation complet et peut faire beaucoup plus. Cependant, dans la pratique, CI/CD est souvent utilisé uniquement pour définir quand un pipeline est exécuté (par exemple, lors d'une poussée de code ou à intervalle régulier). Il appelle ensuite un exécuteur de tâches (par exemple, voler or pyinvoquer sont à la fois beaucoup plus faciles à apprendre; Le tutoriel de pyinvoke fait 19 lignes), ce qui apporte toute la puissance d'un langage de programmation. Nous pourrions nous connecter au service AWS via leurs SDK de langage respectifs, comme le boto3 largement utilisé. En effet, l'un d'entre nous a utilisé (abusé ?) Github Actions CI/CD pour collecter chaque semaine données d'inscription au vote par courrier dans des dizaines d'États à l'approche des élections de 2020 ainsi que construire des modèles de langage simples mensuels à partir des dernières décharges de Wikipedia. La question est donc de savoir si un outil tout-en-un comme SageMaker Pipelines vaut la peine d'être appris s'il peut être reproduit en assemblant des outils couramment utilisés. Ceci est aggravé par le fait que SageMaker Pipelines est faible sur la force naturelle d'une solution intégrée (ne pas avoir à se battre avec des autorisations de sécurité entre différents outils).

AWS travaille sur le bon problème. Mais compte tenu de la courbe d'apprentissage abrupte, il n'est pas clair si SageMaker Pipelines suffira à convaincre les gens de passer des outils existants plus simples qu'ils ont l'habitude d'utiliser. Ce compromis renvoie à un débat plus large : les entreprises doivent-elles adopter une pile tout-en-un ou utiliser les meilleurs produits ? Plus sur cette question sous peu.

Feature Store : une fonctionnalité indispensable pour l'entreprise

Comme Sivasubramanian l'a mentionné dans son discours re:Invent, "les fonctionnalités sont le fondement de modèles de haute qualité." SageMaker Feature Store fournit un référentiel pour créer, partager et récupérer des fonctionnalités d'apprentissage automatique pour la formation et l'inférence avec une faible latence.

C'est passionnant car c'est l'un des nombreux aspects clés du flux de travail ML qui a été cloisonné dans une variété d'entreprises et de secteurs verticaux pendant trop longtemps, comme dans la plate-forme ML d'Uber. Michel-Ange (son magasin de fonctionnalités s'appelle Palette Michel-Ange). Une grande partie de la démocratisation de la science des données ainsi que l'outillage des données nécessitera que ces outils soient standardisés et rendus plus accessibles aux professionnels des données. Ce mouvement est en cours : pour des exemples convaincants, consultez l'open source d'Airbnb Débit d'air, l'outil de gestion des workflows de données, ainsi que l'émergence de plates-formes de suivi ML, telles que Poids et biais, Neptune IAet Comète ML. Des plates-formes plus grandes, telles que MLFlow de Databricks, tentent de capturer tous les aspects du cycle de vie ML.

La plupart des grandes entreprises technologiques ont leurs magasins de fonctionnalités internes ; et les organisations qui ne tiennent pas de magasins de fonctionnalités se retrouvent avec beaucoup de travail en double. Comme Harish Doddi, co-fondateur et PDG de Datatron l'a dit il y a plusieurs années maintenant le podcast O'Reilly Data Show: "Quand je parle aux entreprises ces jours-ci, tout le monde sait que leurs scientifiques des données dupliquent le travail parce qu'ils n'ont pas de magasin de fonctionnalités centralisé. Tous ceux à qui je parle veulent vraiment construire ou même acheter un magasin de fonctionnalités, selon ce qui est le plus facile pour eux. »

Pour avoir une idée de l'espace des problèmes, ne cherchez pas plus loin que l'ensemble croissant de solutions, dont plusieurs sont encapsulées dans un tableau de paysage concurrentiel sur FeatureStore.org:

Le magasin de fonctionnalités SageMaker est prometteur. Vous avez la possibilité de créer des groupes de fonctionnalités à l'aide d'une API relativement Pythonic et d'accéder à vos packages PyData préférés (tels que Pandas et NumPy), le tout dans le confort d'un notebook Jupyter. Après la création de la fonctionnalité, il est simple de stocker les résultats dans le groupe de fonctionnalités, et il existe même un argument de mot-clé max_workers qui vous permet de paralléliser facilement le processus d'ingestion. Vous pouvez stocker vos fonctionnalités à la fois hors ligne et dans une boutique en ligne. Ce dernier permet un accès à faible latence aux dernières valeurs d'une fonctionnalité.

Le Feature Store semble bon pour les cas d'utilisation de base. Nous n'avons pas pu déterminer s'il est prêt pour une utilisation en production avec des applications industrielles, mais toute personne ayant besoin de ces fonctionnalités devrait le vérifier si vous utilisez déjà SageMaker ou si vous envisagez de l'intégrer à votre flux de travail.

Réflexions finales

Enfin, nous arrivons à la question de savoir si les plates-formes tout-en-un, telles que SageMaker, peuvent ou non répondre à tous les besoins des scientifiques de données modernes, qui ont besoin d'accéder aux derniers outils de pointe.

Il existe un compromis entre les plates-formes tout-en-un et les meilleurs outils. Les plates-formes tout-en-un sont attrayantes car elles peuvent co-localiser des solutions pour accélérer les performances. Ils peuvent également intégrer de manière transparente des outils autrement disparates (bien que, comme nous l'avons vu ci-dessus, ils ne tiennent pas toujours cette promesse). Imaginez un monde où les autorisations, la sécurité et la compatibilité sont toutes gérées de manière transparente par le système sans intervention de l'utilisateur. Les meilleurs outils de leur catégorie peuvent mieux résoudre les étapes individuelles du flux de travail, mais nécessiteront un peu de travail pour s'assembler. Un de nous a précédemment soutenu que les meilleurs outils sont meilleurs pour les scientifiques des données. Le jury est toujours dehors. L'arène de la science des données explose avec des outils de support, et déterminer quel service (ou une combinaison de ceux-ci) constitue l'environnement de données le plus efficace occupera la communauté technique pendant longtemps.

Tianhui Michael Li est président de Institut Pragmatique et le fondateur et président de L'incubateur de données, une entreprise de formation et de placement en science des données. Auparavant, il a dirigé la science des données de monétisation chez Foursquare et a travaillé chez Google, Andreessen Horowitz, JP Morgan et DE Shaw.

Hugo Bowne Anderson est responsable de l'évangélisation de la science des données et vice-présidente du marketing chez Enroulé. Auparavant, il était data scientist chez DataCamp, et a enseigné des sujets de science des données à l'Université de Yale et au Cold Spring Harbor Laboratory, lors de conférences telles que SciPy, PyCon et ODSC, et avec des organisations telles que Data Carpentry. [Divulgation complète : dans le cadre de ses services, Coiled provisionne et gère les ressources cloud pour mettre à l'échelle le code Python pour les scientifiques des données, et offre donc quelque chose que SageMaker fait également dans le cadre de ses services. Mais il est également vrai que des plates-formes tout-en-un telles que SageMaker et des produits tels que Coiled peuvent être considérés comme complémentaires : Coiled a plusieurs clients qui utilisent SageMaker Studio aux côtés de Coiled.] 

Si vous êtes un praticien expérimenté des données ou de l'IA, envisagez de partager votre expertise avec la communauté via un poste client pour Venture Beat.

VentureBeat

La mission de VentureBeat est d'être une place de ville numérique permettant aux décideurs techniques d'acquérir des connaissances sur la technologie transformatrice et d'effectuer des transactions. Notre site fournit des informations essentielles sur les technologies de données et les stratégies pour vous guider dans la conduite de vos organisations. Nous vous invitons à devenir membre de notre communauté, pour accéder:

  • des informations à jour sur les sujets qui vous intéressent
  • nos newsletters
  • contenu de leader d'opinion fermé et accès à prix réduit à nos événements prisés, tels que Transform
  • fonctionnalités de mise en réseau, et plus

Devenir membre

Source : https://venturebeat.com/2021/02/14/exploring-aws-sagemakers-new-features-clarify-pipelines-feature-store/

spot_img

Dernières informations

spot_img