Ta objava je nastala v soavtorstvu z Daniele Chiappalupi, udeležencem študentske ekipe AWS Hackathon na ETH Zürich.
Vsakdo lahko enostavno začne uporabljati strojno učenje (ML). Amazon SageMaker JumpStart. V tej objavi vam pokažemo, kako je univerzitetna skupina Hackathon uporabila SageMaker JumpStart za hitro izdelavo aplikacije, ki uporabnikom pomaga prepoznati in odstraniti pristranskosti.
»Amazon SageMaker je bil ključnega pomena pri našem projektu. Poenostavil je uvajanje in upravljanje vnaprej usposobljenega primerka Flan, kar nam je ponudilo trdne temelje za našo aplikacijo. Njegova funkcija samodejnega skaliranja se je izkazala za ključno v obdobjih velikega prometa, saj je zagotovila, da je naša aplikacija ostala odzivna, uporabniki pa so prejeli stalno in hitro analizo pristranskosti. Poleg tega nam je omogočilo, da smo težko nalogo poizvedovanja po modelu Flan razbremenili upravljane storitve, zato smo lahko našo aplikacijo ohranili lahko in hitro ter izboljšali uporabniško izkušnjo v različnih napravah. Funkcije SageMaker so nam omogočile, da čim bolj izkoristimo svoj čas na hackathonu, kar nam omogoča, da se osredotočimo na optimizacijo naših pozivov in aplikacije namesto na upravljanje zmogljivosti in infrastrukture modela.«
– Daniele Chiappalupi, udeleženec študentske ekipe AWS Hackathon na ETH Zürich.
Pregled rešitev
Tema hackathona je prispevati k trajnostnim ciljem ZN s tehnologijo umetne inteligence. Kot je prikazano na naslednji sliki, aplikacija, ustvarjena na Hackathonu, prispeva k trem ciljem trajnostnega razvoja (kakovostno izobraževanje, boj proti diskriminaciji na podlagi spola in zmanjšane neenakosti), tako da uporabnikom pomaga prepoznati in odstraniti pristranskosti iz njihovega besedila, da bi spodbujali pošteno in vključujoč jezik.
Kot je prikazano na naslednjem posnetku zaslona, potem ko vnesete besedilo, aplikacija ustvari novo različico, ki je brez rasnih, etničnih in spolnih pristranskosti. Poleg tega poudari posebne dele vašega vnesenega besedila, povezane z vsako kategorijo pristranskosti.
V arhitekturi, prikazani v naslednjem diagramu, uporabniki vnesejo besedilo v Reagirajona osnovi spletne aplikacije, ki sproži Amazon API Gateway, ki nato prikliče an AWS Lambda deluje glede na pristranskost v besedilu uporabnika. Funkcija Lambda pokliče končno točko modela Flan v SageMaker JumpStart, ki vrne nepristranski besedilni rezultat po isti poti nazaj v sprednjo aplikacijo.
Postopek razvoja aplikacije
Proces razvoja te aplikacije je bil iterativen in osredotočen na dve glavni področji: uporabniški vmesnik in integracija modela ML.
Za front-end razvoj smo izbrali React zaradi njegove prilagodljivosti, razširljivosti in zmogljivih orodij za ustvarjanje interaktivnih uporabniških vmesnikov. Glede na naravo naše aplikacije – obdelava uporabniškega vnosa in predstavitev izpopolnjenih rezultatov – se je Reactova arhitektura, ki temelji na komponentah, izkazala za idealno. Z Reactom smo lahko učinkovito zgradili enostransko aplikacijo, ki je uporabnikom omogočala oddajo besedila in ogled nepristranskih rezultatov brez potrebe po nenehnem osveževanju strani.
Besedilo, ki ga je vnesel uporabnik, je moral obdelati zmogljiv jezikovni model, da bi natančno preučil pristranskosti. Flan smo izbrali zaradi njegove robustnosti, učinkovitosti in razširljivosti. Za uporabo Flana smo uporabili SageMaker JumpStart, kot je prikazano na naslednjem posnetku zaslona. Amazon SageMaker olajšal uvajanje in upravljanje vnaprej usposobljenega primerka Flan, kar nam je omogočilo, da se osredotočimo na optimizacijo naših pozivov in poizvedb, namesto na upravljanje zmogljivosti in infrastrukture modela.
Povezovanje modela Flan z našo sprednjo aplikacijo je zahtevalo robustno in varno integracijo, ki je bila dosežena z uporabo Lambda in API Gateway. Z Lambdo smo ustvarili funkcijo brez strežnika, ki neposredno komunicira z našim modelom SageMaker. Nato smo uporabili API Gateway za ustvarjanje varne, razširljive in lahko dostopne končne točke za našo aplikacijo React za priklic funkcije Lambda. Ko je uporabnik oddal besedilo, je aplikacija sprožila niz klicev API-ja do prehoda – najprej za ugotavljanje, ali je pristranskost prisotna, nato pa po potrebi dodatne poizvedbe za prepoznavanje, lociranje in nevtralizacijo pristranskosti. Vse te zahteve so bile preusmerjene prek funkcije Lambda in nato v naš model SageMaker.
Naša zadnja naloga v razvojnem procesu je bila izbira pozivov za poizvedovanje jezikovnega modela. Pri tem je nabor podatkov CrowS-Pairs igral ključno vlogo, saj nam je zagotovil resnične primere pristranskega besedila, ki smo ga uporabili za natančno nastavitev naših zahtev. Pozive smo izbrali s ponavljajočim se postopkom, s ciljem maksimiranja natančnosti pri zaznavanju pristranskosti v tem naboru podatkov.
Ko smo zaključili postopek, smo opazili brezhiben potek delovanja v končani aplikaciji. Postopek se začne tako, da uporabnik pošlje besedilo v analizo, ki se nato prek zahteve POST pošlje naši varni končni točki prehoda API. To sproži funkcijo Lambda, ki komunicira s končno točko SageMaker. Posledično prejme model Flan vrsto poizvedb. Prvi preveri prisotnost morebitnih pristranskosti v besedilu. Če so odkrite pristranskosti, se izvedejo dodatne poizvedbe za iskanje, identifikacijo in nevtralizacijo teh pristranskih elementov. Rezultati se nato vrnejo po isti poti – najprej do funkcije Lambda, nato prek prehoda API in na koncu nazaj do uporabnika. Če je bila v izvirnem besedilu prisotna kakršna koli pristranskost, uporabnik prejme celovito analizo, ki navaja vrste odkritih pristranskosti, bodisi rasne, etnične ali spolne. Posebni deli besedila, kjer so bile odkrite te pristranskosti, so poudarjeni, kar uporabnikom omogoča jasen vpogled v izvedene spremembe. Poleg te analize je predstavljena nova, nepristranska različica njihovega besedila, ki učinkovito preoblikuje potencialno pristranski vnos v bolj vključujočo pripoved.
V naslednjih razdelkih podrobno opisujemo korake za implementacijo te rešitve.
Nastavite okolje React
Začeli smo z nastavitvijo našega razvojnega okolja za React. Za zagon nove aplikacije React z minimalno konfiguracijo smo uporabili create-react-app:
npx create-react-app my-app
Zgradite uporabniški vmesnik
Z uporabo Reacta smo oblikovali preprost vmesnik za uporabnike za vnašanje besedila z gumbom za oddajo, gumbom za ponastavitev in prekrivnimi zasloni za predstavitev obdelanih rezultatov, ko so na voljo.
Zaženite model Flan na SageMakerju
Uporabili smo SageMaker za ustvarjanje vnaprej usposobljenega primerka modela jezika Flan s končno točko za sklepanje v realnem času. Model je mogoče uporabiti za katero koli vsebino, strukturirano v JSON, kot je naslednje:
Ustvarite funkcijo Lambda
Razvili smo funkcijo Lambda, ki je neposredno sodelovala z našo končno točko SageMaker. Funkcija je bila zasnovana tako, da prejme zahtevo z besedilom uporabnika, jo posreduje končni točki SageMaker in vrne izboljšane rezultate, kot je prikazano v naslednji kodi (ENDPOINT_NAME
je bil nastavljen kot končna točka primerka SageMaker):
Nastavite prehod API
Konfigurirali smo nov REST API v API Gateway in ga povezali z našo funkcijo Lambda. Ta povezava je naši aplikaciji React omogočila pošiljanje zahtev HTTP do prehoda API, kar je nato sprožilo funkcijo Lambda.
Integrirajte aplikacijo React z API-jem
Aplikacijo React smo posodobili tako, da ob kliku gumba za oddajo pošlje zahtevo POST prehodu API, pri čemer je telo zahteve besedilo uporabnika. Koda JavaScript, ki smo jo uporabili za izvedbo klica API, je naslednja (REACT_APP_AWS_ENDPOINT
ustreza končni točki prehoda API, vezani na klic Lambda):
Optimizirajte hitro izbiro
Da bi izboljšali natančnost zaznavanja pristranskosti, smo preizkusili različne pozive glede na nabor podatkov CrowS-Pairs. S tem ponavljajočim se postopkom smo izbrali pozive, ki so nam dali največjo natančnost.
Namestite in preizkusite aplikacijo React na Vercelu
Ko smo zgradili aplikacijo, smo jo namestili na Vercel, da bi bila javno dostopna. Izvedli smo obsežne teste, da bi zagotovili, da aplikacija deluje po pričakovanjih, od uporabniškega vmesnika do odzivov jezikovnega modela.
Ti koraki so postavili temelje za ustvarjanje naše aplikacije za analizo in odpravljanje pristranskosti besedila. Kljub inherentni zapletenosti procesa je uporaba orodij, kot so SageMaker, Lambda in API Gateway, poenostavila razvoj in nam omogočila, da se osredotočimo na glavni cilj projekta – prepoznavanje in odpravljanje pristranskosti v besedilu.
zaključek
SageMaker JumpStart ponuja priročen način za raziskovanje funkcij in zmogljivosti SageMakerja. Zagotavlja izbrane rešitve v enem koraku, primere prenosnih računalnikov in vnaprej pripravljene modele, ki jih je mogoče uporabiti. Ti viri vam omogočajo, da se hitro naučite in razumete SageMaker. Poleg tega imate možnost natančne prilagoditve modelov in njihove uvedbe glede na vaše specifične potrebe. Dostop do JumpStart je na voljo prek Amazon SageMaker Studio ali programsko z uporabo API-jev SageMaker.
V tej objavi ste izvedeli, kako je študentska skupina Hackathon v kratkem času razvila rešitev z uporabo SageMaker JumpStart, ki prikazuje potencial AWS in SageMaker JumpStart pri omogočanju hitrega razvoja in uvajanja sofisticiranih rešitev AI, tudi s strani majhnih skupin ali posameznikov.
Če želite izvedeti več o uporabi SageMaker JumpStart, glejte Natančna nastavitev navodil za FLAN T5 XL z Amazon SageMaker Jumpstart in Zero-shot poziv za temeljni model Flan-T5 v Amazon SageMaker JumpStart.
ETH Analytics Club je gostil 'ETH Datathon', hackathon AI/ML, ki pritegne več kot 150 udeležencev iz ETH Zürich, Univerze v Zürichu in EPFL. Dogodek vključuje delavnice, ki jih vodijo vodilni v industriji, 24-urni izziv kodiranja in dragocene priložnosti za mreženje s kolegi študenti in strokovnjaki iz industrije. Velika zahvala ekipi ETH Hackathon: Daniele Chiappalupi, Athina Nisioti in Francesco Ignazio Re, kot tudi ostalim članom organizacijske ekipe AWS: Alice Morano, Demir Catovic, Iana Peix, Jan Oliver Seidenfuss, Lars Nettemann in Markus Winterholer.
Vsebina in mnenja v tej objavi so mnenja neodvisnega avtorja in AWS ni odgovoren za vsebino ali točnost te objave.
O avtorjih
Jun Zhang je arhitekt rešitev s sedežem v Zürichu. Švicarskim strankam pomaga oblikovati rešitve v oblaku, da dosežejo svoj poslovni potencial. Ima strast do trajnosti in si prizadeva rešiti trenutne izzive trajnosti s tehnologijo. Je tudi velik ljubitelj tenisa in zelo rad igra družabne igre.
Mohan Gowda vodi skupino za strojno učenje pri AWS Switzerland. Sodeluje predvsem s strankami iz avtomobilske industrije pri razvoju inovativnih rešitev in platform AI/ML za vozila naslednje generacije. Preden je delal z AWS, je Mohan sodeloval s svetovalnim podjetjem za globalno upravljanje s poudarkom na strategiji in analitiki. Njegova strast so povezana vozila in avtonomna vožnja.
Hranatias Egli je vodja izobraževanja v Švici. Je navdušen vodja ekipe z bogatimi izkušnjami na področju poslovnega razvoja, prodaje in trženja.
Kemeng Zhang je inženir ML s sedežem v Zürichu. Pomaga globalnim strankam oblikovati, razvijati in širiti aplikacije, ki temeljijo na ML, da okrepijo svoje digitalne zmogljivosti za povečanje poslovnih prihodkov in zmanjšanje stroškov. Prav tako je zelo navdušena nad ustvarjanjem aplikacij, osredotočenih na človeka, z izkoriščanjem znanja iz vedenjske znanosti. Rada se ukvarja z vodnimi športi in sprehaja pse.
Daniele Chiappalupi je nedavno diplomiral na ETH Zürich. Uživa v vseh vidikih programskega inženiringa, od načrtovanja do implementacije in od uvajanja do vzdrževanja. Ima globoko strast do umetne inteligence in željno pričakuje raziskovanje, uporabo in prispevanje k najnovejšim napredkom na tem področju. V prostem času rad deska na snegu v hladnejših mesecih in igra košarko, ko se vreme otopli.
- Distribucija vsebine in PR s pomočjo SEO. Okrepite se še danes.
- PlatoData.Network Vertical Generative Ai. Opolnomočite se. Dostopite tukaj.
- PlatoAiStream. Web3 Intelligence. Razširjeno znanje. Dostopite tukaj.
- PlatoESG. Ogljik, CleanTech, Energija, Okolje, sončna energija, Ravnanje z odpadki. Dostopite tukaj.
- PlatoHealth. Obveščanje o biotehnologiji in kliničnih preskušanjih. Dostopite tukaj.
- vir: https://aws.amazon.com/blogs/machine-learning/innovation-for-inclusion-hack-the-bias-with-amazon-sagemaker/
- :ima
- : je
- :ne
- :kje
- $GOR
- 100
- 13
- 150
- 17
- 25
- 7
- 8
- 87
- 97
- 990
- a
- Sposobna
- O meni
- dostop
- dostopen
- Po
- natančnost
- Doseči
- doseže
- čez
- Dodatne
- Poleg tega
- napredek
- po
- proti
- AI
- AI / ML
- Alice
- vsi
- omogočajo
- dovoljene
- Dovoli
- skupaj
- Prav tako
- Amazon
- Amazon SageMaker
- Amazon Web Services
- an
- Analiza
- analitika
- analiziranje
- in
- in infrastrukturo
- pričakuje
- kaj
- API
- API-ji
- aplikacija
- uporaba
- aplikacije
- Arhitektura
- SE
- območja
- AS
- vidik
- At
- Avtor
- avto
- avtomobilska
- avtonomno
- Na voljo
- AWS
- Axios
- nazaj
- temeljijo
- Košarka
- BE
- ker
- pred
- začel
- počutje
- pristranskosti
- pristranski
- pristranskosti
- svet
- Namizne igre
- telo
- Bound
- široka
- izgradnjo
- Building
- zgrajena
- poslovni
- poslovni razvoj
- Gumb
- by
- klic
- poziva
- CAN
- Zmogljivosti
- Kategorija
- centrirano
- izziv
- izzivi
- Spremembe
- Pregledi
- izbral
- jasno
- klub
- Koda
- Kodiranje
- kompleksnost
- celovito
- poteka
- konfiguracija
- konfigurirano
- povezane
- povezava
- Posledično
- stalna
- svetovanje
- vsebina
- ozadje
- prispevajo
- prispeva
- prispeva
- Priročen
- Core
- ustreza
- strošek
- bi
- ustvarjajo
- ustvaril
- Ustvarjanje
- ključnega pomena
- kurirano
- Trenutna
- Stranke, ki so
- datum
- globoko
- Odvisno
- razporedi
- razporejeni
- uvajanje
- Oblikovanje
- zasnovan
- Kljub
- Podatki
- Zaznali
- Odkrivanje
- Razvoj
- razvili
- razvoju
- Razvoj
- naprave
- drugačen
- digitalni
- neposredno
- prikazovalniki
- riše
- vožnjo
- 2
- med
- vsak
- nestrpno
- enostavno
- lahka
- Izobraževanje
- učinkovito
- učinkovitosti
- učinkovito
- elementi
- odstranjevanje
- opolnomočiti
- pooblaščena
- omogočanje
- Končna točka
- inženir
- Inženiring
- izboljšanje
- zagotovitev
- zagotoviti
- vneseno
- navdušeni
- okolje
- ETH
- Tudi
- Event
- Tudi vsak
- Primer
- Primeri
- Pričakuje
- izkušnje
- raziskuje
- Raziskovati
- obsežen
- sejem
- ventilator
- FAST
- Feature
- Lastnosti
- kolega
- Polje
- Slika
- končna
- Firm
- prva
- prilagodljivost
- Pretok
- Osredotočite
- po
- sledi
- za
- Naprej
- je pokazala,
- Fundacija
- brezplačno
- iz
- funkcija
- nadalje
- Games
- Prehod
- dal
- Spol
- ustvarja
- generacija
- dobili
- dana
- Giving
- Globalno
- Cilj
- Cilji
- dogaja
- zgrabi
- diplomiral
- veliko
- temelj
- kramp
- maraton hekanja
- Imajo
- he
- Glava
- težka
- pomoč
- Pomaga
- tukaj
- najvišja
- Poudarjeno
- Poudarki
- njegov
- gostila
- Kako
- HTML
- http
- HTTPS
- velika
- idealen
- identificirati
- if
- izvajati
- Izvajanje
- uvoz
- izboljšanje
- in
- vključitev
- Vključno
- Povečajte
- posamezniki
- Industrija
- neenakosti
- Infrastruktura
- inherentno
- Inovacije
- inovativne
- vhod
- primer
- instrumental
- integracija
- interaktivno
- vmesnik
- vmesniki
- v
- prikliče
- IT
- ITS
- John
- JavaScript
- jpg
- json
- Imejte
- znanje
- jezik
- Zadnji
- vodi
- Voditelji
- Interesenti
- UČITE
- naučili
- učenje
- Led
- vzvod
- Leži
- lahek
- kot
- všeč mi je
- povezane
- Sklop
- ljubi
- stroj
- strojno učenje
- je
- Glavne
- vzdrževanje
- Znamka
- upravljanje
- upravlja
- upravljanje
- upravljanje
- Trženje
- Povečajte
- maksimiranje
- minimalna
- ML
- Model
- modeli
- mesecev
- več
- NARRATIVNO
- Narava
- potrebno
- Nimate
- potrebna
- potrebe
- mreženje
- Priložnosti za mreženje
- Novo
- Naslednja
- Cilj
- of
- ponujanje
- Ponudbe
- on
- operativno
- Komentarji
- Priložnosti
- optimizacijo
- Možnost
- or
- Da
- organiziranje
- izvirno
- OS
- naši
- Stran
- Udeleženci
- deli
- strast
- strastno
- Izvedite
- performance
- obdobja
- Platforme
- platon
- Platonova podatkovna inteligenca
- PlatoData
- igral
- igranje
- Prispevek
- potencial
- potencialno
- močan
- Prisotnost
- predstaviti
- predstavljeni
- v prvi vrsti
- Postopek
- Predelano
- strokovnjaki
- Projekt
- spodbujanje
- Lastnosti
- dokazano
- zagotavljajo
- če
- zagotavlja
- javno
- kakovost
- poizvedbe
- hitro
- hitro
- precej
- RE
- Reagirajo
- zlahka
- pravo
- v realnem času
- prejeti
- prejetih
- prejme
- nedavno
- zmanjša
- Zmanjšana
- glejte
- rafinirano
- povezane
- ostalo
- odstrani
- zahteva
- zahteva
- obvezna
- viri
- odgovorov
- odgovorna
- odziven
- REST
- povzroči
- Rezultati
- vrnitev
- vrne
- prihodki
- robusten
- robustnost
- vloga
- Pot
- sagemaker
- prodaja
- Enako
- Prilagodljivost
- razširljive
- Lestvica
- skaliranje
- Znanost
- brezšivne
- oddelki
- zavarovanje
- glej
- seme
- izbran
- izbor
- poslan
- Serija
- Brez strežnika
- Storitev
- Storitve
- nastavite
- nastavitev
- je
- Kratke Hlače
- Prikaži
- pokazale
- Razstave
- Enostavno
- majhna
- Software
- inženiring programske opreme
- trdna
- Rešitev
- rešitve
- SOLVE
- prefinjeno
- specifična
- Šport
- začel
- dinamičnega ravnovesja
- Koraki
- Strategija
- racionaliziran
- si prizadeva
- študent
- Študenti
- predložitev
- predloži
- predložen
- Kasneje
- Trajnostni razvoj
- trajnostno
- Trajnostni razvoj
- SWIFT
- Švicarski
- švica
- ciljanje
- Naloga
- skupina
- Skupine
- Tehnologija
- Test
- Testiran
- testi
- besedilo
- kot
- Hvala
- da
- O
- njihove
- Njih
- tema
- POTEM
- te
- tretjih oseb
- ta
- tisti,
- 3
- skozi
- čas
- do
- orodja
- preoblikovanje
- sprožilo
- OBRAT
- dva
- Vrste
- Konec koncev
- UN
- razumeli
- univerza
- posodobljeno
- us
- uporaba
- Rabljeni
- uporabnik
- Uporabniška izkušnja
- Uporabniški vmesnik
- Uporabniki
- uporabo
- uporabiti
- uporablja
- Uporaben
- dragocene
- različnih
- Vozila
- različica
- zelo
- preko
- Poglej
- hoja
- Ogreje
- je
- Voda
- način..
- we
- Vreme
- web
- spletne storitve
- Dobro
- so bili
- kdaj
- ali
- ki
- z
- v
- brez
- delal
- deluje
- deluje
- Delavnice
- Vi
- Vaša rutina za
- zefirnet
- Zurich