Ezt a bejegyzést Daniele Chiappalupivel, az ETH Zürichi AWS diák Hackathon csapatának résztvevőjével közösen írták.
Mindenki könnyedén elkezdheti a gépi tanulást (ML). Amazon SageMaker JumpStart. Ebben a bejegyzésben bemutatjuk, hogyan használta egy egyetemi Hackathon csapat a SageMaker JumpStart segítségével gyorsan egy olyan alkalmazást, amely segít a felhasználóknak azonosítani és eltávolítani a torzításokat.
„Az Amazon SageMaker fontos szerepet játszott projektünkben. Könnyűvé tette a Flan előre betanított példányának telepítését és kezelését, szilárd alapot kínálva az alkalmazásunkhoz. Az automatikus skálázási funkció döntő fontosságúnak bizonyult a nagy forgalmú időszakokban, biztosítva, hogy alkalmazásunk érzékeny maradjon, és a felhasználók egyenletes és gyors torzításelemzést kapjanak. Továbbá azáltal, hogy lehetővé tették számunkra, hogy a Flan-modell lekérdezésének nehéz feladatát egy felügyelt szolgáltatásra hárítsuk, meg tudtuk tartani alkalmazásunkat könnyű és gyors, javítva a felhasználói élményt a különböző eszközökön. A SageMaker funkciói lehetővé tették számunkra, hogy maximalizáljuk a hackathonon eltöltött időt, lehetővé téve számunkra, hogy a modell teljesítményének és infrastruktúrájának kezelése helyett a promptok és az alkalmazás optimalizálására összpontosítsunk.”
– Daniele Chiappalupi, az ETH Zürich AWS diák Hackathon csapatának résztvevője.
Megoldás áttekintése
A Hackathon témája, hogy az AI-technológiával hozzájáruljunk az ENSZ fenntartható céljaihoz. Ahogy az alábbi ábrán is látható, a Hackathonon készült alkalmazás a Fenntartható Fejlődési Célok közül három (minőségi oktatás, a nemi alapú diszkrimináció és az egyenlőtlenségek csökkentése) megvalósításához járul hozzá azáltal, hogy segít a felhasználóknak azonosítani és eltávolítani az elfogultságokat szövegükből a méltányosság előmozdítása érdekében. és befogadó nyelv.
Ahogy a következő képernyőképen látható, a szöveg megadása után az alkalmazás létrehoz egy új verziót, amely mentes a faji, etnikai és nemi előítéletektől. Ezenkívül kiemeli a beviteli szöveg egyes részeit, amelyek az elfogultság egyes kategóriáihoz kapcsolódnak.
Az alábbi ábrán látható architektúrában a felhasználók szöveget írnak be a Reagál-alapú webalkalmazás, amely elindítja Amazon API átjáró, ami viszont meghív egy AWS Lambda függvény a felhasználói szöveg torzításától függően. A Lambda függvény meghívja a Flan modell végpontját a SageMaker JumpStartban, amely az elfogulatlan szöveges eredményt ugyanazon az útvonalon visszaadja az előtér-alkalmazásba.
Alkalmazásfejlesztési folyamat
Az alkalmazás fejlesztési folyamata iteratív volt, és két fő területre összpontosult: a felhasználói felületre és az ML modell integrációjára.
Rugalmassága, méretezhetősége és interaktív felhasználói felületek létrehozására szolgáló hatékony eszközei miatt a Reactot választottuk a front-end fejlesztéshez. Alkalmazásunk természetéből adódóan – a felhasználói adatok feldolgozása és a kifinomult eredmények bemutatása – a React komponens alapú architektúrája ideálisnak bizonyult. A React segítségével hatékonyan fel tudtunk építeni egy egyoldalas alkalmazást, amely lehetővé tette a felhasználók számára, hogy szöveget küldjenek be, és az oldalak folyamatos frissítése nélkül láthassák az elfogult eredményeket.
A felhasználó által beírt szöveget egy hatékony nyelvi modellnek kellett feldolgoznia, hogy megvizsgálja az elfogultságokat. A Flant robusztussága, hatékonysága és méretezhetősége miatt választottuk. A Flan használatához a SageMaker JumpStartot használtuk, amint az a következő képernyőképen látható. Amazon SageMaker megkönnyítette a Flan előre betanított példányának telepítését és kezelését, lehetővé téve számunkra, hogy a modell teljesítményének és infrastruktúrájának kezelése helyett a promptok és lekérdezések optimalizálására összpontosítsunk.
A Flan modell és a front-end alkalmazásunk összekapcsolása robusztus és biztonságos integrációt igényelt, amelyet a Lambda és az API Gateway segítségével értünk el. A Lambdával egy szerver nélküli funkciót hoztunk létre, amely közvetlenül kommunikál a SageMaker modellünkkel. Ezután az API Gateway segítségével létrehoztunk egy biztonságos, méretezhető és könnyen elérhető végpontot a React alkalmazásunk számára a Lambda funkció meghívásához. Amikor egy felhasználó szöveget küldött, az alkalmazás API-hívások sorozatát indította el az átjárónak – először annak megállapítására, hogy van-e torzítás, majd szükség esetén további lekérdezéseket hajt végre a torzítás azonosítására, megkeresésére és semlegesítésére. Mindezek a kérések a Lambda függvényen keresztül, majd a SageMaker modellünkhöz lettek irányítva.
A fejlesztési folyamatban az utolsó feladatunk a nyelvi modell lekérdezéséhez szükséges promptok kiválasztása volt. Itt a CrowS-Pairs adatkészlet fontos szerepet játszott, mert valós példákat adott nekünk az elfogult szövegekre, amelyeket felhasználtunk kéréseink finomhangolására. A promptokat iteratív folyamattal választottuk ki, azzal a céllal, hogy maximalizáljuk a torzítás észlelésének pontosságát ezen az adatkészleten belül.
A folyamatot lezárva, zökkenőmentes működési folyamatot figyeltünk meg a kész alkalmazásban. A folyamat azzal kezdődik, hogy a felhasználó szöveget küld el elemzésre, amelyet aztán POST-kéréssel küldenek el biztonságos API-átjáró-végpontunknak. Ez elindítja a Lambda függvényt, amely kommunikál a SageMaker végponttal. Következésképpen a Flan modell egy sor lekérdezést kap. Az első ellenőrzi, hogy van-e torzítás a szövegben. Ha a rendszer torzításokat észlel, további lekérdezéseket telepít ezeknek a torzított elemeknek a megkeresésére, azonosítására és semlegesítésére. Az eredmények ezután ugyanazon az útvonalon keresztül jutnak vissza – először a Lambda függvényhez, majd az API-átjárón keresztül, végül pedig vissza a felhasználóhoz. Ha bármilyen elfogultság volt jelen az eredeti szövegben, a felhasználó átfogó elemzést kap, amely jelzi az észlelt torzítások típusait, legyen szó faji, etnikai vagy nemi hovatartozásról. A szöveg azon részei, ahol ezeket az elfogultságokat észlelték, kiemelve láthatók, így a felhasználók világos képet kaphatnak a végrehajtott változtatásokról. Ezzel az elemzéssel párhuzamosan bemutatják szövegük új, elfogultságmentes változatát, amely hatékonyan alakítja át a potenciálisan elfogult bemenetet egy befogadóbb narratívává.
A következő szakaszokban részletezzük a megoldás megvalósításának lépéseit.
Állítsa be a React környezetet
A React fejlesztői környezetének beállításával kezdtük. Egy új React alkalmazás indításához minimális konfigurációval a create-react-app alkalmazást használtuk:
npx create-react-app my-app
Építsd meg a felhasználói felületet
A React használatával egy egyszerű felületet terveztünk a felhasználók számára a szöveg beviteléhez, elküldési gombbal, visszaállítás gombbal és átfedő képernyőkkel a feldolgozott eredmények bemutatására, amikor azok elérhetők.
Indítsa el a Flan modellt a SageMakeren
A SageMaker segítségével elkészítettük a Flan nyelvi modell előre betanított példányát egy végponttal a valós idejű következtetéshez. A modell bármely JSON-strukturált hasznos adattal szemben használható, például az alábbiak szerint:
Hozzon létre egy lambda függvényt
Kifejlesztettünk egy Lambda függvényt, amely közvetlenül kölcsönhatásba lép a SageMaker végpontunkkal. A funkciót úgy tervezték, hogy fogadjon egy kérést a felhasználó szövegével, továbbítsa azt a SageMaker végponthoz, és visszaadja a finomított eredményeket, ahogy az a következő kódban látható (ENDPOINT_NAME
a SageMaker példány végpontjaként lett beállítva):
Állítsa be az API-átjárót
Konfiguráltunk egy új REST API-t az API Gateway-ben, és összekapcsoltuk a Lambda funkciónkkal. Ez a kapcsolat lehetővé tette a React alkalmazásunk számára, hogy HTTP-kéréseket küldjön az API-átjárónak, ami ezt követően elindította a Lambda funkciót.
Integrálja a React alkalmazást az API-val
Frissítettük a React alkalmazást, hogy POST kérést küldjön az API-átjárónak, amikor a küldés gombra kattintottak, és a kérelem törzse a felhasználó szövege. Az API hívás végrehajtásához használt JavaScript kód a következő (REACT_APP_AWS_ENDPOINT
megfelel a Lambda-híváshoz kötött API-átjáró-végpontnak):
Az azonnali kiválasztás optimalizálása
A torzítás-észlelés pontosságának javítása érdekében különböző promptokat teszteltünk a CrowS-Pairs adatkészlettel. Ezen az iteratív folyamaton keresztül kiválasztottuk azokat az utasításokat, amelyek a legnagyobb pontosságot biztosították számunkra.
Telepítse és tesztelje a React alkalmazást a Vercelen
Az alkalmazás elkészítése után a Vercelen telepítettük, hogy nyilvánosan elérhetővé tegyük. Kiterjedt teszteket végeztünk annak biztosítására, hogy az alkalmazás az elvárásoknak megfelelően működjön, a felhasználói felülettől a nyelvi modell válaszaiig.
Ezek a lépések alapozták meg szövegelemző és torzításmentesítő alkalmazásunk létrehozását. A folyamat eredendő összetettsége ellenére az olyan eszközök használata, mint a SageMaker, a Lambda és az API Gateway, leegyszerűsítette a fejlesztést, lehetővé téve számunkra, hogy a projekt fő céljára összpontosíthassunk – a szövegben előforduló torzítások azonosítására és kiküszöbölésére.
Következtetés
A SageMaker JumpStart kényelmes módot kínál a SageMaker funkcióinak és képességeinek felfedezésére. Kurált, egylépéses megoldásokat, példafüzeteket és telepíthető előre betanított modelleket kínál. Ezek az erőforrások lehetővé teszik a SageMaker gyors megtanulását és megértését. Ezenkívül lehetősége van a modellek finomhangolására és az egyedi igényeinek megfelelő üzembe helyezésére. A JumpStart a következőn keresztül érhető el Amazon SageMaker Studio vagy programozottan a SageMaker API-k használatával.
Ebből a bejegyzésből megtudhatta, hogyan fejlesztett ki egy diák Hackathon csapat rövid időn belül egy megoldást a SageMaker JumpStart segítségével, amely bemutatja az AWS és a SageMaker JumpStart potenciálját a kifinomult AI-megoldások gyors fejlesztésében és bevezetésében, akár kis csapatok vagy egyének számára is.
Ha többet szeretne megtudni a SageMaker JumpStart használatáról, lásd: A FLAN T5 XL finomhangolása az Amazon SageMaker Jumpstart segítségével és a Zero-shot felszólítás a Flan-T5 alapozó modellhez az Amazon SageMaker JumpStartban.
Az ETH Analytics Club adott otthont az ETH Datathonnak, egy AI/ML hackathonnak, amelyre több mint 150 résztvevő érkezett az ETH Zürichből, a Zürichi Egyetemből és az EPFL-ből. Az eseményen iparági vezetők által vezetett workshopok, 24 órás kódolási kihívás, valamint értékes hálózati lehetőségek állnak rendelkezésre diáktársakkal és iparági szakemberekkel. Nagy köszönet az ETH Hackathon csapatának: Daniele Chiappalupi, Athina Nisioti és Francesco Ignazio Re, valamint az AWS szervezőcsapatának többi tagja: Alice Morano, Demir Catovic, Iana Peix, Jan Oliver Seidenfuss, Lars Nettemann és Markus Winterholer.
A bejegyzés tartalma és véleménye a harmadik fél szerzője, és az AWS nem vállal felelősséget a bejegyzés tartalmáért vagy pontosságáért.
A szerzőkről
Jun Zhang zürichi székhelyű Solutions Architect. Segít a svájci ügyfeleknek felhő alapú megoldások kidolgozásában, hogy elérjék üzleti potenciáljukat. Szenvedélye a fenntarthatóság, és igyekszik technológiával megoldani a jelenlegi fenntarthatósági kihívásokat. Emellett nagy teniszrajongó, és nagyon szeret társasjátékozni.
Mohan Gowda vezeti az AWS Switzerland Machine Learning csapatát. Elsősorban az Automotive ügyfeleivel dolgozik, hogy innovatív AI/ML megoldásokat és platformokat fejlesszenek ki a következő generációs járművek számára. Mielőtt az AWS-szel dolgozott, Mohan egy globális vezetési tanácsadó céggel dolgozott, amelynek középpontjában a stratégia és az elemzés állt. Szenvedélye az összekapcsolt járművekben és az autonóm vezetésben rejlik.
Élelmiszertias Egli a svájci oktatási vezető. Lelkes csapatvezető, széles körű tapasztalattal az üzletfejlesztés, értékesítés és marketing területén.
Kemeng Zhang ML mérnök, zürichi székhelyű. Segíti a globális ügyfeleket az ML-alapú alkalmazások tervezésében, fejlesztésében és méretezésében, hogy digitális képességeiket felerősítsék az üzleti bevételek növelése és a költségek csökkentése érdekében. Emellett nagyon szenvedélyesen hoz létre emberközpontú alkalmazásokat a viselkedéstudományból származó ismeretek felhasználásával. Szeret vízi sportokat és kutyákat sétáltatni.
Daniele Chiappalupi friss diplomát szerzett az ETH Zürich-en. A szoftverfejlesztés minden aspektusát élvezi, a tervezéstől a megvalósításig és a telepítéstől a karbantartásig. Mélyen rajong a mesterséges intelligencia iránt, és lelkesen várja, hogy felfedezze, felhasználja és hozzájáruljon a terület legújabb fejlesztéseihez. Szabadidejében szeret snowboardozni a hidegebb hónapokban, és pick-up kosárlabdázni, ha melegszik az idő.
- SEO által támogatott tartalom és PR terjesztés. Erősödjön még ma.
- PlatoData.Network Vertical Generative Ai. Erősítse meg magát. Hozzáférés itt.
- PlatoAiStream. Web3 Intelligence. Felerősített tudás. Hozzáférés itt.
- PlatoESG. Carbon, CleanTech, Energia, Környezet, Nap, Hulladékgazdálkodás. Hozzáférés itt.
- PlatoHealth. Biotechnológiai és klinikai vizsgálatok intelligencia. Hozzáférés itt.
- Forrás: https://aws.amazon.com/blogs/machine-learning/innovation-for-inclusion-hack-the-bias-with-amazon-sagemaker/
- :van
- :is
- :nem
- :ahol
- $ UP
- 100
- 13
- 150
- 17
- 25
- 7
- 8
- 87
- 97
- 990
- a
- Képes
- Rólunk
- hozzáférés
- hozzáférhető
- Szerint
- pontosság
- Elérése
- elért
- át
- További
- Ezen kívül
- fejlesztések
- Után
- ellen
- AI
- AI / ML
- alice
- Minden termék
- lehetővé
- megengedett
- lehetővé téve
- mellett
- Is
- amazon
- Amazon SageMaker
- Az Amazon Web Services
- an
- elemzés
- analitika
- elemzése
- és a
- és az infrastruktúra
- számít
- bármilyen
- api
- API-k
- app
- Alkalmazás
- alkalmazások
- építészet
- VANNAK
- területek
- AS
- megjelenés
- At
- szerző
- auto
- autóipari
- autonóm
- elérhető
- AWS
- Axios
- vissza
- alapján
- Kosárlabda
- BE
- mert
- előtt
- kezdődött
- hogy
- előítélet
- elfogult
- torzítások
- bizottság
- Társasjátékok
- test
- Köteles
- széles
- épít
- Épület
- épült
- üzleti
- üzlet fejlesztés
- gomb
- by
- hívás
- kéri
- TUD
- képességek
- Kategória
- központú
- kihívás
- kihívások
- Változások
- Ellenőrzések
- választotta
- világos
- klub
- kód
- Kódolás
- bonyolultság
- átfogó
- lefolytatott
- Configuration
- konfigurálva
- összefüggő
- kapcsolat
- Következésképpen
- állandó
- tanácsadó
- tartalom
- kontextus
- contribuer
- hozzájárul
- hozzájáruló
- Kényelmes
- Mag
- megfelel
- Költség
- tudott
- teremt
- készítette
- létrehozása
- kritikus
- a válogatott
- Jelenlegi
- Ügyfelek
- dátum
- mély
- attól
- telepíteni
- telepített
- bevetés
- Design
- tervezett
- Ellenére
- részlet
- észlelt
- Érzékelés
- Fejleszt
- fejlett
- fejlesztése
- Fejlesztés
- Eszközök
- különböző
- digitális
- közvetlenül
- kijelzők
- felhívja
- vezetés
- két
- alatt
- minden
- mohón
- könnyen
- könnyű
- Oktatás
- hatékonyan
- hatékonyság
- eredményesen
- elemek
- megszüntetése
- képessé
- felhatalmazott
- lehetővé téve
- Endpoint
- mérnök
- Mérnöki
- fokozása
- biztosítására
- biztosítása
- lépett
- lelkes
- Környezet
- ETH
- Még
- esemény
- Minden
- példa
- példák
- várható
- tapasztalat
- feltárása
- Feltárása
- kiterjedt
- igazságos
- ventilátor
- GYORS
- Funkció
- Jellemzők
- fickó
- mező
- Ábra
- utolsó
- Cég
- vezetéknév
- Rugalmasság
- áramlási
- Összpontosít
- következő
- következik
- A
- Előre
- talált
- Alapítvány
- Ingyenes
- ból ből
- funkció
- további
- Games
- gateway
- adott
- nem
- generál
- generáció
- kap
- adott
- Giving
- Globális
- cél
- Célok
- megy
- megragad
- diplomás
- nagy
- alapozás
- csapkod
- hackathon
- Legyen
- he
- fej
- nehéz
- segít
- segít
- itt
- legnagyobb
- Kiemelt
- kiemeli
- övé
- házigazdája
- Hogyan
- HTML
- http
- HTTPS
- hatalmas
- ideális
- azonosítani
- if
- végre
- végrehajtás
- importál
- javul
- in
- befogadás
- befogadó
- Növelje
- egyének
- ipar
- egyenlőtlenségek
- Infrastruktúra
- velejáró
- Innováció
- újító
- bemenet
- példa
- hangszeres
- integráció
- interaktív
- Felület
- interfészek
- bele
- behívja
- IT
- ITS
- január
- JavaScript
- jpg
- json
- Tart
- tudás
- nyelv
- legutolsó
- vezet
- vezetők
- vezetékek
- TANUL
- tanult
- tanulás
- Led
- erőfölény
- fekszik
- könnyűsúlyú
- mint
- Kedvencek
- összekapcsolt
- Sok
- szeret
- gép
- gépi tanulás
- készült
- Fő
- karbantartás
- csinál
- kezelése
- sikerült
- vezetés
- kezelése
- Marketing
- Maximize
- maximalizálása
- minimális
- ML
- modell
- modellek
- hónap
- több
- ELBESZÉLÉS
- Természet
- elengedhetetlen
- Szükség
- szükséges
- igények
- hálózatba
- Hálózati lehetőségek
- Új
- következő
- célkitűzés
- of
- felajánlás
- Ajánlatok
- on
- operatív
- Vélemények
- Lehetőségek
- optimalizálása
- opció
- or
- érdekében
- szervező
- eredeti
- OS
- mi
- oldal
- résztvevők
- alkatrészek
- szenvedély
- szenvedélyes
- Teljesít
- teljesítmény
- időszakok
- Platformok
- Plató
- Platón adatintelligencia
- PlatoData
- játszott
- játék
- állás
- potenciális
- potenciálisan
- erős
- jelenlét
- be
- bemutatott
- elsősorban
- folyamat
- Feldolgozott
- tehetséges alkalmazottal
- program
- kellene támogatnia,
- ingatlanait
- bizonyított
- ad
- feltéve,
- biztosít
- nyilvánosan
- világítás
- lekérdezések
- gyorsan
- gyors
- Inkább
- RE
- Reagál
- készségesen
- igazi
- real-time
- kap
- kapott
- kap
- új
- csökkenteni
- Csökkent
- utal
- kifinomult
- összefüggő
- maradt
- eltávolítása
- kérni
- kéri
- kötelező
- Tudástár
- válaszok
- felelős
- fogékony
- REST
- eredményez
- Eredmények
- visszatérés
- Visszatér
- jövedelem
- erős
- robusztusság
- Szerep
- Útvonal
- sagemaker
- értékesítés
- azonos
- skálázhatóság
- skálázható
- Skála
- skálázás
- Tudomány
- zökkenőmentes
- szakaszok
- biztonság
- lát
- mag
- kiválasztott
- kiválasztás
- küldött
- Series of
- vagy szerver
- szolgáltatás
- Szolgáltatások
- készlet
- beállítás
- ő
- rövid
- előadás
- mutatott
- Műsorok
- Egyszerű
- kicsi
- szoftver
- szoftverfejlesztés
- szilárd
- megoldások
- Megoldások
- SOLVE
- kifinomult
- különleges
- Sport
- kezdődött
- állandó
- Lépései
- Stratégia
- áramvonalas
- arra törekszik,
- diák
- Diákok
- benyújtása
- beküldése
- benyújtott
- Később
- Fenntarthatóság
- fenntartható
- Fenntartható fejlődés
- SWIFT
- Svájci
- svájc
- célzás
- Feladat
- csapat
- csapat
- Technológia
- teszt
- kipróbált
- tesztek
- szöveg
- mint
- Kösz
- hogy
- A
- azok
- Őket
- téma
- akkor
- Ezek
- harmadik fél
- ezt
- azok
- három
- Keresztül
- idő
- nak nek
- szerszámok
- transzformáló
- váltott
- FORDULAT
- kettő
- típusok
- Végül
- UN
- megért
- egyetemi
- frissítve
- us
- használ
- használt
- használó
- User Experience
- felhasználói felület
- Felhasználók
- segítségével
- hasznosít
- hasznosított
- kihasználva
- Értékes
- különféle
- Járművek
- változat
- nagyon
- keresztül
- Megnézem
- gyalogos
- Melegít
- volt
- Víz
- Út..
- we
- időjárás
- háló
- webes szolgáltatások
- JÓL
- voltak
- amikor
- vajon
- ami
- val vel
- belül
- nélkül
- dolgozott
- dolgozó
- művek
- Műhelyek
- te
- A te
- zephyrnet
- Zürich