Questo post è stato scritto in collaborazione con Daniele Chiappalupi, partecipante al team dell'AWS Student Hackathon presso l'ETH di Zurigo.
Tutti possono facilmente iniziare a utilizzare il machine learning (ML). JumpStart di Amazon SageMaker. In questo post ti mostriamo come un team di Hackathon universitario ha utilizzato SageMaker JumpStart per creare rapidamente un'applicazione che aiuta gli utenti a identificare e rimuovere i pregiudizi.
“Amazon SageMaker è stato determinante nel nostro progetto. Ha semplificato la distribuzione e la gestione di un'istanza pre-addestrata di Flan, offrendoci una solida base per la nostra applicazione. La sua funzionalità di ridimensionamento automatico si è rivelata fondamentale durante i periodi di traffico elevato, garantendo che la nostra app rimanesse reattiva e che gli utenti ricevessero un'analisi dei bias costante e veloce. Inoltre, consentendoci di scaricare il pesante compito di interrogare il modello Flan su un servizio gestito, siamo stati in grado di mantenere la nostra applicazione leggera e veloce, migliorando l'esperienza dell'utente su vari dispositivi. Le funzionalità di SageMaker ci hanno permesso di massimizzare il nostro tempo durante l'hackathon, permettendoci di concentrarci sull'ottimizzazione dei nostri suggerimenti e dell'app piuttosto che sulla gestione delle prestazioni e dell'infrastruttura del modello."
– Daniele Chiappalupi, partecipante al team dell'AWS student Hackathon presso l'ETH di Zurigo.
Panoramica della soluzione
Il tema dell’Hackathon è contribuire agli obiettivi sostenibili delle Nazioni Unite con la tecnologia AI. Come mostrato nella figura seguente, l'applicazione creata durante l'Hackathon contribuisce a tre degli obiettivi di sviluppo sostenibile (istruzione di qualità, lotta alla discriminazione basata sul genere e riduzione delle disuguaglianze) aiutando gli utenti a identificare e rimuovere i pregiudizi dai loro testi al fine di promuovere equità e linguaggio inclusivo.
Come mostrato nello screenshot seguente, dopo aver fornito il testo, l'applicazione genera una nuova versione priva di pregiudizi razziali, etnici e di genere. Inoltre, evidenzia le parti specifiche del testo inserito relative a ciascuna categoria di pregiudizio.
Nell'architettura mostrata nel diagramma seguente, gli utenti inseriscono il testo nel file Reagireapp Web basata su , che si attiva Gateway API Amazon, che a sua volta invoca un AWS Lambda funzione a seconda della distorsione nel testo dell'utente. La funzione Lambda chiama l'endpoint del modello Flan in SageMaker JumpStart, che restituisce il risultato di testo imparziale attraverso lo stesso percorso di ritorno all'applicazione front-end.
Processo di sviluppo dell'applicazione
Il processo di sviluppo di questa applicazione è stato iterativo e incentrato su due aree principali: interfaccia utente e integrazione del modello ML.
Abbiamo scelto React per lo sviluppo front-end per la sua flessibilità, scalabilità e potenti strumenti per la creazione di interfacce utente interattive. Data la natura della nostra applicazione, ovvero l'elaborazione dell'input dell'utente e la presentazione di risultati perfezionati, l'architettura basata su componenti di React si è rivelata ideale. Con React, potremmo creare in modo efficiente un'applicazione a pagina singola che consentisse agli utenti di inviare testo e visualizzare risultati imparziali senza la necessità di aggiornamenti costanti della pagina.
Il testo inserito dall'utente doveva essere elaborato da un potente modello linguistico per verificare la presenza di pregiudizi. Abbiamo scelto Flan per le sue proprietà di robustezza, efficienza e scalabilità. Per utilizzare Flan, abbiamo utilizzato SageMaker JumpStart, come mostrato nello screenshot seguente. Amazon Sage Maker ha semplificato la distribuzione e la gestione di un'istanza preaddestrata di Flan, consentendoci di concentrarci sull'ottimizzazione delle nostre richieste e query anziché sulla gestione delle prestazioni e dell'infrastruttura del modello.
Il collegamento del modello Flan alla nostra applicazione front-end richiedeva un'integrazione solida e sicura, ottenuta utilizzando Lambda e API Gateway. Con Lambda abbiamo creato una funzione serverless che comunica direttamente con il nostro modello SageMaker. Abbiamo quindi utilizzato API Gateway per creare un endpoint sicuro, scalabile e facilmente accessibile affinché la nostra app React possa invocare la funzione Lambda. Quando un utente inviava un testo, l'app attivava una serie di chiamate API al gateway, prima per identificare se erano presenti pregiudizi, quindi, se necessario, query aggiuntive per identificare, individuare e neutralizzare il pregiudizio. Tutte queste richieste sono state instradate attraverso la funzione Lambda e quindi al nostro modello SageMaker.
Il nostro compito finale nel processo di sviluppo è stata la selezione dei prompt per interrogare il modello linguistico. In questo caso, il set di dati CrowS-Pairs ha svolto un ruolo determinante perché ci ha fornito esempi reali di testo distorto, che abbiamo utilizzato per mettere a punto le nostre richieste. Abbiamo selezionato i suggerimenti mediante un processo iterativo, con l'obiettivo di massimizzare la precisione nel rilevamento dei bias all'interno di questo set di dati.
Concludendo il processo, abbiamo osservato un flusso operativo senza soluzione di continuità nell'applicazione finita. Il processo inizia con l'invio da parte dell'utente di un testo per l'analisi, che viene poi inviato tramite una richiesta POST al nostro endpoint sicuro API Gateway. Ciò attiva la funzione Lambda, che comunica con l'endpoint SageMaker. Di conseguenza, il modello Flan riceve una serie di query. Il primo verifica la presenza di eventuali bias nel testo. Se vengono rilevati pregiudizi, vengono implementate query aggiuntive per individuare, identificare e neutralizzare questi elementi distorti. I risultati vengono quindi restituiti attraverso lo stesso percorso: prima alla funzione Lambda, quindi tramite API Gateway e infine all'utente. Se nel testo originale erano presenti pregiudizi, l'utente riceve un'analisi completa che indica i tipi di pregiudizi rilevati, siano essi razziali, etnici o di genere. Vengono evidenziate le sezioni specifiche del testo in cui sono stati riscontrati questi pregiudizi, offrendo agli utenti una visione chiara delle modifiche apportate. Accanto a questa analisi, viene presentata una nuova versione imparziale del loro testo, trasformando di fatto input potenzialmente distorti in una narrazione più inclusiva.
Nelle sezioni seguenti vengono dettagliati i passaggi per implementare questa soluzione.
Configura l'ambiente React
Abbiamo iniziato configurando il nostro ambiente di sviluppo per React. Per avviare una nuova applicazione React con una configurazione minima, abbiamo utilizzato create-react-app:
npx create-react-app my-app
Costruisci l'interfaccia utente
Utilizzando React, abbiamo progettato un'interfaccia semplice per consentire agli utenti di inserire testo, con un pulsante di invio, un pulsante di ripristino e display sovrapposti per presentare i risultati elaborati quando sono disponibili.
Avviare il modello Flan su SageMaker
Abbiamo utilizzato SageMaker per creare un'istanza preaddestrata del modello linguistico Flan con un endpoint per l'inferenza in tempo reale. Il modello può essere utilizzato contro qualsiasi payload strutturato in JSON come il seguente:
Crea una funzione Lambda
Abbiamo sviluppato una funzione Lambda che interagiva direttamente con il nostro endpoint SageMaker. La funzione è stata progettata per ricevere una richiesta con il testo dell'utente, inoltrarla all'endpoint SageMaker e restituire i risultati perfezionati, come mostrato nel codice seguente (ENDPOINT_NAME
è stato configurato come endpoint dell'istanza SageMaker):
Configura il gateway API
Abbiamo configurato una nuova API REST in API Gateway e l'abbiamo collegata alla nostra funzione Lambda. Questa connessione ha consentito alla nostra applicazione React di effettuare richieste HTTP al gateway API, che successivamente ha attivato la funzione Lambda.
Integra l'app React con l'API
Abbiamo aggiornato l'applicazione React per effettuare una richiesta POST al gateway API quando si fa clic sul pulsante di invio, con il corpo della richiesta costituito dal testo dell'utente. Il codice JavaScript che abbiamo utilizzato per eseguire la chiamata API è il seguente (REACT_APP_AWS_ENDPOINT
corrisponde all'endpoint API Gateway associato alla chiamata Lambda):
Ottimizza la selezione dei prompt
Per migliorare la precisione del rilevamento dei bias, abbiamo testato diversi prompt rispetto al set di dati CrowS-Pairs. Attraverso questo processo iterativo, abbiamo scelto i suggerimenti che ci hanno fornito la massima precisione.
Distribuisci e testa l'app React su Vercel
Dopo aver creato l'applicazione, l'abbiamo distribuita su Vercel per renderla accessibile al pubblico. Abbiamo condotto test approfonditi per garantire che l'applicazione funzionasse come previsto, dall'interfaccia utente alle risposte del modello linguistico.
Questi passaggi hanno gettato le basi per la creazione della nostra applicazione per l’analisi e il de-biasing del testo. Nonostante la complessità intrinseca del processo, l'uso di strumenti come SageMaker, Lambda e API Gateway ha semplificato lo sviluppo, permettendoci di concentrarci sull'obiettivo principale del progetto: identificare ed eliminare errori nel testo.
Conclusione
SageMaker JumpStart offre un modo conveniente per esplorare le caratteristiche e le capacità di SageMaker. Fornisce soluzioni curate in un solo passaggio, notebook di esempio e modelli pre-addestrati distribuibili. Queste risorse ti consentono di apprendere e comprendere rapidamente SageMaker. Inoltre, hai la possibilità di ottimizzare i modelli e distribuirli in base alle tue esigenze specifiche. L'accesso a JumpStart è disponibile tramite Amazon Sage Maker Studio o a livello di programmazione utilizzando le API SageMaker.
In questo post hai scoperto come un team di studenti di un Hackathon ha sviluppato in breve tempo una soluzione utilizzando SageMaker JumpStart, che mostra il potenziale di AWS e SageMaker JumpStart nel consentire lo sviluppo e l'implementazione rapidi di sofisticate soluzioni IA, anche da parte di piccoli team o singoli individui.
Per ulteriori informazioni sull'utilizzo di SageMaker JumpStart, fare riferimento a Ottimizzazione delle istruzioni per FLAN T5 XL con Amazon SageMaker Jumpstart ed Richiesta zero-shot per il modello base Flan-T5 in Amazon SageMaker JumpStart.
L'ETH Analytics Club ha ospitato "ETH Datathon", un hackathon AI/ML che attira più di 150 partecipanti dall'ETH di Zurigo, dall'Università di Zurigo e dall'EPFL. L'evento prevede workshop condotti da leader del settore, una sfida di programmazione 24 ore su XNUMX e preziose opportunità di networking con altri studenti e professionisti del settore. Un grande ringraziamento al team dell'ETH Hackathon: Daniele Chiappalupi, Athina Nisioti e Francesco Ignazio Re, così come al resto del team organizzatore di AWS: Alice Morano, Demir Catovic, Iana Peix, Jan Oliver Seidenfuss, Lars Nettemann e Markus Winterholer.
Il contenuto e le opinioni in questo post sono quelli dell'autore di terze parti e AWS non è responsabile per il contenuto o l'accuratezza di questo post.
Circa gli autori
Jun Zhang è un Solutions Architect con sede a Zurigo. Aiuta i clienti svizzeri a progettare soluzioni basate sul cloud per realizzare il loro potenziale di business. Ha una passione per la sostenibilità e si impegna a risolvere le attuali sfide di sostenibilità con la tecnologia. È anche un grande appassionato di tennis e gli piace molto giocare ai giochi da tavolo.
Mohan Gowda guida il team di machine learning presso AWS Svizzera. Lavora principalmente con clienti del settore automobilistico per sviluppare soluzioni e piattaforme AI/ML innovative per i veicoli di prossima generazione. Prima di lavorare con AWS, Mohan ha lavorato con una società di consulenza gestionale globale concentrandosi su strategia e analisi. La sua passione risiede nei veicoli connessi e nella guida autonoma.
CiboThias Egli è il responsabile dell'istruzione in Svizzera. È un team leader entusiasta con una vasta esperienza nello sviluppo aziendale, nelle vendite e nel marketing.
Kemeng Zhang è un ingegnere ML con sede a Zurigo. Aiuta i clienti globali a progettare, sviluppare e scalare applicazioni basate su ML per potenziare le loro capacità digitali al fine di aumentare i ricavi aziendali e ridurre i costi. È anche molto appassionata nella creazione di applicazioni incentrate sull'uomo sfruttando la conoscenza della scienza comportamentale. Le piace praticare sport acquatici e portare a spasso i cani.
Daniele Chiappalupi è un neolaureato dell'ETH di Zurigo. Gli piacciono tutti gli aspetti dell'ingegneria del software, dalla progettazione all'implementazione e dalla distribuzione alla manutenzione. Ha una profonda passione per l'intelligenza artificiale e attende con impazienza di esplorare, utilizzare e contribuire agli ultimi progressi nel campo. Nel tempo libero ama andare sullo snowboard nei mesi più freddi e giocare a basket quando il tempo si riscalda.
- Distribuzione di contenuti basati su SEO e PR. Ricevi amplificazione oggi.
- PlatoData.Network Generativo verticale Ai. Potenzia te stesso. Accedi qui.
- PlatoAiStream. Intelligenza Web3. Conoscenza amplificata. Accedi qui.
- PlatoneESG. Carbonio, Tecnologia pulita, Energia, Ambiente, Solare, Gestione dei rifiuti. Accedi qui.
- Platone Salute. Intelligence sulle biotecnologie e sulle sperimentazioni cliniche. Accedi qui.
- Fonte: https://aws.amazon.com/blogs/machine-learning/innovation-for-inclusion-hack-the-bias-with-amazon-sagemaker/
- :ha
- :È
- :non
- :Dove
- $ SU
- 100
- 13
- 150
- 17
- 25
- 7
- 8
- 87
- 97
- 990
- a
- capace
- WRI
- accesso
- accessibile
- Secondo
- precisione
- Raggiungere
- raggiunto
- operanti in
- aggiuntivo
- Inoltre
- avanzamenti
- Dopo shavasana, sedersi in silenzio; saluti;
- contro
- AI
- AI / ML
- alice
- Tutti
- consentire
- permesso
- Consentire
- a fianco di
- anche
- Amazon
- Amazon Sage Maker
- Amazon Web Services
- an
- .
- analitica
- l'analisi
- ed
- e infrastruttura
- anticipa
- in qualsiasi
- api
- API
- App
- Applicazioni
- applicazioni
- architettura
- SONO
- aree
- AS
- aspetto
- At
- autore
- auto
- settore automobilistico
- autonomo
- disponibile
- AWS
- Axios
- precedente
- basato
- Pallacanestro
- BE
- perché
- prima
- ha iniziato
- essendo
- pregiudizio
- parziale
- pregiudizi
- tavola
- Giochi da tavolo
- stile di vita
- Bound
- ampio
- costruire
- Costruzione
- costruito
- affari
- sviluppo commerciale
- pulsante
- by
- chiamata
- Bandi
- Materiale
- funzionalità
- Categoria
- centrato
- Challenge
- sfide
- Modifiche
- Controlli
- ha scelto
- pulire campo
- club
- codice
- codifica
- complessità
- globale
- condotto
- Configurazione
- configurato
- collegato
- veloce
- conseguentemente
- costante
- consulting
- contenuto
- contesto
- contribuire
- contribuisce
- contribuendo
- Comodo
- Nucleo
- corrisponde
- Costo
- potuto
- creare
- creato
- Creazione
- cruciale
- a cura
- Corrente
- Clienti
- dati
- deep
- Dipendente
- schierare
- schierato
- deployment
- Design
- progettato
- Nonostante
- dettaglio
- rilevato
- rivelazione
- sviluppare
- sviluppato
- in via di sviluppo
- Mercato
- dispositivi
- diverso
- digitale
- direttamente
- display
- disegna
- guida
- dovuto
- durante
- ogni
- avidamente
- facilmente
- facile
- Istruzione
- in maniera efficace
- efficienza
- in modo efficiente
- elementi
- eliminando
- e potenza
- il potere
- consentendo
- endpoint
- ingegnere
- Ingegneria
- migliorando
- garantire
- assicurando
- inserito
- entusiasta
- Ambiente
- ETH
- Anche
- Evento
- Ogni
- esempio
- Esempi
- previsto
- esperienza
- esplora
- Esplorare
- estensivo
- fiera
- fan
- FAST
- caratteristica
- Caratteristiche
- compagno
- campo
- figura
- finale
- Impresa
- Nome
- Flessibilità
- flusso
- Focus
- i seguenti
- segue
- Nel
- Avanti
- essere trovato
- Fondazione
- Gratis
- da
- function
- ulteriormente
- Giochi
- porta
- ha dato
- Sesso
- genera
- ELETTRICA
- ottenere
- dato
- Dare
- globali
- scopo
- Obiettivi
- andando
- afferrare
- laurea
- grande
- basi
- incidere
- hackathon
- Avere
- he
- capo
- pesante
- aiutare
- aiuta
- qui
- massimo
- Evidenziato
- evidenzia
- il suo
- ospitato
- Come
- HTML
- http
- HTTPS
- Enorme
- ideale
- identificare
- if
- realizzare
- implementazione
- importare
- competenze
- in
- inclusione
- Inclusivo
- Aumento
- individui
- industria
- disuguaglianze
- Infrastruttura
- inerente
- Innovazione
- creativi e originali
- ingresso
- esempio
- strumentale
- integrazione
- interattivo
- Interfaccia
- interfacce
- ai miglioramenti
- invoca
- IT
- SUO
- Gen
- JavaScript
- jpg
- json
- mantenere
- conoscenze
- Lingua
- con i più recenti
- portare
- capi
- Leads
- IMPARARE
- imparato
- apprendimento
- Guidato
- leveraging
- si trova
- leggero
- piace
- piace
- connesso
- lotto
- ama
- macchina
- machine learning
- fatto
- Principale
- manutenzione
- make
- gestire
- gestito
- gestione
- gestione
- Marketing
- Massimizzare
- massimizzando
- minimo
- ML
- modello
- modelli
- mese
- Scopri di più
- NARRATIVA
- Natura
- necessaria
- Bisogno
- di applicazione
- esigenze
- internazionale
- Opportunità di networking
- New
- GENERAZIONE
- obiettivo
- of
- offerta
- Offerte
- on
- operativa
- Opinioni
- Opportunità
- ottimizzazione
- Opzione
- or
- minimo
- organizzazione
- i
- OS
- nostro
- pagina
- partecipanti
- Ricambi
- passione
- appassionato
- Eseguire
- performance
- periodi
- Piattaforme
- Platone
- Platone Data Intelligence
- PlatoneDati
- giocato
- gioco
- Post
- potenziale
- potenzialmente
- potente
- presenza
- presenti
- presentata
- principalmente
- processi
- Elaborato
- Scelto dai professionisti
- progetto
- promuoverlo
- proprietà
- dimostrato
- fornire
- purché
- fornisce
- pubblicamente
- qualità
- query
- rapidamente
- veloce
- piuttosto
- RE
- Reagire
- prontamente
- di rose
- tempo reale
- ricevere
- ricevuto
- riceve
- recente
- ridurre
- Ridotto
- riferimento
- raffinato
- relazionato
- è rimasta
- rimuovere
- richiesta
- richieste
- necessario
- Risorse
- risposte
- responsabile
- di risposta
- REST
- colpevole
- Risultati
- ritorno
- problemi
- Le vendite
- robusto
- robustezza
- Ruolo
- strada
- sagemaker
- vendite
- stesso
- Scalabilità
- scalabile
- Scala
- scala
- Scienze
- senza soluzione di continuità
- sezioni
- sicuro
- vedere
- seme
- selezionato
- prodotti
- inviato
- Serie
- serverless
- servizio
- Servizi
- set
- regolazione
- lei
- Corti
- mostrare attraverso le sue creazioni
- mostrato
- Spettacoli
- Un'espansione
- piccole
- Software
- Ingegneria del software
- solido
- soluzione
- Soluzioni
- RISOLVERE
- sofisticato
- specifico
- Sports
- iniziato
- costante
- Passi
- Strategia
- aerodinamico
- sforza
- studente
- Gli studenti
- sottomissione
- inviare
- presentata
- Successivamente
- Sostenibilità
- sostenibile
- Sviluppo sostenibile
- SWIFT
- svizzero
- Svizzera
- mira
- Task
- team
- le squadre
- Tecnologia
- test
- testato
- test
- testo
- di
- Grazie
- che
- Il
- loro
- Li
- tema
- poi
- Strumenti Bowman per analizzare le seguenti finiture:
- di parti terze standard
- questo
- quelli
- tre
- Attraverso
- tempo
- a
- strumenti
- trasformazione
- innescato
- TURNO
- seconda
- Tipi di
- in definitiva
- UN
- capire
- Università
- aggiornato
- us
- uso
- utilizzato
- Utente
- Esperienza da Utente
- Interfaccia utente
- utenti
- utilizzando
- utilizzare
- utilizzati
- Utilizzando
- Prezioso
- vario
- Veicoli
- versione
- molto
- via
- Visualizza
- a piedi
- Riscalda
- Prima
- Water
- Modo..
- we
- Tempo
- sito web
- servizi web
- WELL
- sono stati
- quando
- se
- quale
- con
- entro
- senza
- lavorato
- lavoro
- lavori
- Corsi
- Tu
- Trasferimento da aeroporto a Sharm
- zefiro
- Zurigo