Explore BERT, the revolutionary bidirectional NLP model. Learn how it uses Transformer architecture for sentiment analysis, search, and [multimodal AI](https://www.ultralytics.com/glossary/multimodal-ai) workflows.
BERT (Bidirectional Encoder Representations from Transformers) è un'architettura di deep learning rivoluzionaria progettata dai ricercatori di Google aiutare le macchine Google comprendere meglio le sfumature del linguaggio umano. Introdotto nel 2018, BERT ha rivoluzionato il campo dell' elaborazione del linguaggio naturale (NLP) introducendo un metodo di addestramento bidirezionale. A differenza dei modelli precedenti che leggono il testo in modo sequenziale da sinistra a destra o da destra a sinistra, BERT analizza il contesto di una parola osservando contemporaneamente le parole che la precedono e quelle che la seguono . Questo approccio consente al modello di cogliere significati sottili, espressioni idiomatiche e omonimi (parole con più significati) in modo molto più efficace rispetto ai modelli precedenti.
Fondamentalmente, BERT si basa sull' architettura Transformer, in particolare sul meccanismo dell'encoder . La natura "bidirezionale" è ottenuta attraverso una tecnica di addestramento chiamata Masked Language Modeling (MLM). Durante il pre-addestramento, circa il 15% delle parole in una frase viene mascherato (nascosto) in modo casuale e il modello cerca di prevedere le parole mancanti in base al contesto circostante. Questo costringe il modello ad apprendere rappresentazioni bidirezionali profonde.
Inoltre, BERT utilizza la previsione della frase successiva (NSP) per comprendere la relazione tra le frasi. In questo compito, al modello vengono fornite coppie di frasi e deve determinare se la seconda frase segue logicamente la prima. Questa capacità è fondamentale per i compiti che richiedono la comprensione del discorso, come la risposta alle domande e la sintesi del testo.
La versatilità di BERT lo ha reso un componente standard in molti sistemi di IA moderni. Ecco due esempi concreti della sua applicazione:
È utile distinguere BERT dalle altre architetture più note per comprenderne la nicchia specifica.
Per utilizzare BERT, il testo grezzo deve essere convertito in token numerici. Il modello utilizza un vocabolario specifico (come WordPiece) per scomporre le parole. Sebbene BERT sia un modello di testo, concetti di pre-elaborazione simili si applicano nella visione artificiale, dove le immagini vengono suddivise in patch.
Il seguente Python mostra come utilizzare il transformers libreria per tokenizzare una frase per l'
elaborazione BERT. Si noti che, mentre Ultralytics sulla visione, comprendere la tokenizzazione è fondamentale per
IA multimodale flussi di lavoro.
from transformers import BertTokenizer
# Initialize the tokenizer with the pre-trained 'bert-base-uncased' vocabulary
tokenizer = BertTokenizer.from_pretrained("bert-base-uncased")
# Tokenize a sample sentence relevant to AI
text = "Ultralytics simplifies computer vision."
# Convert text to input IDs (numerical representations)
encoded_input = tokenizer(text, return_tensors="pt")
# Display the resulting token IDs
print(f"Token IDs: {encoded_input['input_ids']}")
L'introduzione di BERT ha segnato il "ImageNet " per l'NLP, dimostrando che il transfer learning, ovvero il pre-addestramento di un modello su un enorme set di dati e la sua successiva messa a punto per un compito specifico, era altamente efficace per il testo. Ciò ha ridotto la necessità di architetture specifiche per ogni compito e di grandi set di dati etichettati per ogni nuovo problema.
Oggi, varianti di BERT, come RoBERTa e DistilBERT, continuano a potenziare l'efficienza nelle applicazioni di intelligenza artificiale edge. Gli sviluppatori che desiderano creare soluzioni di intelligenza artificiale complete spesso integrano questi modelli linguistici insieme agli strumenti di visione disponibili sulla Ultralytics per creare sistemi in grado sia di vedere che di comprendere il mondo.