Det här inlägget skrevs tillsammans med Daniele Chiappalupi, deltagare i AWS-studentens Hackathon-team vid ETH Zürich.
Alla kan enkelt komma igång med maskininlärning (ML) med hjälp av Amazon SageMaker JumpStart. I det här inlägget visar vi dig hur ett Hackathon-team på universitetet använde SageMaker JumpStart för att snabbt bygga en applikation som hjälper användare att identifiera och ta bort fördomar.
"Amazon SageMaker var avgörande i vårt projekt. Det gjorde det enkelt att distribuera och hantera en förtränad instans av Flan, vilket gav oss en solid grund för vår applikation. Dess automatiska skalningsfunktion visade sig vara avgörande under perioder med hög trafik, vilket säkerställde att vår app förblev lyhörd och användarna fick en stadig och snabb biasanalys. Dessutom, genom att tillåta oss att ladda ner den tunga uppgiften att fråga efter Flan-modellen till en hanterad tjänst, kunde vi hålla vår applikation lätt och snabb, vilket förbättrade användarupplevelsen på olika enheter. SageMakers funktioner gav oss möjlighet att maximera vår tid på hackathon, vilket gjorde att vi kunde fokusera på att optimera våra meddelanden och app snarare än att hantera modellens prestanda och infrastruktur."
– Daniele Chiappalupi, deltagare i AWS-studentens Hackathon-team vid ETH Zürich.
Lösningsöversikt
Temat för Hackathon är att bidra till FN:s hållbara mål med AI-teknik. Som visas i följande figur bidrar applikationen som byggdes vid Hackathon till tre av målen för hållbar utveckling (kvalitetsutbildning, inriktning på könsbaserad diskriminering och minskad ojämlikhet) genom att hjälpa användare att identifiera och ta bort fördomar från deras text för att främja rättvisa och inkluderande språk.
Som visas i följande skärmdump, efter att du har tillhandahållit texten, genererar applikationen en ny version som är fri från rasistiska, etniska och könsfördomar. Dessutom framhäver den de specifika delarna av din inmatningstext som är relaterade till varje kategori av bias.
I arkitekturen som visas i följande diagram matar användare in text i Reagera-baserad webbapp, som utlöser Amazon API Gateway, vilket i sin tur åberopar en AWS Lambda funktion beroende på bias i användartexten. Lambdafunktionen anropar Flan-modellens slutpunkt i SageMaker JumpStart, som returnerar det opartiska textresultatet via samma väg tillbaka till front-end-applikationen.
Applikationsutvecklingsprocess
Processen för att utveckla denna applikation var iterativ och centrerades på två huvudområden: användargränssnitt och ML-modellintegration.
Vi valde React för front-end-utvecklingen på grund av dess flexibilitet, skalbarhet och kraftfulla verktyg för att skapa interaktiva användargränssnitt. Med tanke på vår applikations natur – bearbetning av användarinput och presentera förfinade resultat – visade sig Reacts komponentbaserade arkitektur vara idealisk. Med React kunde vi effektivt bygga en ensidig applikation som gjorde det möjligt för användare att skicka in text och se partiska resultat utan att behöva ständigt uppdatera sidan.
Texten som angavs av användaren behövde bearbetas av en kraftfull språkmodell för att granska för partiskhet. Vi valde Flan för dess robusthet, effektivitet och skalbarhetsegenskaper. För att använda Flan använde vi SageMaker JumpStart, som visas i följande skärmdump. Amazon SageMaker gjort det enkelt att distribuera och hantera en förtränad instans av Flan, vilket gör att vi kan fokusera på att optimera våra uppmaningar och frågor snarare än att hantera modellens prestanda och infrastruktur.
Att ansluta Flan-modellen till vår front-end-applikation krävde en robust och säker integration, vilket uppnåddes med Lambda och API Gateway. Med Lambda skapade vi en serverlös funktion som kommunicerar direkt med vår SageMaker-modell. Vi använde sedan API Gateway för att skapa en säker, skalbar och lättillgänglig slutpunkt för vår React-app för att anropa Lambda-funktionen. När en användare skickade in text utlöste appen en serie API-anrop till gatewayen – först för att identifiera om någon fördom förelåg, sedan, om nödvändigt, ytterligare frågor för att identifiera, lokalisera och neutralisera biasen. Alla dessa förfrågningar dirigerades genom Lambda-funktionen och sedan till vår SageMaker-modell.
Vår sista uppgift i utvecklingsprocessen var valet av uppmaningar för att fråga efter språkmodellen. Här spelade CrowS-Pairs-datauppsättningen en viktig roll eftersom den gav oss verkliga exempel på partisk text, som vi använde för att finjustera våra förfrågningar. Vi valde uppmaningarna genom en iterativ process, med målet att maximera noggrannheten i bias-detektering inom denna datauppsättning.
När vi avslutade processen såg vi ett sömlöst driftsflöde i den färdiga applikationen. Processen börjar med att en användare skickar in text för analys, som sedan skickas via en POST-förfrågan till vår säkra API Gateway-slutpunkt. Detta utlöser Lambda-funktionen, som kommunicerar med SageMaker-ändpunkten. Följaktligen får Flan-modellen en rad frågor. Den första kontrollerar förekomsten av fördomar i texten. Om fördomar upptäcks, distribueras ytterligare frågor för att lokalisera, identifiera och neutralisera dessa partiska element. Resultaten returneras sedan via samma väg – först till Lambda-funktionen, sedan genom API-gatewayen och slutligen tillbaka till användaren. Om någon fördomar fanns i originaltexten får användaren en omfattande analys som anger vilka typer av fördomar som upptäckts, oavsett om de är ras, etniska eller kön. Specifika avsnitt av texten där dessa fördomar hittades är markerade, vilket ger användarna en tydlig bild av de ändringar som gjorts. Vid sidan av denna analys presenteras en ny, fördomsfri version av deras text, som effektivt omvandlar potentiellt partisk input till en mer inkluderande berättelse.
I följande avsnitt beskriver vi stegen för att implementera denna lösning.
Ställ in React-miljön
Vi började med att sätta upp vår utvecklingsmiljö för React. För att starta upp en ny React-applikation med minimal konfiguration använde vi create-react-app:
npx create-react-app my-app
Bygg användargränssnittet
Med hjälp av React designade vi ett enkelt gränssnitt för användare att mata in text, med en inlämningsknapp, en återställningsknapp och överliggande skärmar för att presentera de bearbetade resultaten när de är tillgängliga.
Initiera Flan-modellen på SageMaker
Vi använde SageMaker för att skapa en förtränad instans av Flan-språkmodellen med en slutpunkt för realtidsinferens. Modellen kan användas mot vilken JSON-strukturerad nyttolast som helst som följande:
Skapa en Lambda-funktion
Vi utvecklade en Lambda-funktion som interagerade direkt med vår SageMaker-slutpunkt. Funktionen designades för att ta emot en förfrågan med användarens text, vidarebefordra den till SageMaker-slutpunkten och returnera de förfinade resultaten, som visas i följande kod (ENDPOINT_NAME
konfigurerades som SageMaker-instansens slutpunkt):
Konfigurera API Gateway
Vi konfigurerade ett nytt REST API i API Gateway och länkade det till vår Lambda-funktion. Denna anslutning gjorde det möjligt för vår React-applikation att göra HTTP-förfrågningar till API-gatewayen, vilket sedan utlöste Lambda-funktionen.
Integrera React-appen med API:et
Vi uppdaterade React-applikationen för att göra en POST-förfrågan till API-gatewayen när du klickade på knappen Skicka, med texten i begäran som användarens text. JavaScript-koden vi använde för att utföra API-anropet är följande (REACT_APP_AWS_ENDPOINT
motsvarar API Gateway-ändpunkten bunden till Lambda-anropet):
Optimera snabbval
För att förbättra noggrannheten i bias-detektering testade vi olika uppmaningar mot CrowS-Pairs-datauppsättningen. Genom denna iterativa process valde vi de uppmaningar som gav oss den högsta noggrannheten.
Implementera och testa React-appen på Vercel
Efter att ha byggt applikationen distribuerade vi den på Vercel för att göra den tillgänglig för allmänheten. Vi genomförde omfattande tester för att säkerställa att applikationen fungerade som förväntat, från användargränssnittet till svaren från språkmodellen.
Dessa steg lade grunden för att skapa vår applikation för att analysera och avskaffa text. Trots den inneboende komplexiteten i processen, effektiviserade användningen av verktyg som SageMaker, Lambda och API Gateway utvecklingen, vilket gjorde att vi kunde fokusera på projektets kärnmål – att identifiera och eliminera fördomar i text.
Slutsats
SageMaker JumpStart erbjuder ett bekvämt sätt att utforska funktionerna och funktionerna i SageMaker. Den tillhandahåller utvalda enstegslösningar, exempel på bärbara datorer och utplacerbara förtränade modeller. Dessa resurser låter dig snabbt lära dig och förstå SageMaker. Dessutom har du möjlighet att finjustera modellerna och distribuera dem enligt dina specifika behov. Tillgång till JumpStart är tillgänglig via Amazon SageMaker Studio eller programmatiskt med SageMaker API:er.
I det här inlägget fick du lära dig hur ett Hackathon-studentteam utvecklade en lösning på kort tid med SageMaker JumpStart, som visar potentialen hos AWS och SageMaker JumpStart för att möjliggöra snabb utveckling och distribution av sofistikerade AI-lösningar, även av små team eller individer.
För att lära dig mer om att använda SageMaker JumpStart, se Instruktionsfinjustering för FLAN T5 XL med Amazon SageMaker Jumpstart och Zero-shot-uppmaning för Flan-T5-grundmodellen i Amazon SageMaker JumpStart.
ETH Analytics Club var värd för 'ETH Datathon', ett AI/ML-hackathon som drar mer än 150 deltagare från ETH Zürich, University of Zurich och EPFL. Evenemanget innehåller workshops ledda av branschledare, en 24-timmars kodningsutmaning och värdefulla nätverksmöjligheter med andra studenter och branschfolk. Stort tack till ETH Hackathon-teamet: Daniele Chiappalupi, Athina Nisioti och Francesco Ignazio Re, samt resten av AWS-arrangörsteamet: Alice Morano, Demir Catovic, Iana Peix, Jan Oliver Seidenfuss, Lars Nettemann och Markus Winterholer.
Innehållet och åsikterna i det här inlägget tillhör tredjepartsförfattaren och AWS ansvarar inte för innehållet eller noggrannheten i detta inlägg.
Om författarna
Jun Zhang är en lösningsarkitekt baserad i Zürich. Han hjälper schweiziska kunder att utforma molnbaserade lösningar för att uppnå sin affärspotential. Han har en passion för hållbarhet och strävar efter att lösa aktuella hållbarhetsutmaningar med teknik. Han är också ett stort tennisfan och tycker mycket om att spela brädspel.
Mohan Gowda leder Machine Learning-teamet på AWS Switzerland. Han arbetar främst med Automotive-kunder för att utveckla innovativa AI/ML-lösningar och plattformar för nästa generations fordon. Innan Mohan arbetade med AWS arbetade Mohan med ett globalt managementkonsultföretag med fokus på strategi och analys. Hans passion ligger i uppkopplade fordon och autonom körning.
Matthias Egli är utbildningschef i Schweiz. Han är en entusiastisk teamledare med bred erfarenhet av affärsutveckling, försäljning och marknadsföring.
Kemeng Zhang är en ML-ingenjör baserad i Zürich. Hon hjälper globala kunder att designa, utveckla och skala ML-baserade applikationer för att ge deras digitala möjligheter att öka affärsintäkterna och minska kostnaderna. Hon brinner också mycket för att skapa människocentrerade applikationer genom att utnyttja kunskap från beteendevetenskap. Hon gillar att spela vattensporter och gå med hundar.
Daniele Chiappalupi är nyutexaminerad från ETH Zürich. Han gillar alla aspekter av mjukvaruutveckling, från design till implementering och från driftsättning till underhåll. Han har en djup passion för AI och ser ivrigt fram emot att utforska, använda och bidra till de senaste framstegen inom området. På fritiden älskar han att åka snowboard under kallare månader och spela basket när vädret blir varmt.
- SEO-drivet innehåll och PR-distribution. Bli förstärkt idag.
- PlatoData.Network Vertical Generative Ai. Styrka dig själv. Tillgång här.
- PlatoAiStream. Web3 Intelligence. Kunskap förstärkt. Tillgång här.
- Platoesg. Kol, CleanTech, Energi, Miljö, Sol, Avfallshantering. Tillgång här.
- PlatoHealth. Biotech och kliniska prövningar Intelligence. Tillgång här.
- Källa: https://aws.amazon.com/blogs/machine-learning/innovation-for-inclusion-hack-the-bias-with-amazon-sagemaker/
- : har
- :är
- :inte
- :var
- $UPP
- 100
- 13
- 150
- 17
- 25
- 7
- 8
- 87
- 97
- 990
- a
- Able
- Om Oss
- tillgång
- tillgänglig
- Enligt
- noggrannhet
- Uppnå
- uppnås
- tvärs
- Annat
- Dessutom
- framsteg
- Efter
- mot
- AI
- AI / ML
- skott
- Alla
- tillåter
- tillåts
- tillåta
- vid sidan av
- också
- amason
- Amazon SageMaker
- Amazon Web Services
- an
- analys
- analytics
- analys
- och
- och infrastruktur
- förutser
- vilken som helst
- api
- API: er
- app
- Ansökan
- tillämpningar
- arkitektur
- ÄR
- områden
- AS
- aspekt
- At
- Författaren
- bil
- fordonsindustrin
- autonom
- tillgänglig
- AWS
- Axios
- tillbaka
- baserat
- Basketboll
- BE
- därför att
- innan
- började
- Där vi får lov att vara utan att konstant prestera,
- förspänning
- partisk
- förspänner
- ombord
- Brädspel
- kropp
- Bunden
- bred
- SLUTRESULTAT
- Byggnad
- byggt
- företag
- affärsutveckling
- Knappen
- by
- Ring
- Samtal
- KAN
- kapacitet
- Kategori
- centrerad
- utmanar
- utmaningar
- Förändringar
- Kontroller
- valde
- klar
- klubb
- koda
- Kodning
- Komplexiteten
- omfattande
- genomfördes
- konfiguration
- konfigurerad
- anslutna
- anslutning
- Följaktligen
- konstant
- rådgivning
- innehåll
- sammanhang
- bidra
- bidrar
- Bidragande
- Bekväm
- Kärna
- motsvarar
- Pris
- kunde
- skapa
- skapas
- Skapa
- avgörande
- kurerad
- Aktuella
- Kunder
- datum
- djup
- beroende
- distribuera
- utplacerade
- utplacering
- Designa
- utformade
- Trots
- detalj
- detekterad
- Detektering
- utveckla
- utvecklade
- utveckla
- Utveckling
- enheter
- olika
- digital
- direkt
- displayer
- drar
- drivande
- grund
- under
- varje
- ivrigt
- lätt
- lätt
- Utbildning
- effektivt
- effektivitet
- effektivt
- element
- eliminera
- ge
- befogenhet
- möjliggör
- Slutpunkt
- ingenjör
- Teknik
- förbättra
- säkerställa
- säkerställa
- gick in i
- entusiastiska
- Miljö
- ETH
- Även
- händelse
- Varje
- exempel
- exempel
- förväntat
- erfarenhet
- utforska
- Utforska
- omfattande
- verkligt
- fläkt
- SNABB
- Leverans
- Funktioner
- Kompis
- fält
- Figur
- slutlig
- Firm
- Förnamn
- Flexibilitet
- flöda
- Fokus
- efter
- följer
- För
- Framåt
- hittade
- fundament
- Fri
- från
- fungera
- ytterligare
- Games
- nätbryggan
- gav
- Kön
- genererar
- generering
- skaffa sig
- ges
- Ge
- Välgörenhet
- Målet
- Mål
- kommer
- ta
- uppgradera
- stor
- grundarbeten
- hacka
- hackathon
- Har
- he
- huvud
- tung
- hjälpa
- hjälper
- här.
- högsta
- Markerad
- höjdpunkter
- hans
- värd
- Hur ser din drömresa ut
- html
- http
- HTTPS
- stor
- idealisk
- identifiera
- if
- genomföra
- genomförande
- importera
- förbättra
- in
- integration
- Inkludering
- Öka
- individer
- industrin
- ojämlikhet
- Infrastruktur
- inneboende
- Innovation
- innovativa
- ingång
- exempel
- instrumental
- integrering
- interaktiva
- Gränssnitt
- gränssnitt
- in
- anropar
- IT
- DESS
- jan
- JavaScript
- jpg
- json
- Ha kvar
- kunskap
- språk
- senaste
- leda
- ledare
- Leads
- LÄRA SIG
- lärt
- inlärning
- Led
- hävstångs
- ligger
- lättvikt
- tycka om
- gillar
- kopplade
- Lot
- älskar
- Maskinen
- maskininlärning
- gjord
- Huvudsida
- underhåll
- göra
- hantera
- förvaltade
- ledning
- hantera
- Marknadsföring
- Maximera
- maximera
- minimum
- ML
- modell
- modeller
- månader
- mer
- BERÄTTANDE
- Natur
- nödvändigt för
- Behöver
- behövs
- behov
- nätverk
- Nätverksmöjligheter
- Nya
- Nästa
- mål
- of
- erbjuda
- Erbjudanden
- on
- operativa
- Åsikter
- möjligheter
- optimera
- Alternativet
- or
- beställa
- organisering
- ursprungliga
- OS
- vår
- sida
- deltagare
- reservdelar till din klassiker
- brinner
- brinner
- Utföra
- prestanda
- perioder
- Plattformar
- plato
- Platon Data Intelligence
- PlatonData
- spelat
- i
- Inlägg
- potentiell
- potentiellt
- den mäktigaste
- Närvaron
- presentera
- presenteras
- primärt
- process
- Bearbetad
- yrkesmän/kvinnor
- projektet
- främja
- egenskaper
- visat
- ge
- förutsatt
- ger
- publicly
- kvalitet
- sökfrågor
- snabbt
- snabb
- snarare
- RE
- Reagera
- lätt
- verklig
- realtid
- motta
- mottagna
- erhåller
- senaste
- minska
- Minskad
- hänvisa
- raffinerade
- relaterad
- förblev
- ta bort
- begära
- förfrågningar
- Obligatorisk
- Resurser
- svar
- ansvarig
- mottaglig
- REST
- resultera
- Resultat
- avkastning
- återgår
- intäkter
- robusta
- robusthet
- Roll
- Rutt
- sagemaker
- försäljning
- Samma
- skalbarhet
- skalbar
- Skala
- skalning
- Vetenskap
- sömlös
- sektioner
- säkra
- se
- frö
- vald
- Val
- skickas
- Serier
- Server
- service
- Tjänster
- in
- inställning
- hon
- Kort
- show
- visas
- Visar
- Enkelt
- Small
- Mjukvara
- mjukvaruutveckling
- fast
- lösning
- Lösningar
- LÖSA
- sofistikerade
- specifik
- Sporter
- igång
- stadig
- Steg
- Strategi
- strömlinjeformad
- strävar
- student
- Studenter
- underkastelse
- skicka
- lämnats
- Senare
- Hållbarhet
- hållbart
- Hållbar utveckling
- SWIFT
- Schweiziska
- schweiz
- targeting
- uppgift
- grupp
- lag
- Teknologi
- testa
- testade
- tester
- text
- än
- Tack
- den där
- Smakämnen
- deras
- Dem
- tema
- sedan
- Dessa
- tredje part
- detta
- de
- tre
- Genom
- tid
- till
- verktyg
- omvandla
- triggas
- SVÄNG
- två
- typer
- Ytterst
- UN
- förstå
- universitet
- uppdaterad
- us
- användning
- Begagnade
- Användare
- Användarupplevelse
- Användargränssnitt
- användare
- med hjälp av
- utnyttja
- utnyttjas
- Använda
- Värdefulla
- olika
- fordon
- version
- mycket
- via
- utsikt
- gående
- värmer
- var
- Vatten
- Sätt..
- we
- Väder
- webb
- webbservice
- VÄL
- były
- när
- om
- som
- med
- inom
- utan
- arbetade
- arbetssätt
- fungerar
- Workshops
- Om er
- Din
- zephyrnet
- zurich