Dit bericht is geschreven in samenwerking met Daniele Chiappalupi, deelnemer van het AWS-studenten Hackathon-team aan de ETH Zürich.
Iedereen kan eenvoudig aan de slag met machine learning (ML). Amazon SageMaker JumpStart. In dit bericht laten we zien hoe een Hackathon-team van een universiteit SageMaker JumpStart gebruikte om snel een applicatie te bouwen waarmee gebruikers vooroordelen kunnen identificeren en verwijderen.
“Amazon SageMaker speelde een belangrijke rol in ons project. Het maakte het gemakkelijk om een vooraf getraind exemplaar van Flan te implementeren en te beheren, wat ons een solide basis voor onze applicatie bood. De functie voor automatisch schalen bleek cruciaal tijdens periodes met veel verkeer, waardoor onze app responsief bleef en gebruikers een stabiele en snelle bias-analyse ontvingen. Doordat we de zware taak van het bevragen van het Flan-model konden overbrengen naar een beheerde service, konden we onze applicatie bovendien lichtgewicht en snel houden, waardoor de gebruikerservaring op verschillende apparaten werd verbeterd. Dankzij de functies van SageMaker konden we onze tijd tijdens de hackathon maximaliseren, waardoor we ons konden concentreren op het optimaliseren van onze prompts en app in plaats van op het beheren van de prestaties en infrastructuur van het model.”
– Daniele Chiappalupi, deelnemer van het AWS-studentenhackathonteam aan de ETH Zürich.
Overzicht oplossingen
Het thema van de Hackathon is met AI-technologie een bijdrage leveren aan de duurzame doelstellingen van de VN. Zoals u in de volgende afbeelding kunt zien, draagt de tijdens de Hackathon gebouwde applicatie bij aan drie van de Sustainable Development Goals (kwaliteitsonderwijs, het aanpakken van discriminatie op grond van geslacht en het terugdringen van ongelijkheid) door gebruikers te helpen vooroordelen uit hun tekst te identificeren en te verwijderen om eerlijke en inclusieve taal.
Zoals u in de volgende schermafbeelding kunt zien, genereert de toepassing, nadat u de tekst hebt opgegeven, een nieuwe versie die vrij is van raciale, etnische en gendervooroordelen. Bovendien worden de specifieke delen van uw invoertekst benadrukt die betrekking hebben op elke categorie van vooringenomenheid.
In de architectuur die in het volgende diagram wordt weergegeven, voeren gebruikers tekst in het Reageren-gebaseerde web-app, die triggert Amazon API-gateway, wat op zijn beurt een beroep doet op een AWS Lambda functie afhankelijk van de bias in de gebruikerstekst. De Lambda-functie roept het Flan-modeleindpunt aan in SageMaker JumpStart, dat het onbevooroordeelde tekstresultaat via dezelfde route terugstuurt naar de front-endapplicatie.
Applicatie-ontwikkelingsproces
Het ontwikkelingsproces van deze applicatie was iteratief en concentreerde zich op twee hoofdgebieden: gebruikersinterface en ML-modelintegratie.
We kozen voor React voor de front-endontwikkeling vanwege de flexibiliteit, schaalbaarheid en krachtige tools voor het creëren van interactieve gebruikersinterfaces. Gezien de aard van onze applicatie – het verwerken van gebruikersinvoer en het presenteren van verfijnde resultaten – bleek de op componenten gebaseerde architectuur van React ideaal. Met React konden we efficiënt een applicatie van één pagina bouwen waarmee gebruikers tekst konden indienen en vertekende resultaten konden zien zonder dat de pagina voortdurend moest worden vernieuwd.
De door de gebruiker ingevoerde tekst moest worden verwerkt door een krachtig taalmodel om eventuele vooroordelen te onderzoeken. We kozen voor Flan vanwege zijn robuustheid, efficiëntie en schaalbaarheidseigenschappen. Om Flan te gebruiken, hebben we SageMaker JumpStart gebruikt, zoals weergegeven in de volgende schermafbeelding. Amazon Sage Maker maakte het gemakkelijk om een vooraf getraind exemplaar van Flan te implementeren en te beheren, waardoor we ons konden concentreren op het optimaliseren van onze aanwijzingen en vragen in plaats van op het beheren van de prestaties en infrastructuur van het model.
Het verbinden van het Flan-model met onze front-end applicatie vereiste een robuuste en veilige integratie, die werd bereikt met behulp van Lambda en API Gateway. Met Lambda hebben we een serverloze functie gecreëerd die rechtstreeks communiceert met ons SageMaker-model. Vervolgens hebben we API Gateway gebruikt om een veilig, schaalbaar en gemakkelijk toegankelijk eindpunt te creëren voor onze React-app om de Lambda-functie aan te roepen. Wanneer een gebruiker tekst indiende, activeerde de app een reeks API-aanroepen naar de gateway: eerst om vast te stellen of er sprake was van vooringenomenheid en vervolgens, indien nodig, aanvullende vragen om de vooringenomenheid te identificeren, lokaliseren en neutraliseren. Al deze verzoeken werden via de Lambda-functie en vervolgens naar ons SageMaker-model geleid.
Onze laatste taak in het ontwikkelingsproces was de selectie van aanwijzingen om het taalmodel te bevragen. Hier speelde de CrowS-Pairs-dataset een belangrijke rol omdat deze ons echte voorbeelden van bevooroordeelde tekst opleverde, die we gebruikten om onze verzoeken te verfijnen. We hebben de aanwijzingen geselecteerd door een iteratief proces, met als doel de nauwkeurigheid van de biasdetectie binnen deze dataset te maximaliseren.
Bij het afronden van het proces constateerden we een naadloze operationele stroom in de voltooide applicatie. Het proces begint met het indienen van tekst door een gebruiker voor analyse, die vervolgens via een POST-verzoek naar ons beveiligde API Gateway-eindpunt wordt verzonden. Dit activeert de Lambda-functie, die communiceert met het SageMaker-eindpunt. Bijgevolg ontvangt het Flan-model een reeks vragen. Bij de eerste wordt gecontroleerd of er sprake is van vertekeningen in de tekst. Als er vooroordelen worden gedetecteerd, worden aanvullende zoekopdrachten ingezet om deze vooringenomen elementen te lokaliseren, te identificeren en te neutraliseren. De resultaten worden vervolgens via hetzelfde pad geretourneerd: eerst naar de Lambda-functie, vervolgens via de API Gateway en uiteindelijk terug naar de gebruiker. Als er sprake was van vooroordelen in de originele tekst, ontvangt de gebruiker een uitgebreide analyse waarin wordt aangegeven welke soorten vooroordelen zijn gedetecteerd, ongeacht of deze op ras, etnisch of geslacht betrekking hebben. Specifieke delen van de tekst waarin deze vooroordelen zijn aangetroffen, worden gemarkeerd, zodat gebruikers een duidelijk beeld krijgen van de aangebrachte wijzigingen. Naast deze analyse wordt een nieuwe, niet-bevooroordeelde versie van hun tekst gepresenteerd, die potentieel bevooroordeelde inbreng effectief omzet in een meer inclusief verhaal.
In de volgende secties beschrijven we de stappen om deze oplossing te implementeren.
Zet de React-omgeving op
We zijn begonnen met het opzetten van onze ontwikkelomgeving voor React. Voor het opstarten van een nieuwe React-applicatie met minimale configuratie hebben we create-react-app gebruikt:
npx create-react-app my-app
Bouw de gebruikersinterface
Met React hebben we een eenvoudige interface ontworpen waarmee gebruikers tekst kunnen invoeren, met een indieningsknop, een resetknop en overlappende schermen om de verwerkte resultaten te presenteren wanneer deze beschikbaar zijn.
Start het Flan-model op SageMaker
We hebben SageMaker gebruikt om een vooraf getraind exemplaar van het Flan-taalmodel te maken met een eindpunt voor realtime gevolgtrekking. Het model kan worden gebruikt tegen elke JSON-gestructureerde payload, zoals de volgende:
Maak een Lambda-functie
We hebben een Lambda-functie ontwikkeld die rechtstreeks samenwerkte met ons SageMaker-eindpunt. De functie is ontworpen om een verzoek met de tekst van de gebruiker te ontvangen, deze door te sturen naar het SageMaker-eindpunt en de verfijnde resultaten te retourneren, zoals weergegeven in de volgende code (ENDPOINT_NAME
is ingesteld als het eindpunt van de SageMaker-instantie):
API-gateway instellen
We hebben een nieuwe REST API geconfigureerd in API Gateway en gekoppeld aan onze Lambda-functie. Dankzij deze verbinding kon onze React-applicatie HTTP-verzoeken doen aan de API Gateway, die vervolgens de Lambda-functie activeerde.
Integreer de React-app met de API
We hebben de React-applicatie bijgewerkt om een POST-verzoek in te dienen bij de API Gateway wanneer op de verzendknop werd geklikt, waarbij de hoofdtekst van het verzoek de tekst van de gebruiker is. De JavaScript-code die we hebben gebruikt om de API-aanroep uit te voeren is als volgt (REACT_APP_AWS_ENDPOINT
komt overeen met het API Gateway-eindpunt dat is gebonden aan de Lambda-aanroep):
Optimaliseer promptselectie
Om de nauwkeurigheid van de detectie van bias te verbeteren, hebben we verschillende aanwijzingen getest aan de hand van de CrowS-Pairs-dataset. Via dit iteratieve proces kozen we de aanwijzingen die ons de hoogste nauwkeurigheid gaven.
Implementeer en test de React-app op Vercel
Nadat we de applicatie hadden gebouwd, hebben we deze op Vercel geïmplementeerd om deze publiekelijk toegankelijk te maken. We hebben uitgebreide tests uitgevoerd om er zeker van te zijn dat de applicatie naar verwachting functioneerde, van de gebruikersinterface tot de reacties van het taalmodel.
Deze stappen legden de basis voor het creëren van onze applicatie voor het analyseren en verwijderen van tekst. Ondanks de inherente complexiteit van het proces stroomlijnde het gebruik van tools als SageMaker, Lambda en API Gateway de ontwikkeling, waardoor we ons konden concentreren op het kerndoel van het project: het identificeren en elimineren van vooroordelen in tekst.
Conclusie
SageMaker JumpStart biedt een handige manier om de functies en mogelijkheden van SageMaker te verkennen. Het biedt samengestelde oplossingen in één stap, voorbeeldnotebooks en inzetbare, vooraf getrainde modellen. Met deze bronnen kunt u SageMaker snel leren en begrijpen. Bovendien heeft u de mogelijkheid om de modellen te verfijnen en in te zetten volgens uw specifieke behoeften. Toegang tot JumpStart is beschikbaar via Amazon SageMaker Studio of programmatisch met behulp van de SageMaker API's.
In dit bericht heb je geleerd hoe een Hackathon-studententeam in korte tijd een oplossing ontwikkelde met behulp van SageMaker JumpStart, wat het potentieel van AWS en SageMaker JumpStart laat zien bij het mogelijk maken van snelle ontwikkeling en implementatie van geavanceerde AI-oplossingen, zelfs door kleine teams of individuen.
Voor meer informatie over het gebruik van SageMaker JumpStart raadpleegt u Instructie fijnafstemming voor FLAN T5 XL met Amazon SageMaker Jumpstart en Zero-shot-prompt voor het Flan-T5-basismodel in Amazon SageMaker JumpStart.
ETH Analytics Club organiseerde 'ETH Datathon', een AI/ML-hackathon die meer dan 150 deelnemers trekt van ETH Zürich, Universiteit van Zürich en EPFL. Het evenement biedt workshops onder leiding van marktleiders, een 24-uurs codeeruitdaging en waardevolle netwerkmogelijkheden met medestudenten en professionals uit de industrie. Grote dank aan het ETH Hackathon-team: Daniele Chiappalupi, Athina Nisioti en Francesco Ignazio Re, evenals de rest van het AWS-organiserende team: Alice Morano, Demir Catovic, Iana Peix, Jan Oliver Seidenfuss, Lars Nettemann en Markus Winterholer.
De inhoud en meningen in dit bericht zijn die van de externe auteur en AWS is niet verantwoordelijk voor de inhoud of nauwkeurigheid van dit bericht.
Over de auteurs
Juni Zhang is een Solutions Architect gevestigd in Zürich. Hij helpt Zwitserse klanten bij het ontwerpen van cloudgebaseerde oplossingen om hun zakelijke potentieel te verwezenlijken. Hij heeft een passie voor duurzaamheid en streeft ernaar de huidige duurzaamheidsuitdagingen met technologie op te lossen. Hij is ook een grote tennisfan en speelt graag bordspellen.
Mohan Goda leidt het Machine Learning-team bij AWS Zwitserland. Hij werkt voornamelijk met klanten uit de automobielsector om innovatieve AI/ML-oplossingen en platforms voor de volgende generatie voertuigen te ontwikkelen. Voordat hij bij AWS ging werken, werkte Mohan bij een Global Management Consulting-bureau met een focus op Strategie & Analytics. Zijn passie ligt bij geconnecteerde voertuigen en autonoom rijden.
etendit is Egli is hoofd onderwijs in Zwitserland. Hij is een enthousiaste teamleider met een brede ervaring in bedrijfsontwikkeling, verkoop en marketing.
Kemeng Zhang is een ML-ingenieur gevestigd in Zürich. Ze helpt wereldwijde klanten bij het ontwerpen, ontwikkelen en schalen van ML-gebaseerde applicaties om hun digitale mogelijkheden te vergroten en de bedrijfsopbrengsten te verhogen en de kosten te verlagen. Ze heeft ook een grote passie voor het creëren van mensgerichte toepassingen door gebruik te maken van kennis uit de gedragswetenschappen. Ze houdt van watersporten en wandelen met honden.
Daniele Chiappalupi is recent afgestudeerd aan de ETH Zürich. Hij geniet van elk aspect van software-engineering, van ontwerp tot implementatie en van implementatie tot onderhoud. Hij heeft een diepe passie voor AI en anticipeert reikhalzend op het verkennen, gebruiken en bijdragen aan de nieuwste ontwikkelingen op dit gebied. In zijn vrije tijd gaat hij graag snowboarden tijdens de koudere maanden en speelt hij graag basketbal als het weer warmer wordt.
- Door SEO aangedreven content en PR-distributie. Word vandaag nog versterkt.
- PlatoData.Network Verticale generatieve AI. Versterk jezelf. Toegang hier.
- PlatoAiStream. Web3-intelligentie. Kennis versterkt. Toegang hier.
- PlatoESG. carbon, CleanTech, Energie, Milieu, Zonne, Afvalbeheer. Toegang hier.
- Plato Gezondheid. Intelligentie op het gebied van biotech en klinische proeven. Toegang hier.
- Bron: https://aws.amazon.com/blogs/machine-learning/innovation-for-inclusion-hack-the-bias-with-amazon-sagemaker/
- : heeft
- :is
- :niet
- :waar
- $UP
- 100
- 13
- 150
- 17
- 25
- 7
- 8
- 87
- 97
- 990
- a
- in staat
- Over
- toegang
- beschikbaar
- Volgens
- nauwkeurigheid
- Bereiken
- bereikt
- over
- Extra
- Daarnaast
- vooruitgang
- Na
- tegen
- AI
- AI / ML
- alice
- Alles
- toelaten
- toegestaan
- Het toestaan
- naast
- ook
- Amazone
- Amazon Sage Maker
- Amazon Web Services
- an
- analyse
- analytics
- het analyseren van
- en
- en infrastructuur
- anticipeert
- elke
- api
- APIs
- gebruiken
- Aanvraag
- toepassingen
- architectuur
- ZIJN
- gebieden
- AS
- verschijning
- At
- auteur
- auto
- automotive
- autonoom
- Beschikbaar
- AWS
- Axios
- terug
- gebaseerde
- Basketbal
- BE
- omdat
- vaardigheden
- begon
- wezen
- vooringenomenheid
- vooringenomen
- vooroordelen
- boord
- Gezelschapsspelletjes
- lichaam
- Gebonden
- breed
- bouw
- Gebouw
- bebouwd
- bedrijfsdeskundigen
- zakelijke ontwikkeling
- by
- Bellen
- oproepen
- CAN
- mogelijkheden
- Categorie
- gecentreerd
- uitdagen
- uitdagingen
- Wijzigingen
- Controles
- koos
- duidelijk
- club
- code
- codering
- ingewikkeldheid
- uitgebreid
- uitgevoerd
- Configuratie
- geconfigureerd
- gekoppeld blijven
- versterken
- bijgevolg
- constante
- consulting
- content
- verband
- bijdragen
- draagt bij
- bij te dragen
- gemakkelijk
- Kern
- komt overeen
- Kosten
- kon
- en je merk te creëren
- aangemaakt
- Wij creëren
- cruciaal
- curated
- Actueel
- Klanten
- gegevens
- deep
- Afhankelijk
- implementeren
- ingezet
- inzet
- Design
- ontworpen
- Niettegenstaande
- detail
- gedetecteerd
- Opsporing
- ontwikkelen
- ontwikkelde
- het ontwikkelen van
- Ontwikkeling
- systemen
- anders
- digitaal
- direct
- displays
- trekt
- aandrijving
- twee
- gedurende
- elk
- gretig
- gemakkelijk
- En het is heel gemakkelijk
- Onderwijs
- effectief
- doeltreffendheid
- efficiënt
- geeft je de mogelijkheid
- elimineren
- machtigen
- gemachtigd
- waardoor
- Endpoint
- ingenieur
- Engineering
- verbeteren
- verzekeren
- zorgen
- ingevoerd
- enthousiast
- Milieu
- ETH
- Zelfs
- Event
- Alle
- voorbeeld
- voorbeelden
- verwacht
- ervaring
- Verken
- Verkennen
- uitgebreid
- eerlijk
- ventilator
- SNELLE
- Kenmerk
- Voordelen
- kameraad
- veld-
- Figuur
- finale
- Stevig
- Voornaam*
- Flexibiliteit
- stroom
- Focus
- volgend
- volgt
- Voor
- Naar voren
- gevonden
- Foundation
- Gratis
- oppompen van
- functie
- verder
- Spellen
- poort
- gaf
- Geslacht
- genereert
- generatie
- krijgen
- gegeven
- Vrijgevigheid
- Globaal
- doel
- Doelen
- gaan
- grijpen
- afstuderen
- groot
- grondslag
- houwen
- Hackathon
- Hebben
- he
- hoofd
- zwaar
- het helpen van
- helpt
- hier
- hoogst
- Gemarkeerd
- highlights
- zijn
- gehost
- Hoe
- HTML
- http
- HTTPS
- reusachtig
- ideaal
- identificeren
- if
- uitvoeren
- uitvoering
- importeren
- verbeteren
- in
- inclusie
- inclusief
- Laat uw omzet
- individuen
- -industrie
- ongelijkheid
- Infrastructuur
- inherent
- Innovatie
- innovatieve
- invoer
- instantie
- instrumentaal
- integratie
- interactieve
- Interface
- interfaces
- in
- oproept
- IT
- HAAR
- jan
- JavaScript
- jpg
- json
- Houden
- kennis
- taal
- laatste
- leiden
- leiders
- Leads
- LEARN
- geleerd
- leren
- LED
- leveraging
- ligt
- lichtgewicht
- als
- sympathieën
- gekoppeld
- lot
- houdt
- machine
- machine learning
- gemaakt
- Hoofd
- onderhoud
- maken
- beheer
- beheerd
- management
- beheren
- Marketing
- Maximaliseren
- maximaliseren
- minimaal
- ML
- model
- modellen
- maanden
- meer
- VERHAAL
- NATUUR
- noodzakelijk
- Noodzaak
- nodig
- behoeften
- netwerken
- Netwerkkansen
- New
- volgende
- doel van de persoon
- of
- het aanbieden van
- Aanbod
- on
- operationele
- Meningen
- Kansen
- optimaliseren
- Keuze
- or
- bestellen
- organiserende
- origineel
- OS
- onze
- pagina
- deelnemers
- onderdelen
- passie
- hartstochtelijk
- Uitvoeren
- prestatie
- periodes
- platforms
- Plato
- Plato gegevensintelligentie
- PlatoData
- gespeeld
- spelen
- Post
- potentieel
- mogelijk
- krachtige
- aanwezigheid
- presenteren
- gepresenteerd
- in de eerste plaats
- Verwerkt
- professionals
- project
- promoten
- vastgoed
- bewezen
- zorgen voor
- mits
- biedt
- in het openbaar
- kwaliteit
- queries
- snel
- snel
- liever
- RE
- Reageren
- gemakkelijk
- vast
- real-time
- ontvangen
- ontvangen
- ontvangt
- recent
- verminderen
- Gereduceerd
- verwijzen
- verfijnd
- verwant
- bleef
- verwijderen
- te vragen
- verzoeken
- nodig
- Resources
- reacties
- verantwoordelijk
- responsive
- REST
- resultaat
- Resultaten
- terugkeer
- Retourneren
- inkomsten
- robuust
- robuustheid
- Rol
- weg
- sagemaker
- verkoop
- dezelfde
- Schaalbaarheid
- schaalbare
- Scale
- scaling
- Wetenschap
- naadloos
- secties
- beveiligen
- zien
- zaad
- gekozen
- selectie
- verzonden
- -Series
- Serverless
- service
- Diensten
- reeks
- het instellen van
- ze
- Bermuda's
- tonen
- getoond
- Shows
- Eenvoudig
- Klein
- Software
- software engineering
- solide
- oplossing
- Oplossingen
- OPLOSSEN
- geraffineerd
- specifiek
- Sport
- gestart
- vast
- Stappen
- Strategie
- gestroomlijnd
- streeft
- Student
- Leerlingen
- voorlegging
- voorleggen
- ingediend
- Hierop volgend
- Duurzaamheid
- duurzaam
- Duurzame ontwikkeling
- SWIFT
- Zwitsers
- Zwitserland
- targeting
- Taak
- team
- teams
- Technologie
- proef
- getest
- testen
- tekst
- neem contact
- Bedankt
- dat
- De
- hun
- Ze
- thema
- harte
- Deze
- van derden
- dit
- die
- drie
- Door
- niet de tijd of
- naar
- tools
- transformeren
- veroorzaakt
- BEURT
- twee
- types
- Tenslotte
- UN
- begrijpen
- universiteit-
- bijgewerkt
- us
- .
- gebruikt
- Gebruiker
- Gebruikerservaring
- User Interface
- gebruikers
- gebruik
- gebruik maken van
- gebruikt
- Gebruik makend
- waardevol
- divers
- Voertuigen
- versie
- zeer
- via
- Bekijk
- wandel
- Verwarmt
- was
- Water
- Manier..
- we
- Weer
- web
- webservices
- GOED
- waren
- wanneer
- of
- welke
- Met
- binnen
- zonder
- werkte
- werkzaam
- Bedrijven
- Workshops
- You
- Your
- zephyrnet
- Zurich