Cet article a été co-écrit avec Daniele Chiappalupi, participant de l'équipe du Hackathon étudiant AWS à l'ETH Zürich.
Tout le monde peut facilement se lancer dans l'apprentissage automatique (ML) en utilisant Amazon SageMaker JumpStart. Dans cet article, nous vous montrons comment une équipe universitaire de hackathon a utilisé SageMaker JumpStart pour créer rapidement une application qui aide les utilisateurs à identifier et à supprimer les préjugés.
« Amazon SageMaker a joué un rôle déterminant dans notre projet. Cela a facilité le déploiement et la gestion d'une instance pré-entraînée de Flan, nous offrant une base solide pour notre application. Sa fonction de mise à l'échelle automatique s'est avérée cruciale pendant les périodes de trafic élevé, garantissant que notre application reste réactive et que les utilisateurs reçoivent une analyse de biais stable et rapide. De plus, en nous permettant de confier la lourde tâche d'interrogation du modèle Flan à un service géré, nous avons pu conserver notre application légère et rapide, améliorant ainsi l'expérience utilisateur sur divers appareils. Les fonctionnalités de SageMaker nous ont permis de maximiser notre temps lors du hackathon, nous permettant de nous concentrer sur l'optimisation de nos invites et de notre application plutôt que sur la gestion des performances et de l'infrastructure du modèle.
– Daniele Chiappalupi, participant de l'équipe étudiante AWS Hackathon à l'ETH Zürich.
Vue d'ensemble de la solution
Le thème du Hackathon est de contribuer aux objectifs durables de l'ONU grâce à la technologie de l'IA. Comme le montre la figure suivante, l'application créée lors du Hackathon contribue à trois des objectifs de développement durable (éducation de qualité, ciblage de la discrimination fondée sur le genre et réduction des inégalités) en aidant les utilisateurs à identifier et à éliminer les préjugés de leur texte afin de promouvoir une approche équitable. et un langage inclusif.
Comme le montre la capture d'écran suivante, après avoir fourni le texte, l'application génère une nouvelle version exempte de préjugés raciaux, ethniques et sexistes. De plus, il met en évidence les parties spécifiques de votre texte saisi liées à chaque catégorie de préjugés.
Dans l'architecture illustrée dans le diagramme suivant, les utilisateurs saisissent du texte dans le champ Réagirapplication Web basée sur une application Web, qui déclenche Passerelle d'API Amazon, ce qui à son tour invoque un AWS Lambda fonction en fonction du biais du texte utilisateur. La fonction Lambda appelle le point de terminaison du modèle Flan dans SageMaker JumpStart, qui renvoie le résultat texte impartial via le même itinéraire vers l'application frontale.
Processus de développement d'applications
Le processus de développement de cette application était itératif et centré sur deux domaines principaux : l'interface utilisateur et l'intégration du modèle ML.
Nous avons choisi React pour le développement front-end en raison de sa flexibilité, de son évolutivité et de ses outils puissants pour créer des interfaces utilisateur interactives. Compte tenu de la nature de notre application (traiter les entrées de l'utilisateur et présenter des résultats raffinés), l'architecture basée sur les composants de React s'est avérée idéale. Avec React, nous avons pu créer efficacement une application d'une seule page permettant aux utilisateurs de soumettre du texte et de voir des résultats débiaisés sans avoir besoin d'actualisation constante des pages.
Le texte saisi par l'utilisateur devait être traité par un modèle de langage puissant pour détecter les biais. Nous avons choisi Flan pour ses propriétés de robustesse, d'efficacité et d'évolutivité. Pour utiliser Flan, nous avons utilisé SageMaker JumpStart, comme indiqué dans la capture d'écran suivante. Amazon Sage Maker a facilité le déploiement et la gestion d'une instance pré-entraînée de Flan, nous permettant de nous concentrer sur l'optimisation de nos invites et requêtes plutôt que sur la gestion des performances et de l'infrastructure du modèle.
La connexion du modèle Flan à notre application front-end nécessitait une intégration robuste et sécurisée, qui a été réalisée à l'aide de Lambda et API Gateway. Avec Lambda, nous avons créé une fonction sans serveur qui communique directement avec notre modèle SageMaker. Nous avons ensuite utilisé API Gateway pour créer un point de terminaison sécurisé, évolutif et facilement accessible permettant à notre application React d'appeler la fonction Lambda. Lorsqu'un utilisateur envoyait un texte, l'application déclenchait une série d'appels d'API vers la passerelle : d'abord pour identifier si un biais était présent, puis, si nécessaire, des requêtes supplémentaires pour identifier, localiser et neutraliser le biais. Toutes ces requêtes ont été acheminées via la fonction Lambda puis vers notre modèle SageMaker.
Notre dernière tâche dans le processus de développement était la sélection des invites pour interroger le modèle de langage. Ici, l'ensemble de données CrowS-Pairs a joué un rôle déterminant car il nous a fourni des exemples réels de texte biaisé, que nous avons utilisés pour affiner nos demandes. Nous avons sélectionné les invites par un processus itératif, dans le but de maximiser la précision de la détection des biais au sein de cet ensemble de données.
En concluant le processus, nous avons observé un flux opérationnel transparent dans l’application finie. Le processus commence par la soumission par l'utilisateur d'un texte pour analyse, qui est ensuite envoyé via une requête POST à notre point de terminaison sécurisé API Gateway. Cela déclenche la fonction Lambda, qui communique avec le point de terminaison SageMaker. Par conséquent, le modèle Flan reçoit une série de requêtes. La première vérifie la présence d’éventuels biais dans le texte. Si des biais sont détectés, des requêtes supplémentaires sont déployées pour localiser, identifier et neutraliser ces éléments biaisés. Les résultats sont ensuite renvoyés via le même chemin : d'abord vers la fonction Lambda, puis via API Gateway, et enfin vers l'utilisateur. Si un préjugé était présent dans le texte original, l'utilisateur reçoit une analyse complète indiquant les types de préjugés détectés, qu'ils soient raciaux, ethniques ou de genre. Les sections spécifiques du texte où ces biais ont été constatés sont mises en évidence, donnant aux utilisateurs une vision claire des modifications apportées. Parallèlement à cette analyse, une nouvelle version débiaisée de leur texte est présentée, transformant efficacement une contribution potentiellement biaisée en un récit plus inclusif.
Dans les sections suivantes, nous détaillons les étapes de mise en œuvre de cette solution.
Configurer l'environnement React
Nous avons commencé par configurer notre environnement de développement pour React. Pour démarrer une nouvelle application React avec une configuration minimale, nous avons utilisé create-react-app :
npx create-react-app my-app
Construire l'interface utilisateur
À l'aide de React, nous avons conçu une interface simple permettant aux utilisateurs de saisir du texte, avec un bouton de soumission, un bouton de réinitialisation et des affichages superposés pour présenter les résultats traités lorsqu'ils sont disponibles.
Initier le modèle Flan sur SageMaker
Nous avons utilisé SageMaker pour créer une instance pré-entraînée du modèle de langage Flan avec un point de terminaison pour l'inférence en temps réel. Le modèle peut être utilisé sur n'importe quelle charge utile structurée en JSON comme suit :
Créer une fonction Lambda
Nous avons développé une fonction Lambda qui interagissait directement avec notre point de terminaison SageMaker. La fonction a été conçue pour recevoir une requête avec le texte de l'utilisateur, la transmettre au point de terminaison SageMaker et renvoyer les résultats affinés, comme indiqué dans le code suivant (ENDPOINT_NAME
a été configuré en tant que point de terminaison de l'instance SageMaker) :
Configurer la passerelle API
Nous avons configuré une nouvelle API REST dans API Gateway et l'avons liée à notre fonction Lambda. Cette connexion a permis à notre application React d'effectuer des requêtes HTTP vers l'API Gateway, ce qui a ensuite déclenché la fonction Lambda.
Intégrez l'application React à l'API
Nous avons mis à jour l'application React pour envoyer une requête POST à API Gateway lorsque vous cliquez sur le bouton de soumission, le corps de la requête étant le texte de l'utilisateur. Le code JavaScript que nous avons utilisé pour effectuer l'appel API est le suivant (REACT_APP_AWS_ENDPOINT
correspond au point de terminaison API Gateway lié à l'appel Lambda) :
Optimiser la sélection rapide
Pour améliorer la précision de la détection des biais, nous avons testé différentes invites par rapport à l'ensemble de données CrowS-Pairs. Grâce à ce processus itératif, nous avons choisi les invites qui nous ont donné la plus grande précision.
Déployer et tester l'application React sur Vercel
Après avoir construit l'application, nous l'avons déployée sur Vercel pour la rendre accessible au public. Nous avons effectué des tests approfondis pour garantir que l'application fonctionnait comme prévu, de l'interface utilisateur aux réponses du modèle de langage.
Ces étapes ont jeté les bases de la création de notre application d'analyse et de débiaisation de texte. Malgré la complexité inhérente du processus, l'utilisation d'outils tels que SageMaker, Lambda et API Gateway a rationalisé le développement, nous permettant de nous concentrer sur l'objectif principal du projet : identifier et éliminer les biais dans le texte.
Conclusion
SageMaker JumpStart offre un moyen pratique d'explorer les fonctionnalités et capacités de SageMaker. Il fournit des solutions en une étape, des exemples de blocs-notes et des modèles pré-entraînés déployables. Ces ressources vous permettent d'apprendre et de comprendre rapidement SageMaker. De plus, vous avez la possibilité d'affiner les modèles et de les déployer en fonction de vos besoins spécifiques. L'accès à JumpStart est disponible via Amazon SageMakerStudio ou par programmation en utilisant les API SageMaker.
Dans cet article, vous avez appris comment une équipe d'étudiants du Hackathon a développé une solution en peu de temps à l'aide de SageMaker JumpStart, ce qui montre le potentiel d'AWS et de SageMaker JumpStart pour permettre le développement et le déploiement rapides de solutions d'IA sophistiquées, même par de petites équipes ou des individus.
Pour en savoir plus sur l'utilisation de SageMaker JumpStart, reportez-vous à Réglage fin des instructions pour FLAN T5 XL avec Amazon SageMaker Jumpstart ainsi que Invite zéro coup pour le modèle de fondation Flan-T5 dans Amazon SageMaker JumpStart.
L'ETH Analytics Club a organisé « ETH Datathon », un hackathon IA/ML qui attire plus de 150 participants de l'ETH Zurich, de l'Université de Zurich et de l'EPFL. L'événement comprend des ateliers animés par des leaders de l'industrie, un défi de codage de 24 heures et de précieuses opportunités de réseautage avec d'autres étudiants et professionnels de l'industrie. Un grand merci à l'équipe de l'ETH Hackathon : Daniele Chiappalupi, Athina Nisioti et Francesco Ignazio Re, ainsi qu'au reste de l'équipe organisatrice d'AWS : Alice Morano, Demir Catovic, Iana Peix, Jan Oliver Seidenfuss, Lars Nettemann et Markus Winterholer.
Le contenu et les opinions de cet article sont ceux de l'auteur tiers et AWS n'est pas responsable du contenu ou de l'exactitude de cet article.
À propos des auteurs
Jun Zhang est un architecte de solutions basé à Zurich. Il aide les clients suisses à concevoir des solutions basées sur le cloud pour réaliser leur potentiel commercial. Il est passionné par le développement durable et s'efforce de résoudre les défis actuels en matière de développement durable grâce à la technologie. Il est également un grand fan de tennis et aime beaucoup jouer à des jeux de société.
Mohan Gowda dirige l’équipe Machine Learning chez AWS Suisse. Il travaille principalement avec des clients du secteur automobile pour développer des solutions et des plateformes innovantes d'IA/ML pour les véhicules de nouvelle génération. Avant de travailler avec AWS, Mohan a travaillé pour une société mondiale de conseil en gestion spécialisée dans la stratégie et l'analyse. Sa passion réside dans les véhicules connectés et la conduite autonome.
OpalinThias Egli est responsable de la formation en Suisse. C'est un chef d'équipe enthousiaste possédant une vaste expérience en développement commercial, en ventes et en marketing.
Kemeng Zhang est un ingénieur ML basé à Zurich. Elle aide les clients internationaux à concevoir, développer et faire évoluer des applications basées sur le ML afin de renforcer leurs capacités numériques afin d'augmenter les revenus de leur entreprise et de réduire les coûts. Elle est également très passionnée par la création d'applications centrées sur l'humain en tirant parti des connaissances issues des sciences du comportement. Elle aime pratiquer des sports nautiques et promener les chiens.
Daniele Chiappalupi est un récent diplômé de l'ETH Zürich. Il apprécie tous les aspects du génie logiciel, de la conception à la mise en œuvre, et du déploiement à la maintenance. Il a une profonde passion pour l’IA et attend avec impatience d’explorer, d’utiliser et de contribuer aux dernières avancées dans le domaine. Pendant son temps libre, il adore faire du snowboard pendant les mois les plus froids et jouer au basket-ball lorsque le temps se réchauffe.
- Contenu propulsé par le référencement et distribution de relations publiques. Soyez amplifié aujourd'hui.
- PlatoData.Network Ai générative verticale. Autonomisez-vous. Accéder ici.
- PlatoAiStream. Intelligence Web3. Connaissance Amplifiée. Accéder ici.
- PlatonESG. Carbone, Technologie propre, Énergie, Environnement, Solaire, La gestion des déchets. Accéder ici.
- PlatoHealth. Veille biotechnologique et essais cliniques. Accéder ici.
- La source: https://aws.amazon.com/blogs/machine-learning/innovation-for-inclusion-hack-the-bias-with-amazon-sagemaker/
- :possède
- :est
- :ne pas
- :où
- $UP
- 100
- 13
- 150
- 17
- 25
- 7
- 8
- 87
- 97
- 990
- a
- Capable
- A Propos
- accès
- accessible
- Selon
- précision
- atteindre
- atteint
- à travers
- Supplémentaire
- En outre
- progrès
- Après
- à opposer à
- AI
- AI / ML
- alice
- Tous
- permettre
- permis
- Permettre
- aux côtés de
- aussi
- Amazon
- Amazon Sage Maker
- Amazon Web Services
- an
- selon une analyse de l’Université de Princeton
- analytique
- l'analyse
- ainsi que
- et infrastructure
- anticipe
- tous
- api
- Apis
- appli
- Application
- applications
- architecture
- SONT
- domaines
- AS
- d'aspect
- At
- auteur
- auto
- l'automobile
- autonome
- disponibles
- AWS
- Axios
- RETOUR
- basé
- Basketball
- BE
- car
- before
- a commencé
- va
- biais
- biaisé
- biais
- planche
- Jeux de société
- corps
- Bound
- vaste
- construire
- Développement
- construit
- la performance des entreprises
- Développement des affaires
- bouton (dans la fenêtre de contrôle qui apparaît maintenant)
- by
- Appelez-nous
- Appels
- CAN
- capacités
- Catégories
- centré
- challenge
- globaux
- Modifications
- Contrôles
- choisir
- clair
- de
- code
- Codage
- complexité
- complet
- menée
- configuration
- configurée
- connecté
- connexion
- par conséquent
- constant
- consulting
- contenu
- contexte
- contribuer
- contribue
- contribuant
- Pratique
- Core
- correspond
- Prix
- pourriez
- engendrent
- créée
- La création
- crucial
- organisée
- Courant
- Clients
- données
- profond
- Selon
- déployer
- déployé
- déploiement
- Conception
- un
- Malgré
- détail
- détecté
- Détection
- développer
- développé
- développement
- Développement
- Compatibles
- différent
- numérique
- directement
- affiche
- attire
- conduite
- deux
- pendant
- chacun
- vivement
- même
- Easy
- Éducation
- de manière efficace
- efficace
- efficacement
- éléments
- l'élimination
- vous accompagner
- empowered
- permettant
- Endpoint
- ingénieur
- ENGINEERING
- améliorer
- assurer
- assurer
- entré
- enthousiaste
- Environment
- ETH
- Pourtant, la
- événement
- Chaque
- exemple
- exemples
- attendu
- d'experience
- explorez
- Explorer
- les
- juste
- ventilateur
- RAPIDE
- Fonctionnalité
- Fonctionnalités:
- compagnon
- champ
- Figure
- finale
- Ferme
- Prénom
- Flexibilité
- flux
- Focus
- Abonnement
- suit
- Pour
- Avant
- trouvé
- Fondation
- gratuitement ici
- De
- fonction
- plus
- Games
- porte
- a donné
- Sexe
- génère
- génération
- obtenez
- donné
- Don
- Global
- objectif
- Objectifs
- aller
- saisir
- diplôme
- l'
- fond
- entaille
- hackathon
- Vous avez
- he
- front
- lourd
- aider
- aide
- ici
- le plus élevé
- Surbrillance
- Faits saillants
- sa
- organisé
- Comment
- HTML
- http
- HTTPS
- majeur
- idéal
- identifier
- if
- Mettre en oeuvre
- la mise en oeuvre
- importer
- améliorer
- in
- inclusion
- Compris
- Améliore
- individus
- industrie
- inégalités
- Infrastructure
- inhérent
- Innovation
- technologie innovante
- contribution
- instance
- instrumental
- l'intégration
- Interactif
- Interfaces
- interfaces
- développement
- invoque
- IT
- SES
- Janvier
- JavaScript
- jpg
- json
- XNUMX éléments à
- spécialisées
- langue
- Nouveautés
- conduire
- dirigeants
- Conduit
- APPRENTISSAGE
- savant
- apprentissage
- LED
- en tirant parti
- se trouve
- léger
- comme
- aime
- lié
- Lot
- aime
- click
- machine learning
- LES PLANTES
- Entrée
- facile
- a prendre une
- gérer
- gérés
- gestion
- les gérer
- Stratégie
- Maximisez
- maximisant
- minimal
- ML
- modèle
- numériques jumeaux (digital twin models)
- mois
- PLUS
- RÉCIT
- Nature
- nécessaire
- Besoin
- nécessaire
- Besoins
- de mise en réseau
- Occasions de réseautage
- Nouveauté
- next
- objectif
- of
- offrant
- Offres Speciales
- on
- opérationnel
- Avis
- Opportunités
- l'optimisation
- Option
- or
- de commander
- l'organisation
- original
- OS
- nos
- page
- participants
- les pièces
- passion
- passionné
- Effectuer
- performant
- périodes
- Plateformes
- Platon
- Intelligence des données Platon
- PlatonDonnées
- joué
- jouer
- Post
- défaillances
- l'éventualité
- solide
- présence
- représentent
- présenté
- qui se déroulent
- processus
- Traité
- ,une équipe de professionnels qualifiés
- Projet
- promouvoir
- propriétés
- prouvé
- fournir
- à condition de
- fournit
- publiquement
- qualité
- requêtes
- vite.
- Nos tests de diagnostic produisent des résultats rapides et précis sans nécessiter d'équipement de laboratoire complexe et coûteux,
- plutôt
- RE
- Réagir
- facilement
- réal
- en temps réel
- recevoir
- reçu
- reçoit
- récent
- réduire
- Prix Réduit
- reportez-vous
- raffiné
- en relation
- resté
- supprimez
- nécessaire
- demandes
- conditions
- Resources
- réponses
- responsables
- sensible
- REST
- résultat
- Résultats
- retourner
- Retours
- de revenus
- robuste
- solidité
- Rôle
- Itinéraire
- sagemaker
- vente
- même
- Évolutivité
- évolutive
- Escaliers intérieurs
- mise à l'échelle
- Sciences
- fluide
- les sections
- sécurisé
- sur le lien
- seed
- choisi
- sélection
- envoyé
- Série
- Sans serveur
- service
- Services
- set
- mise
- elle
- Shorts
- montrer
- montré
- Spectacles
- étapes
- petit
- Logiciels
- génie logiciel
- solide
- sur mesure
- Solutions
- RÉSOUDRE
- sophistiqué
- groupe de neurones
- Sports
- j'ai commencé
- stable
- Étapes
- de Marketing
- rationalisé
- s'efforce
- Étudiant
- Étudiante
- Soumission
- soumettre
- soumis
- Par la suite
- Durabilité
- durable
- développement durable
- SWIFT
- environnement
- Suisse
- ciblage
- Tâche
- équipe
- équipes
- Technologie
- tester
- examiné
- tests
- texte
- que
- Merci
- qui
- La
- leur
- Les
- thème
- puis
- Ces
- des tiers.
- this
- ceux
- trois
- Avec
- fiable
- à
- les outils
- transformer
- déclenché
- TOUR
- deux
- types
- En fin de compte
- UN
- comprendre
- université
- a actualisé
- us
- utilisé
- d'utiliser
- Utilisateur
- Expérience utilisateur
- Interface utilisateur
- utilisateurs
- en utilisant
- utiliser
- utilisé
- Utilisant
- Précieux
- divers
- Véhicules
- version
- très
- via
- Voir
- marche
- Réchauffe
- était
- Eau
- Façon..
- we
- Météo
- web
- services Web
- WELL
- ont été
- quand
- que
- qui
- comprenant
- dans les
- sans
- travaillé
- de travail
- vos contrats
- Ateliers
- Vous n'avez
- Votre
- zéphyrnet
- Zurich