Data for Breakfast arriva in Italia

Il 19 marzo scopri come fare la differenza con i dati e gli agenti AI.

Che cos’è il modello NLP BERT?

Scopri che cos’è BERT e come funziona. Esplora l’architettura del modello BERT, l’algoritmo, il suo impatto sull’AI, le attività NLP e l’evoluzione degli LLM.

  • Presentazione
  • Che cos’è BERT?
  • Per cosa è utile BERT?
  • Come funziona BERT?
  • Casi d’uso reali di BERT
  • Principali limiti di BERT
  • BERT vs. altri LLM
  • Conclusione
  • FAQ su BERT
  • Clienti che utilizzano Snowflake
  • Risorse Snowflake

Presentazione

La tecnologia BERT (Bidirectional Encoder Representations from Transformers) rappresenta una svolta nel modo in cui i computer elaborano il linguaggio naturale. Sviluppato da Google nel 2018, questo approccio open source analizza il testo in entrambe le direzioni contemporaneamente, permettendo di comprendere meglio il significato delle parole nel loro contesto. BERT ha introdotto la pratica di usare enormi quantità di testo per pre-addestrare i modelli linguistici, consentendo poi agli sviluppatori di perfezionare questi modelli per eseguire una varietà di attività. Ha posto le basi per i large language model basati su transformer che utilizziamo oggi, dimostrando che una comprensione profonda del contesto è la chiave per costruire un’AI che comprenda davvero il linguaggio umano.

Questa guida spiega che cos’è BERT, descrive il suo funzionamento e analizza le applicazioni più comuni nel mondo reale.

Che cos’è BERT?

BERT ha rivoluzionato l’elaborazione del linguaggio naturale (NLP) analizzando contemporaneamente le parole che precedono e seguono una parola target, invece di processare ogni parola in sequenza. La sua architettura transformer permette al modello linguistico di valutare l’importanza relativa delle parole tra loro, a prescindere dalla distanza tra le parole in una frase, e di distinguere significati di parole identiche in funzione del contesto circostante.

Inoltre, BERT ha introdotto un processo di addestramento in due fasi. Prima, il modello viene pre-addestrato su enormi quantità di testo non etichettato per acquisire una comprensione generale dei pattern linguistici. Poi, viene fatto il fine-tuning su compiti specifici con dataset etichettati più piccoli — una pratica nota come “transfer learning”. Eliminando la necessità di addestrare ciascun modello linguistico da zero, l’NLP all’avanguardia è diventata accessibile per un’ampia gamma di applicazioni, come le ricerche su internet e l’analisi del sentiment. 

Google ha integrato BERT nel suo motore di ricerca nel 2019, permettendo di comprendere le query come le scrivono effettivamente gli utenti. Oggi è impiegato praticamente in tutte le query in inglese ed è stato esteso a molte altre lingue, migliorando drasticamente il modo in cui Google interpreta domande complesse, gestisce ricerche conversazionali e risolve query in cui il contesto è cruciale per fornire la risposta corretta.

Per cosa è utile BERT?

La capacità di BERT di analizzare il contesto in modo bidirezionale è considerata una pietra miliare nell’evoluzione dell’AI e dell’NLP. Ciò ha permesso di ottenere risultati record in undici task NLP, tra cui question answering, analisi del sentiment e named entity recognition (classificazione automatica di parole che rappresentano una persona, prodotto, organizzazione o altra entità). L’architettura transformer usata da BERT è diventata la base di quasi tutti gli LLM moderni, grazie alla capacità di catturare relazioni tra parole su lunghe porzioni di testo.

Come funziona BERT?

L’addestramento e l’inferenza di BERT coinvolgono diversi meccanismi sofisticati che operano insieme: 

 

Tokenizzazione

BERT spezza il testo in unità più piccole chiamate token. Per esempio, la parola “playing” può essere suddivisa in “play” e “##ing”. Ogni token viene convertito in un numero e BERT aggiunge marcatori speciali come [CLS] all’inizio delle frasi e [SEP] tra esse. Questo approccio migliora l’accuratezza per parole meno comuni e rende più gestibile la dimensione del vocabolario.

 

Input embedding

A ogni token vengono assegnati tre tipi di embedding: token (il contenuto della parola), posizione (dove compare nella sequenza) e segmento (a quale frase appartiene). Questo fornisce a BERT informazioni utili sul contenuto e sulla struttura del testo. 

 

Meccanismi di attenzione 

BERT utilizza meccanismi di attenzione per calcolare quanto ogni parola debba considerare tutte le altre parole in una frase. Per esempio, quando BERT elabora la parola “banca”, assegna punteggi di attenzione a tutte le altre parole della frase. Se compaiono “fiume” e “acqua”, questi riceveranno punteggi elevati, indicando che “banca” si riferisce probabilmente a un argine; se invece “denaro” e “deposito” ottengono punteggi più alti, BERT interpreta “banca” come istituto finanziario. 

 

Layer encoder del transformer

BERT elabora il testo attraverso molteplici layer sovrapposti, ciascuno dei quali esegue più calcoli di attenzione in parallelo. Ogni layer cattura pattern via via più complessi: quelli iniziali apprendono grammatica di base, quelli profondi colgono relazioni astratte e semantiche. I primi layer potrebbero imparare la grammatica di base e i layer più profondi comprendere le relazioni astratte e la semantica.

 

Task di pre-addestramento 

Nel pre-addestramento, BERT maschera casualmente il 15% dei token e tenta di predirli, favorendo la comprensione bidirezionale. Analizza inoltre coppie di frasi e predice se la seconda frase segue o precede la prima nel testo originale, migliorando la comprensione delle relazioni inter-frase. Questa tecnica aiuta a comprendere la relazione tra le frasi.

 

Fine-tuning e inferenza

Completato il pre-addestramento, gli sviluppatori possono aggiungere un layer specifico per un task (per esempio analisi del sentiment o rilevamento dello spam) e addestrare BERT su quel compito. Durante l’inferenza, il testo attraversa tutti i layer di attenzione per costruire rappresentazioni contestuali ricche, e BERT produce previsioni basate su tali rappresentazioni.

Casi d’uso reali di BERT

Dalla sua introduzione nel 2018, BERT è stato impiegato in numerosi casi d’uso pratici, tra cui: Questi strumenti includono:

 

Ricerca Google 

BERT alimenta il ranking di Google per comprendere meglio contesto e intento dietro query complesse, in particolare ricerche conversazionali lunghe in cui ordine delle parole e preposizioni fanno la differenza. 

 

Assistenti virtuali 

BERT migliora il riconoscimento dell’intento in assistenti vocali come Google Assistant e Alexa, aiutandoli a capire le reali richieste degli utenti e a rispondere in modo più accurato a domande di follow-up mantenendo il contesto della conversazione. Consente inoltre di fornire risposte più accurate alle domande di follow-up mantenendo il contesto all’interno di una conversazione.

 

Sanità 

Analizzando note cliniche e cartelle mediche, BERT può estrarre informazioni sul paziente, identificare diagnosi e segnalare possibili interazioni tra farmaci o contraddizioni nei piani terapeutici. 

 

Tecnologia legale 

BERT alimenta strumenti di analisi contrattuale che individuano clausole, obblighi e rischi in migliaia di documenti legali, e permette ricerche semantiche nella giurisprudenza per trovare precedenti rilevanti anche con terminologia diversa.

 

Ecommerce 

Comprendendo l’intento dei clienti, BERT aiuta i chatbot a rispondere con precisione alle richieste di assistenza e classifica le recensioni di prodotto per sentiment.

 

Social media 

BERT supporta la moderazione dei contenuti rilevando incitamenti all’odio, molestie e disinformazione con comprensione contestuale superiore rispetto a metodi basati solo su keyword. Potenzia anche i sistemi di raccomandazione che suggeriscono contenuti, gruppi o connessioni rilevanti.

Principali limiti di BERT

Come concepito originariamente, BERT presenta alcune limitazioni importanti, come:

 

Alto costo computazionale

BERT richiede notevole potenza di calcolo per addestramento e inferenza, risultando costoso e lento per applicazioni in tempo reale, specialmente su dispositivi con risorse limitate. 

 

Lunghezza dell’input limitata

BERT può processare sequenze fino a 512 token; questo è un vincolo per documenti lunghi come contratti o articoli di ricerca che richiedono comprensione globale. 

 

Incapacità di generare testo

Essendo pensato come encoder per la comprensione del testo, BERT non è in grado di generare risposte coerenti o creare contenuti nuovi. Modelli come GPT e architetture encoder-decoder progettate per comprendere e generare testo sono più adatti per attività come sintesi e traduzione.

 

Sensibilità agli iperparametri

Le prestazioni possono variare molto in base a iperparametri (learning rate, dimensione dei batch, numero di epoche); può essere necessario un tuning estensivo. Può essere necessario un ampio fine-tuning.

 

Sfide sulle prestazioni multilingue

BERT multilingue è stato addestrato su 104 lingue contemporaneamente, per cui ogni lingua ha ricevuto meno attenzione, con conseguenti prestazioni inferiori, rispetto a modelli specifici per lingua. Modelli più recenti usano dataset multilingue più ampi con strategie di campionamento migliori o applicano transfer learning cross-lingua per migliorare le prestazioni.

BERT vs. altri LLM

BERT ha stimolato lo sviluppo di modelli linguistici più avanzati. Alcuni dei principali includono:

 

GPT 

GPT usa l’elaborazione unidirezionale (left-to-right) ed è addestrato a prevedere la parola successiva, il che lo rende naturalmente adatto alla generazione di testo coerente, come conversazioni e scrittura creativa. A differenza di BERT, GPT vede solo il contesto precedente quando interpreta una parola, non quello successivo.

 

RoBERTa 

RoBERTa (Robustly Optimized BERT Pretraining Approach) utilizza la stessa architettura bidirezionale di BERT ma è addestrato su dieci volte più dati. Adotta tecniche migliorate come il mascheramento dinamico, cambiando quali parole vengono mascherate ad ogni epoca di addestramento. Per questo RoBERTa raggiunge prestazioni significativamente superiori senza alterare l’approccio fondamentale di BERT.

 

XLNet 

XLNet raggiunge la comprensione bidirezionale come BERT, ma usa il permutation language modeling, prevedendo le parole in ordine casuale invece di mascherarle. Spesso è più accurato di BERT, ma è più complesso dal punto di vista computazionale e più difficile da addestrare.

 

Funzionalità

BERT

GPT

RoBERTa

XLNet

Direzione

Bidirezionale

Unidirezionale (da sinistra a destra)

Bidirezionale

Bidirezionale

Punto di forza

Comprendere il contesto

Generazione di testo

Migliore comprensione rispetto a BERT

Modellazione avanzata del contesto

Dataset di addestramento

BookCorpus + Wikipedia (16 GB)

Testo web diversificato

10× i dati di BERT (160 GB)

Simile a BERT

Strategia di mascheramento

Mascheramento casuale

Nessun mascheramento

Mascheramento dinamico

Basato su permutazioni

Può generare testo?

No

No

Limitato

Tempo di addestramento

Baseline

Più veloce

Più lungo (più dati)

Più lungo (più complesso)

Conclusione

BERT ha trasformato il modo in cui le macchine comprendono il linguaggio dimostrando che il contesto bidirezionale e il transfer learning migliorano drasticamente le prestazioni. La sua architettura transformer con meccanismi di self-attention è diventata il modello di riferimento per quasi tutti i moderni modelli linguistici, da GPT a Claude, e sostiene l’attuale rivoluzione dell’AI. Sebbene modelli più recenti abbiano superato BERT in molte aree, le sue innovazioni fondamentali — codifica bidirezionale, strategie di pre-addestramento e meccanismi di attenzione — restano centrali nella progettazione dei sistemi AI linguistici odierni.

FAQ su BERT

BERT è progettato per comprendere il linguaggio leggendo il testo in modo bidirezionale, quindi è eccellente per attività come ricerca e classificazione; GPT invece legge da sinistra a destra ed è concepito per generare testo come conversazioni o scrittura creativa. Possiamo paragonare BERT a un esperto nella comprensione e GPT a un esperto nella scrittura: sono ottimizzati per compiti diversi.

BERT è stato addestrato a riempire gli spazi vuoti tra le parole sfruttando il contesto circostante, non a prevedere la parola successiva in una sequenza; perciò non possiede le capacità necessarie per generare testo coerente. La sua architettura è un encoder progettato per comprendere, non un decoder progettato per generare parola per parola.

Sì. Pur essendo stato superato da nuovi modelli in alcune metriche, BERT è ancora ampiamente usato in produzione (per esempio in Google Search che elabora miliardi di query giornaliere) perché è efficiente, ben compreso e perfettamente adatto a task di comprensione. Soprattutto, le innovazioni di BERT nell’attenzione bidirezionale e nel transfer learning hanno fondato gran parte dei modelli linguistici moderni, quindi la sua influenza perdura anche quando non si impiega direttamente BERT.