Cosa sono i trasformatori nell'intelligenza artificiale?

I trasformatori rappresentano un'architettura di rete neurale progettata per trasformare o modificare una sequenza di input in una sequenza di output. Questo viene realizzato attraverso l'apprendimento del contesto e il tracciamento delle relazioni tra i componenti della sequenza. Ad esempio, prendi in considerazione questa sequenza di input: "Di che colore è il cielo?" Il modello del trasformatore utilizza una rappresentazione matematica interna che identifica la pertinenza e la relazione tra le parole colore, cielo e blu. Quindi, impiega questa conoscenza per generare l'output: "Il cielo è blu". 

Le organizzazioni utilizzano modelli di trasformazione per tutti i tipi di conversioni di sequenze, dal riconoscimento vocale alla traduzione automatica e all'analisi delle sequenze proteiche.

Scopri di più sulle reti neurali

Scopri di più sull'intelligenza artificiale (IA)

Perché i trasformatori sono importanti?

I primi modelli di deep learning che si concentravano ampiamente sulle attività di elaborazione del linguaggio naturale (NLP) miravano a far sì che i computer comprendessero e rispondessero al linguaggio umano naturale. Hanno indovinato la parola successiva in una sequenza basata sulla parola precedente.

Per capire meglio, considera la funzione di completamento automatico del tuo smartphone. Fornisce suggerimenti in base alla frequenza delle coppie di parole che digiti. Ad esempio, se digiti spesso "Sto bene", il telefono suggerisce automaticamente bene dopo aver digitato sto.

I primi modelli di machine learning (ML) applicavano tecnologie simili su una scala più ampia. Hanno mappato la frequenza delle relazioni tra diverse coppie di parole o gruppi di parole nel loro set di dati di addestramento e hanno cercato di indovinare la parola successiva. Tuttavia, la tecnologia iniziale non era in grado di mantenere il contesto oltre una certa lunghezza di input. Ad esempio, uno dei primi modelli di ML non poteva generare un paragrafo significativo perché non riusciva a mantenere il contesto tra la prima e l'ultima frase di un paragrafo. Per generare un output come "Vengo dall'Italia. Mi piace andare a cavallo. Parlo italiano.", il modello deve ricordare la connessione tra Italia e italiano, cosa che le prime reti neurali semplicemente non potevano fare.

I modelli trasformatori hanno cambiato radicalmente le tecnologie NLP consentendo ai modelli di gestire tali dipendenze a lungo raggio nel testo. Di seguito sono riportati altri vantaggi dei trasformatori.

Abilitazione dei modelli su larga scala

I trasformatori elaborano sequenze lunghe nella loro interezza con il calcolo parallelo, che riduce significativamente sia i tempi di addestramento che di elaborazione. Ciò ha consentito la formazione di modelli linguistici di grandi dimensioni (LLM), come GPT e BERT, in grado di apprendere rappresentazioni linguistiche complesse. Hanno miliardi di parametri che catturano un'ampia gamma di linguaggi e conoscenze umane e stanno spingendo la ricerca verso sistemi di intelligenza artificiale più generalizzabili.

Scopri di più sui modelli linguistici di grandi dimensioni

Scopri di più su GPT

Abilitazione di una personalizzazione più rapida

Con i modelli di trasformatori, puoi utilizzare tecniche come il transfer learning e il retrieval augmented generation (RAG). Queste tecniche consentono la personalizzazione dei modelli esistenti per applicazioni specifiche dell'organizzazione del settore. I modelli possono essere pre-addestrati su set di dati di grandi dimensioni e quindi ottimizzati su set di dati più piccoli e specifici per attività. Questo approccio ha democratizzato l'uso di modelli sofisticati e rimosso i limiti dei vincoli di risorse nell'addestramento di modelli di grandi dimensioni da zero. I modelli possono funzionare bene su più domini e attività per vari casi d'uso.

Facilita i sistemi di intelligenza artificiale multimodali

Con i trasformatori, puoi utilizzare l'intelligenza artificiale per attività che combinano set di dati complessi. Ad esempio, modelli come DALL-E mostrano che i trasformatori possono generare immagini da descrizioni testuali, combinando funzionalità di NLP e visione artificiale. Con i trasformatori, puoi creare applicazioni di intelligenza artificiale che integrano diversi tipi di informazioni e imitano più da vicino la comprensione e la creatività umane.

Scopri di più sulla visione artificiale

Ricerca sull'intelligenza artificiale e innovazione del settore

I trasformatori hanno creato una nuova generazione di tecnologie e ricerche sull'intelligenza artificiale, spingendo i confini di ciò che è possibile nel machine learning. Il loro successo ha ispirato nuove architetture e applicazioni che risolvono problemi innovativi. Hanno consentito alle macchine di comprendere e generare il linguaggio umano, dando vita ad applicazioni che migliorano l'esperienza del cliente e creano nuove opportunità di business.

Quali sono i casi d'uso dei trasformatori?

Puoi addestrare modelli di trasformatori di grandi dimensioni su qualsiasi dato sequenziale come linguaggi umani, composizioni musicali, linguaggi di programmazione e altro ancora. Di seguito sono riportati alcuni casi d'uso di esempio.

Elaborazione del linguaggio naturale

I trasformatori consentono alle macchine di comprendere, interpretare e generare il linguaggio umano in un modo più accurato che mai. Possono riassumere documenti di grandi dimensioni e generare testo coerente e contestualmente pertinente per tutti i tipi di casi d'uso. Gli assistenti virtuali come Alexa utilizzano la tecnologia del trasformatore per comprendere e rispondere ai comandi vocali.

Machine translation

Le applicazioni di traduzione utilizzano i trasformatori per fornire traduzioni accurate e in tempo reale tra le lingue. I trasformatori hanno notevolmente migliorato la fluidità e l'accuratezza delle traduzioni rispetto alle tecnologie precedenti.

Scopri di più sulla traduzione automatica

Analisi della sequenza del DNA

Trattando i segmenti di DNA come una sequenza simile al linguaggio, i trasformatori possono prevedere gli effetti delle mutazioni genetiche, comprendere i modelli genetici e aiutare a identificare le regioni del DNA responsabili di determinate malattie. Questa capacità è fondamentale per la medicina personalizzata, in cui la comprensione del corredo genetico di un individuo può portare a trattamenti più efficaci.

Analisi della struttura delle proteine

I modelli trasformatori possono elaborare dati sequenziali, il che li rende adatti per modellare le lunghe catene di amminoacidi che si ripiegano in strutture proteiche complesse. La comprensione delle strutture proteiche è fondamentale per la scoperta di farmaci e la comprensione dei processi biologici. È inoltre possibile utilizzare i trasformatori in applicazioni che prevedono la struttura 3D delle proteine in base alle loro sequenze di amminoacidi.

Come funzionano i trasformatori?

Le reti neurali sono state il metodo principale in varie attività di intelligenza artificiale come il riconoscimento delle immagini e la PNL sin dai primi anni 2000. Sono costituiti da strati di nodi informatici interconnessi, o neuroni, che imitano il cervello umano e lavorano insieme per risolvere problemi complessi.

Le reti neurali tradizionali che gestiscono sequenze di dati utilizzano spesso un modello di architettura codificatore/decodificatore. Il codificatore legge ed elabora l'intera sequenza di dati di input, ad esempio una frase inglese, e la trasforma in una rappresentazione matematica compatta. Questa rappresentazione è un riepilogo che cattura l'essenza dell'input. Quindi, il decodificatore prende questo riepilogo e, passo dopo passo, genera la sequenza di output, che potrebbe essere la stessa frase tradotta in francese.

Questo processo avviene in sequenza, il che significa che deve elaborare ogni parola o parte dei dati una dopo l'altra. Il processo è lento e può perdere alcuni dettagli più fini su lunghe distanze.

Meccanismo di autoattenzione

I modelli trasformatore modificano questo processo incorporando qualcosa chiamato meccanismo di autoattenzione. Invece di elaborare i dati in ordine, il meccanismo consente al modello di esaminare contemporaneamente diverse parti della sequenza e determinare quali sono le parti più importanti. 

Immagina di trovarti in una stanza affollata e di cercare di ascoltare qualcuno parlare. Il tuo cervello si concentra automaticamente sulla sua voce mentre esclude i rumori meno importanti. L'autoattenzione consente al modello di fare qualcosa di simile: presta maggiore attenzione alle informazioni pertinenti e le combina per fare previsioni di output migliori. Questo meccanismo rende i trasformatori più efficienti, consentendo loro di essere addestrati su set di dati più grandi. È anche più efficace, specialmente quando si tratta di lunghe porzioni di testo in cui il contesto proveniente da molto lontano potrebbe influenzare il significato di ciò che verrà dopo.

Quali sono i componenti dell'architettura del trasformatore?

L'architettura della rete neurale di un trasformatore ha diversi livelli software che lavorano insieme per generare l'output finale. L'immagine seguente mostra i componenti dell'architettura di trasformazione, come spiegato nel resto di questa sezione.


Incorporamenti di input

Questa fase converte la sequenza di input nel dominio matematico che gli algoritmi software comprendono. Inizialmente, la sequenza di input viene suddivisa in una serie di token o singoli componenti della sequenza. Ad esempio, se l'input è una frase, i token sono parole. L'incorporamento trasforma quindi la sequenza di token in una sequenza vettoriale matematica. I vettori contengono informazioni semantiche e sintattiche, rappresentate come numeri, e i loro attributi vengono appresi durante il processo di addestramento.

È possibile visualizzare i vettori come una serie di coordinate in uno spazio n-dimensionale. Come semplice esempio, pensa a un grafico bidimensionale, in cui x rappresenta il valore alfanumerico della prima lettera della parola e y rappresenta le relative categorie. La parola banana ha il valore (2,2) perché inizia con la lettera b ed è nella categoria frutta. La parola mango ha il valore (13,2) perché inizia con la lettera m ed è anche nella categoria frutta. In questo modo, il vettore (x, y) indica alla rete neurale che le parole banana e mango appartengono alla stessa categoria. 

Ora immagina uno spazio n-dimensionale con migliaia di attributi relativi alla grammatica, al significato e all'uso di qualsiasi parola in frasi mappate su una serie di numeri. Il software può utilizzare i numeri per calcolare le relazioni tra le parole in termini matematici e comprendere il modello del linguaggio umano. Gli incorporamenti forniscono un modo per rappresentare i token discreti come vettori continui che il modello può elaborare e da cui apprendere.

Codifica posizionale

La codifica posizionale è un componente cruciale nell'architettura del trasformatore perché il modello stesso non elabora intrinsecamente i dati sequenziali in ordine. Il trasformatore ha bisogno di un modo per considerare l'ordine dei token nella sequenza di input. La codifica posizionale aggiunge informazioni all'incorporamento di ciascun token per indicarne la posizione nella sequenza. Ciò viene spesso fatto utilizzando una serie di funzioni che generano un segnale posizionale unico che viene aggiunto all'incorporamento di ciascun token. Con la codifica posizionale, il modello può preservare l'ordine dei token e comprendere il contesto della sequenza.

Blocco trasformatore

Un tipico modello di trasformatore ha più blocchi di trasformatori impilati insieme. Ogni blocco trasformatore ha due componenti principali: un meccanismo di autoattenzione a più teste e una rete neurale feed-forward in base alla posizione. Il meccanismo di autoattenzione consente al modello di valutare l'importanza dei diversi token all'interno della sequenza. Si concentra sulle parti pertinenti dell'input quando si effettuano previsioni.

Ad esempio, considera le frasi "Non dire bugie" e "Metti le candele nelle bugie". In entrambe le frasi, il significato della parola bugie non può essere compreso senza guardare le parole accanto. Le parole "dire" e "candele" sono essenziali per comprenderne il significato corretto. L'autoattenzione consente il raggruppamento di token pertinenti per il contesto.

Lo strato feed-forward contiene componenti aggiuntivi che aiutano il modello del trasformatore ad allenarsi e a funzionare in modo più efficiente. Ad esempio, ogni blocco trasformatore include:

  • Connessioni attorno ai due componenti principali che fungono da scorciatoie. Consentono il flusso di informazioni da una parte all'altra della rete, saltando alcune operazioni intermedie.
  • Normalizzazione dei livelli che mantiene i numeri, in particolare gli output dei diversi livelli della rete, all'interno di un determinato intervallo in modo che il modello si alleni senza intoppi.
  • La trasformazione lineare funziona in modo che il modello regoli i valori per svolgere meglio l'attività su cui viene addestrato, ad esempio il riepilogo del documento anziché la traduzione.

Blocchi lineari e softmax

In definitiva, il modello deve fare una previsione concreta, come scegliere la parola successiva in una sequenza. È qui che entra in gioco il blocco lineare. È un altro livello completamente connesso, noto anche come strato denso, prima della fase finale. Esegue una mappatura lineare appresa dallo spazio vettoriale al dominio di input originale. Questo livello cruciale è il punto in cui la parte decisionale del modello prende le complesse rappresentazioni interne e le trasforma in previsioni specifiche che è possibile interpretare e utilizzare. L'output di questo livello è un insieme di punteggi (spesso chiamati logit) per ogni token possibile.

La funzione softmax è la fase finale che prende i punteggi logit e li normalizza in una distribuzione di probabilità. Ogni elemento dell'output softmax rappresenta la fiducia del modello in una particolare classe o token.

In che modo i trasformatori sono diversi dalle altre architetture di reti neurali?

Le reti neurali ricorrenti (RNN) e le reti neurali convoluzionali (CNN) sono altre reti neurali utilizzate frequentemente nelle attività di machine learning e deep learning. Quanto segue esplora le loro relazioni con i trasformatori.

Trasformatori e RNN

I modelli trasformatori e gli RNN sono due architetture utilizzate per l'elaborazione di dati sequenziali.

Gli RNN elaborano le sequenze di dati un elemento alla volta in iterazioni cicliche. Il processo inizia con il livello di input che riceve il primo elemento della sequenza. Le informazioni vengono quindi passate a un livello nascosto, che elabora l'input e passa l'output alla fase temporale successiva. Questo output, combinato con l'elemento successivo della sequenza, viene reinserito nel livello nascosto. Questo ciclo si ripete per ogni elemento della sequenza, con l'RNN che mantiene un vettore di stato nascosto che viene aggiornato ad ogni passaggio temporale. Questo processo consente efficacemente all'RNN di ricordare le informazioni dagli input passati.

Al contrario, i trasformatori elaborano intere sequenze contemporaneamente. Questa parallelizzazione consente tempi di addestramento molto più rapidi e la capacità di gestire sequenze molto più lunghe rispetto agli RNN. Il meccanismo di autoattenzione nei trasformatori consente inoltre al modello di considerare contemporaneamente l'intera sequenza di dati. Ciò elimina la necessità di ricorrenze o vettori nascosti. Invece, la codifica posizionale mantiene le informazioni sulla posizione di ciascun elemento nella sequenza.

I trasformatori hanno ampiamente sostituito gli RNN in molte applicazioni, specialmente nelle attività di PNL, perché possono gestire le dipendenze a lungo raggio in modo più efficace. Hanno anche una maggiore scalabilità ed efficienza rispetto alle RNN. Gli RNN sono ancora utili in determinati contesti, specialmente dove le dimensioni del modello e l'efficienza computazionale sono più critiche rispetto all'acquisizione di interazioni a lunga distanza.

Trasformatori e CNN

Le CNN sono progettate per dati simili a griglie, come le immagini, in cui le gerarchie spaziali e la località sono fondamentali. Usano livelli convoluzionali per applicare filtri su un input, catturando modelli locali attraverso queste viste filtrate. Ad esempio, nell'elaborazione delle immagini, i livelli iniziali potrebbero rilevare bordi o texture e i livelli più profondi riconoscono strutture più complesse come forme o oggetti.

I trasformatori sono stati progettati principalmente per gestire dati sequenziali e non potevano elaborare immagini. I modelli di trasformatori visivi ora elaborano le immagini convertendole in un formato sequenziale. Tuttavia, le CNN continuano a rimanere una scelta altamente efficace ed efficiente per molte applicazioni pratiche di visione artificiale.

Quali sono i diversi tipi di modelli di trasformatori?

I trasformatori si sono evoluti in una famiglia diversificata di architetture. Di seguito sono riportati alcuni tipi di modelli di trasformatori.

Trasformatori bidirezionali

Le rappresentazioni bidirezionali dei codificatori provenienti dai modelli BERT trasformatori modificano l'architettura di base per elaborare le parole in relazione a tutte le altre parole in una frase anziché isolatamente. Tecnicamente, utilizza un meccanismo chiamato modello bidirezionale del linguaggio mascherato (MLM). Durante il pre-addestramento, BERT maschera in modo casuale una certa percentuale dei token di input e prevede questi token mascherati in base al loro contesto. L'aspetto bidirezionale deriva dal fatto che BERT tiene conto sia delle sequenze di token da sinistra a destra che da destra a sinistra in entrambi i livelli per una maggiore comprensione.

Trasformatori generativi pre-addestrati

I modelli GPT utilizzano decodificatori di trasformatori impilati preaddestrati su un ampio corpus di testo utilizzando obiettivi di modellazione linguistica. Sono autoregressivi, il che significa che regrediscono o prevedono il valore successivo in una sequenza in base a tutti i valori precedenti. Utilizzando più di 175 miliardi di parametri, i modelli GPT possono generare sequenze di testo regolate per stile e tono. I modelli GPT hanno dato il via alla ricerca nell'intelligenza artificiale verso il raggiungimento dell'intelligenza artificiale generale. Ciò significa che le organizzazioni possono raggiungere nuovi livelli di produttività reinventando al contempo le applicazioni e le esperienze dei clienti.

Trasformatori bidirezionali e autoregressivi

Un trasformatore bidirezionale e autoregressivo (BART) è un tipo di modello di trasformatore che combina proprietà bidirezionali e autoregressive. È come una miscela del codificatore bidirezionale di BERT e del decodificatore autoregressivo di GPT. Legge l'intera sequenza di input contemporaneamente ed è bidirezionale come BERT. Tuttavia, genera la sequenza di output un token alla volta, in base ai token generati in precedenza e all'input fornito dal codificatore.

Trasformatori per attività multimodali

I modelli di trasformatori multimodali come ViLBERT e VisualBERT sono progettati per gestire più tipi di dati di input, in genere testo e immagini. Estendono l'architettura del trasformatore utilizzando reti a doppio flusso che elaborano gli input visivi e testuali separatamente prima di fondere le informazioni. Questo design consente al modello di apprendere le rappresentazioni intermodali. Ad esempio, ViLBERT utilizza strati trasformatori co-attentivi per consentire l'interazione tra flussi separati. È fondamentale per le situazioni in cui è fondamentale comprendere la relazione tra testo e immagini, come le attività visive di risposta a domande.

Trasformatori di visione

I trasformatori di visione (ViT) riutilizzano l'architettura del trasformatore per le attività di classificazione delle immagini. Invece di elaborare un'immagine come una griglia di pixel, visualizzano i dati dell'immagine come una sequenza di patch di dimensioni fisse, in modo simile a come vengono trattate le parole in una frase. Ogni patch viene appiattita, incorporata linearmente e quindi elaborata in sequenza dal codificatore del trasformatore standard. Gli incorporamenti posizionali vengono aggiunti per mantenere le informazioni spaziali. Questo utilizzo dell'autoattenzione globale consente al modello di acquisire le relazioni tra qualsiasi coppia di patch, indipendentemente dalla loro posizione.

In che modo AWS può supportare i requisiti del tuo modello di trasformatore?

Amazon Web Services (AWS) offre i seguenti servizi IA/ML che puoi utilizzare per i requisiti dei tuoi modelli di trasformatori.

Amazon SageMaker JumpStart è un hub di machine learning in cui puoi accedere a modelli di trasformatori pre-addestrati per eseguire attività come il riepilogo degli articoli e la generazione di immagini. I modelli pre-addestrati sono completamente personalizzabili in base al tuo caso d'uso con i tuoi dati e possono essere facilmente implementati nella produzione con l'interfaccia utente o l'SDK.

Amazon Bedrock è un servizio completamente gestito che offre una scelta di modelli di trasformatori ad alte prestazioni delle principali società di intelligenza artificiale come AI21 Labs, Anthropic, Cohere, Meta, Stability AI e Amazon con un'unica API. Con l'ampia gamma di funzionalità necessarie per creare applicazioni di IA generativa, Amazon Bedrock semplifica lo sviluppo mantenendo la privacy e la sicurezza. Per esempio, puoi:

  • Sperimentare facilmente con una varietà dei migliori modelli di fondazione e personalizzali privatamente con i tuoi dati
  • Creare agenti gestiti che eseguono attività aziendali complesse, il tutto senza scrivere alcun codice
  • Integrare e implementare in modo sicuro funzionalità di IA generativa nelle tue applicazioni senza la necessità di gestire l'infrastruttura

Puoi anche addestrare più velocemente i tuoi modelli di trasformatori utilizzando AWS Trainium, l'acceleratore ML di seconda generazione creato appositamente da AWS per l'addestramento deep learning di oltre 100 miliardi di modelli di parametri. Ogni istanza Trn1 di Amazon Elastic Compute Cloud (Amazon EC2) implementa fino a 16 acceleratori Trainium per fornire una soluzione a basso costo e ad alte prestazioni per la formazione di deep learning nel cloud. 

Inizia a usare i modelli di trasformatori su AWS creando un account oggi stesso.

Fasi successive su AWS

Registrati per creare un account gratuito

Ottieni accesso istantaneo al Piano gratuito di AWS.

Registrati 
Inizia a lavorare nella console

Inizia subito a creare nella Console di gestione AWS.

Accedi