BERT (language model) (SV)
BERT (Bidirectional Encoder Representations from Transformers, dubbelriktade kodararepresentationer från transformers) — är en stor språkmodell (LLM) för förståelse av naturligt språk, utvecklad av forskare på Google och presenterad år 2018. BERT markerade en ny era inom bearbetning av naturligt språk (NLP) genom att uppvisa enastående prestanda på ett brett spektrum av uppgifter och etablerade paradigmet "förträning + finjustering" (pre-train & fine-tune) som industristandard.
BERTs viktigaste innovation är den djupt dubbelriktade arkitekturen, som gör det möjligt för modellen att ta hänsyn till ett ords kontext från både vänster och höger i alla nätverkslager simultaneously. Detta uppnås med hjälp av en ny förträningsuppgift — Masked Language Modeling (MLM).
Namn och arbetsprincip
Akronymen BERT står för Bidirectional Encoder Representations from Transformers.
- Bidirectional (Dubbelriktad): Anger modellens viktigaste egenskap — förmågan att bearbeta ett ords kontext i båda riktningarna (vänster till höger och höger till vänster) simultaneously. Till skillnad från enkelriktade modeller (som GPT), vilka vid bearbetning av ett ord bara ser föregående kontext, ser BERT hela sekvensen i sin helhet, vilket gör att den kan bilda en djupare och mer exakt förståelse av ordets betydelse.
- Encoder (Kodare): Innebär att BERT enbart använder den kodande delen av Transformer-arkitekturen. Kodarens uppgift är att läsa den inmatade textsekvensen och skapa en rik kontextuell representation (vektor) för varje token. BERT är inte avsett för fri textgenerering, som decoder-modeller.
- Representations (Representationer): Modellen tränas för att skapa högkvalitativa numeriska representationer (vektorer eller embeddings) för ord och meningar, vilka sedan kan användas för att lösa olika NLP-uppgifter.
- from Transformers: Anger att modellens arkitektur är helt baserad på Transformer.
Historik
Utvecklingen av BERT var resultatet av flera viktiga genombrott inom NLP:
- Kontextuella embeddings: Modeller som Word2vec och GloVe skapade statiska vektorer för ord utan att ta hänsyn till kontext. Modellen ELMo (2018) var ett steg framåt genom att generera kontextberoende representationer med hjälp av dubbelriktade LSTM-nätverk, men denna dubbelriktning var "ytlig" (en sammanslagning av två enkelriktade modeller).
- Transfer learning och GPT: I mitten av 2018 presenterade OpenAI modellen GPT, som demonstrerade effektiviteten hos förträning av en stor transformer-modell på omärkta data med efterföljande finjustering (fine-tuning) för specifika uppgifter. GPT var dock strikt enkelriktad (vänster till höger), vilket begränsade dess möjligheter i uppgifter som kräver förståelse av fullständig kontext.
Medvetna om dessa begränsningar utvecklade Googles forskare under ledning av Jacob Devlin BERT för att skapa en verkligt djupt dubbelriktad modell. Artikeln om BERT publicerades på arXiv i oktober 2018, och koden samt förtränade modeller gjordes tillgängliga som öppen källkod, vilket väckte ett explosivt intresse i det vetenskapliga samfundet. BERT slog rekord på 11 viktiga NLP-benchmark, inklusive GLUE och SQuAD, och kallades för NLP:s "ImageNet-ögonblick", eftersom en enda universell modell lätt kunde anpassas för ett flertal uppgifter.
Arkitektur
BERT är helt baserat på den kodande delen (encodern) av Transformer-arkitekturen. Den består av flera identiska lager staplade ovanpå varandra. Det finns två huvudversioner:
- BERT-Base: 12 lager, 12 attention-huvuden, dold tillståndsstorlek 768, totalt antal parametrar ~110 miljoner.
- BERT-Large: 24 lager, 16 attention-huvuden, dold tillståndsstorlek 1024, totalt antal parametrar ~340 miljoner.
Varje lager innehåller två huvuddellager:
- Mekanism för multi-head self-attention (Multi-Head Self-Attention): Gör det möjligt för varje token i indatasekvensen att "uppmärksamma" alla övriga tokens och vikta deras betydelse för att fastställa sitt eget kontextuella värde.
- Fullständigt kopplat neuralt nätverk (Feed-Forward Network): Appliceras på varje token separat.
Indata
För att fungera korrekt kräver BERT en speciell formatering av indata. Tokensekvensen som matas in börjar alltid med den speciella token `[CLS]` (classification), som används för uppgifter som klassificerar hela texten. Om ett par meningar matas in (t.ex. i fråge-svarssystem) separeras de av token `[SEP]` (separator).
Den slutliga representationen av varje token i indata är summan av tre embeddings:
- Token-embedding: En vektor som motsvarar en specifik token ur ordförrådet (BERT använder WordPiece-tokenisering).
- Segment-embedding: Anger vilken mening (den första eller den andra) som token tillhör.
- Positions-embedding: Anger tokenens position i sekvensen, eftersom Transformer-arkitekturen i sig inte tar hänsyn till ordordning.
Förträningsuppgifter
För att säkerställa djup dubbelriktning tränas BERT på två unika uppgifter simultaneously.
Masked Language Modeling (MLM)
Detta är BERTs viktigaste innovation. I stället för att förutsäga nästa ord, som i vanliga språkmodeller, förutsäger BERT slumpmässigt "maskerade" ord i en mening. Processen ser ut så här:
- Ur indatasekvensen väljs 15 % av tokens slumpmässigt.
- Av dessa 15 %:
- 80 % ersätts med den speciella token `[MASK]`.
- 10 % ersätts med en slumpmässig token ur ordförrådet.
- 10 % lämnas oförändrade.
- Modellens uppgift är att förutsäga de ursprungliga värdena för dessa 15 % tokens, baserat på deras omgivande (vänstra och högra) kontext.
Detta upplägg tvingar modellen att lära sig djupa semantiska och syntaktiska kopplingar mellan ord och gör den verkligt dubbelriktad.
Next Sentence Prediction (NSP)
Denna uppgift utvecklades för att lära BERT att förstå relationer mellan meningar, vilket är avgörande för uppgifter som fråge-svarssystem eller analys av textuell implikation (NLI). Modellen får ett par meningar (A och B) som indata och ska förutsäga om mening B är en logisk fortsättning på mening A.
- I 50 % av fallen är B verkligen nästa mening från originaltexten.
- I 50 % av fallen är B en slumpmässig mening hämtad från en annan plats i korpusen.
Senare forskning (t.ex. i modellen RoBERTa) visade att NSP-uppgiften är mindre viktig än MLM och kan avvaras till förmån för effektivare träningsupplägg, men i den ursprungliga BERT spelade den en viktig roll.
Användning och finjustering (Fine-Tuning)
BERTs styrka ligger i paradigmet för transfer learning. Efter den storskaliga och kostsamma förträningen på enorma korpusar (Wikipedia + BooksCorpus) kan den förtränade modellen enkelt och snabbt finjusteras (fine-tunas) för att lösa en specifik tillämpningsuppgift.
Finjusteringsprocessen ser vanligtvis ut så här: 1. Till den förtränade BERT-arkitekturen läggs ett litet, otränat uppgiftsspecifikt lager till (t.ex. en klassificerare för sentimentanalys). 2. Hela modellen (inklusive BERTs vikter och det nya lagret) tränas på en liten, märkt datamängd för den specifika uppgiften.
Exempel på uppgifter som BERT anpassas för:
- Textklassificering (sentimentanalys, skräppostfilter): En klassificerare läggs till utdata för token `[CLS]`.
- Fråge-svarssystem (t.ex. SQuAD): Modellen tränas att förutsäga start- och sluttokens för svaret i en given text.
- Igenkänning av namngivna entiteter (NER): En klassificerare läggs till varje tokens utdata för att avgöra om token är en del av ett namn, organisation, datum osv.
Varianter och härledda modeller
BERTs framgång ledde till uppkomsten av en hel familj av modeller baserade på dess idéer:
- RoBERTa (från Facebook AI): "Robust optimerad BERT". Det är inte en ny arkitektur, utan snarare resultatet av en mer noggrann och utdragen träning av BERT: på större datamängder, utan NSP-uppgiften och med dynamisk maskering. RoBERTa visade att den ursprungliga BERT var "undertränad" och överträffade den på alla viktiga benchmark.
- DistilBERT (från Hugging Face): En nedbantad version av BERT, skapad med hjälp av knowledge distillation-teknik. DistilBERT är 40 % mindre, 60 % snabbare och behåller 97 % av BERTs prestanda, vilket gör den idealisk för produktionsmiljöer och enheter med begränsade resurser.
- ALBERT (A Lite BERT, från Google): En version optimerad för att minska antalet parametrar. Använder två nyckeltekniker: faktorisering av embeddings och cross-layer parameter sharing. Detta möjliggör skapandet av mycket större modeller med färre parametrar.
- mBERT (Multilingual BERT): En version av BERT förtränad på 104 språk simultaneously. Visade en förvånansvärd förmåga till tvärs-språklig kunskapsöverföring.
- Domänspecifika modeller: Många modeller finjusterade på data från specifika områden, såsom BioBERT (biomedicin), SciBERT (vetenskapliga texter) och FinBERT (finans).
- ModernBERT (2024–2025): En ny generation BERT-liknande modeller från företagen Answer.AI och LightOn, som inkluderar moderna arkitekturförbättringar såsom RoPE (Rotary Position Embeddings) och stöd för längre kontexter (upp till 8 192 tokens), samtidigt som BERTs grundläggande principer bevaras.
Jämförelse med andra modeller
| Modell | Utvecklare | Arkitektur | Kontextriktning | Huvuduppgift |
|---|---|---|---|---|
| BERT | Encoder | Dubbelriktad | Textförståelse, klassificering, extraktion | |
| GPT | OpenAI | Decoder | Enkelriktad (vänster till höger) | Textgenerering, sekvensfortsättning |
| XLNet | Google / CMU | Autoregressiv (permutationsbaserad) | Dubbelriktad (i teorin) | Textförståelse (alternativ till MLM) |
| T5 | Encoder-Decoder | Dubbelriktad (encoder) + Enkelriktad (decoder) | Universell omvandling "text-till-text" |
Påverkan
BERT orsakade en verklig revolution inom NLP och lade grunden för många efterföljande utvecklingar:
- Befäste paradigmet "förträning + finjustering" som den dominerande ansatsen inom NLP.
- Bevisade vikten av djupt dubbelriktad kontext för språkförståelse.
- Sänkte tröskeln för att skapa högpresterande NLP-system, eftersom forskare och utvecklare inte längre behövde bygga komplexa arkitekturer från grunden för varje uppgift.
- Integrerades i Google Sök, vilket blev en av sökmotorns största uppdateringar genom tiderna och tydligt demonstrerade modellens praktiska nytta.
- Skapade ett helt ekosystem av härledda modeller, verktyg och forskning ("BERTology"), och blev ett av de mest citerade arbetena inom AI.
Trots att nyare och större modeller, såsom GPT-3 och GPT-4, har överträffat BERT på många benchmark (särskilt i generativa uppgifter), förblir BERT och dess varianter fortfarande ett kraftfullt och flitigt använt verktyg för uppgifter som kräver djup textförståelse.
Hänvisningar
- Officiellt BERT-förråd på GitHub
- Tillkännagivande av BERT på Google AI-bloggen
- The Illustrated BERT — visuell förklaring av BERT-arkitekturen
Litteratur
- Devlin, J. et al. (2019). BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. arXiv:1810.04805.
- Vaswani, A. et al. (2017). Attention Is All You Need. arXiv:1706.03762.
- Peters, M. E. et al. (2018). Deep Contextualized Word Representations. arXiv:1802.05365.
- Liu, Y. et al. (2019). RoBERTa: A Robustly Optimized BERT Pretraining Approach. arXiv:1907.11692.
- Lan, Z. et al. (2020). ALBERT: A Lite BERT for Self-supervised Learning of Language Representations. arXiv:1909.11942.
- Sanh, V. et al. (2020). DistilBERT, a distilled version of BERT: smaller, faster, cheaper and lighter. arXiv:1910.01108.
- Yang, Z. et al. (2019). XLNet: Generalized Autoregressive Pretraining for Language Understanding. arXiv:1906.08237.
- Raffel, C. et al. (2020). Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer. arXiv:1910.10683.
- Lee, J. et al. (2020). BioBERT: a pre-trained biomedical language representation model for biomedical text mining. arXiv:1901.08746.
- Warner, B. et al. (2024). Smarter, Better, Faster, Longer: A Modern Bidirectional Encoder for Fast, Memory Efficient, and Long Context Finetuning and Inference. arXiv:2412.13663.