XYZNOT

Paper · arXiv 1810.04805

BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

Veröffentlicht cs.CL arXivPDF

Mit Übersetzung und KI lesen

Zusammenfassung in drei Zeilen

  1. 🎯 Standardmäßiges Pre-training von Sprachmodellen ist durch unidirektionalen (Links-nach-Rechts-)Kontext beschränkt, was für Aufgaben auf Satzebene suboptimal und für Token-Ebene-Aufgaben wie Fragebeantwortung schädlich ist.
  2. 🔧 Führt BERT ein, das einen mehrschichtigen bidirektionalen Transformer-Encoder mittels eines Masked Language Model (Cloze)-Ziels und Next Sentence Prediction vortrainiert.
  3. 📈 Erzielte State-of-the-Art-Ergebnisse bei 11 NLP-Aufgaben, einschließlich eines GLUE-Scores von 80,5 (+7,7 Punkte absolut) und 86,7 % Genauigkeit auf MultiNLI (+4,6 % absolut).

Abstract

Wir stellen ein neues Sprachrepräsentationsmodell namens BERT vor, was für Bidirectional Encoder Representations from Transformers steht. Im Gegensatz zu neueren Sprachrepräsentationsmodellen ist BERT darauf ausgelegt, tiefe bidirektionale Repräsentationen aus unbeschriftetem Text vorzutrainieren, indem in allen Schichten gemeinsam auf den linken und rechten Kontext konditioniert wird. Infolgedessen kann das vorab trainierte BERT-Modell mit nur einer zusätzlichen Ausgabeschicht feinabgestimmt werden, um State-of-the-Art-Modelle für ein breites Spektrum von Aufgaben wie Fragebeantwortung und Sprachinferenz zu erstellen, ohne dass wesentliche aufgabenspezifische Architekturmodifikationen erforderlich sind. BERT ist konzeptionell einfach und empirisch leistungsstark. Es erzielt neue Bestwerte bei elf Aufgaben der natürlichen Sprachverarbeitung, darunter eine Steigerung des GLUE-Scores auf 80,5 % (7,7 Prozentpunkte absolute Verbesserung), der MultiNLI-Genauigkeit auf 86,7 % (4,6 % absolute Verbesserung), des SQuAD v1.1 Fragebeantwortungs-Test-F1 auf 93,2 (1,5 Punkte absolute Verbesserung) und des SQuAD v2.0 Test-F1 auf 83,1 (5,1 Punkte absolute Verbesserung).

Original-Abstract (Englisch)

We introduce a new language representation model called BERT, which stands for Bidirectional Encoder Representations from Transformers. Unlike recent language representation models, BERT is designed to pre-train deep bidirectional representations from unlabeled text by jointly conditioning on both left and right context in all layers. As a result, the pre-trained BERT model can be fine-tuned with just one additional output layer to create state-of-the-art models for a wide range of tasks, such as question answering and language inference, without substantial task-specific architecture modifications. BERT is conceptually simple and empirically powerful. It obtains new state-of-the-art results on eleven natural language processing tasks, including pushing the GLUE score to 80.5% (7.7% point absolute improvement), MultiNLI accuracy to 86.7% (4.6% absolute improvement), SQuAD v1.1 question answering Test F1 to 93.2 (1.5 point absolute improvement) and SQuAD v2.0 Test F1 to 83.1 (5.1 point absolute improvement).

Leseleitfaden

Problem und Motivation

Bisherige Sprachrepräsentationsmodelle stützten sich entweder auf merkmalsbasierte Ansätze (wie ELMo) oder Fine-Tuning-Ansätze (wie OpenAI GPT). Obwohl effektiv, waren beide Paradigmen durch unidirektionale Sprachmodellierungsziele eingeschränkt: Standardmäßige autoregressive Modelle verarbeiten Text strikt von links nach rechts (oder von rechts nach links). In unidirektionalen Modellen können Tokens in Self-Attention-Schichten nur auf vorherige Tokens zugreifen, um zu verhindern, dass Wörter sich über mehrschichtige Kontexte hinweg trivial "selbst sehen". ELMo versuchte Bidirektionalität durch flaches Konkatenieren separat trainierter Links-nach-Rechts- und Rechts-nach-Links-LSTMs zu erreichen, was jedoch eine tiefe, gemeinsame Konditionierung auf den bidirektionalen Kontext in jeder Schicht verfehlt. Diese Unidirektionalität limitiert Repräsentationen auf Satzebene und ist besonders nachteilig für Downstream-Aufgaben auf Token-Ebene wie Question Answering, bei denen das gleichzeitige Verstehen des linken und rechten Kontexts essenziell ist.

Kernideen

  • Tiefe bidirektionale Transformer-Architektur: BERT nutzt einen mehrschichtigen bidirektionalen Transformer-Encoder, der es Self-Attention-Schichten ermöglicht, über alle Schichten hinweg gemeinsam auf den linken und rechten Kontext zu konditionieren.
  • Masked Language Model (MLM): Inspiriert von der Cloze-Aufgabe maskiert BERT zufällig 15 % der Eingabe-Tokens und trainiert das Modell darauf, die maskierten Tokens anhand ihres Kontexts vorherzusagen, wodurch das Problem des trivialen "Sich-selbst-Sehens" gelöst wird.
  • Milderung der Pre-train/Fine-tune-Diskrepanz: Da [MASK]-Tokens während des Fine-Tunings nicht vorkommen, werden die ausgewählten 15 % der Tokens zu 80 % durch [MASK] ersetzt, zu 10 % durch ein zufälliges Token und zu 10 % unverändert gelassen.
  • Next Sentence Prediction (NSP): Um Beziehungen zwischen Satzpaaren zu erfassen, die für Natural Language Inference (NLI) und Question Answering (QA) entscheidend sind, wird BERT auf einer binarisierten Aufgabe vortrainiert, die vorhersagt, ob Satz natürlicherweise auf Satz folgt () oder ein zufälliger Satz aus dem Korpus ist ().
  • Einheitliche Architektur für Downstream-Aufgaben: Die exakt gleiche vortrainierte Architektur wird für Downstream-Aufgaben mit minimalen zusätzlichen Parametern wiederverwendet (z. B. ein einfacher linearer Klassifikationskopf oder Start-/End-Span-Zeiger).

Methode

Modellkonfiguration

BERT wird primär in zwei Größen evaluiert:

  • : Schichten, Hidden-Dimension, Attention-Köpfe, Gesamtzahl der Parameter = .
  • : Schichten, Hidden-Dimension, Attention-Köpfe, Gesamtzahl der Parameter = . Die Feed-Forward-Filtergrößen betragen .

Eingabe- und Ausgaberepräsentationen

Eingaben können eine einzelne Textsequenz oder ein zusammengepacktes Satzpaar darstellen. Embeddings werden konstruiert durch die Summation von:

  1. WordPiece-Token-Embeddings (30.000 Token-Vokabular).
  2. Segment-Embeddings (gelerntes Embedding, das identifiziert, ob ein Token aus Satz oder Satz stammt).
  3. Gelernten Positions-Embeddings.

Jede Sequenz beginnt mit [CLS]. Dessen finaler Hidden-Vektor repräsentiert das Sequenzaggregat. Satzpaare werden durch [SEP] getrennt. Finale Token-Hidden-Repräsentationen werden als bezeichnet.

Pre-training-Ziele

  1. Masked LM: Für ein maskiertes Token wird die Repräsentation in ein Softmax über das Vokabular mit Cross-Entropy-Verlust eingespeist:
  2. Next Sentence Prediction: Der aggregierte Vektor wird einer binären Klassifikation zugeführt: Der gesamte Pre-training-Verlust ist die Summe der mittleren Masked-LM-Likelihood und der mittleren Next-Sentence-Prediction-Likelihood.

Fine-Tuning-Anpassungen

  • Klassifikation (GLUE): Hinzufügen einer Projektionsmatrix ; der Verlust wird berechnet als .
  • Span-Extraktion (SQuAD v1.1): Lernen eines Startvektors und eines Endvektors . Die Wahrscheinlichkeit, dass Token der Beginn der Antwortspanne ist, beträgt: Der Score für die Spanne ist , maximiert über .
  • Unbeantwortbare Fragen (SQuAD v2.0): Erweitert, indem das [CLS]-Token als Null-Antwortspanne dienen kann, mit dem Score , wobei eine Nicht-Null-Antwort nur vorhergesagt wird, wenn .

Ergebnisse

BERT wurde über 11 NLP-Aufgaben hinweg evaluiert:

  • GLUE-Leaderboard: erzielte einen durchschnittlichen GLUE-Score von 80,5 % (eine absolute Verbesserung von 7,7 % gegenüber dem bisherigen State of the Art) und 86,7 % Genauigkeit auf MNLI (ein absoluter Zuwachs von 4,6 %).
  • SQuAD v1.1: erreichte als Einzelmodell 84,1 EM und 90,9 F1 auf dem Dev-Set; ein Ensemble mit TriviaQA-Pre-training erreichte 87,4 EM und 93,2 F1 auf dem Test-Set und übertraf damit die menschliche Leistung (82,3 EM / 91,2 F1).
  • SQuAD v2.0: erreichte 80,0 EM und 83,1 F1 auf dem Test-Set und übertraf das bisherige Spitzensystem um +5,1 F1.
  • SWAG: erreichte 86,3 % Genauigkeit auf dem Test-Set und übertraf damit OpenAI GPT (78,0 %) sowie die menschliche Experten-Baseline (85,0 %).
  • Ablations-Erkenntnisse: Das Entfernen von NSP verschlechterte die Leistung bei MNLI (-0,5 %), QNLI (-3,5 %) und SQuAD F1 (-0,6 %). Das Ersetzen von MLM durch ein Standard-Left-to-Right-(LTR-)LM führte zu starken Einbrüchen bei SQuAD (-10,7 F1) und MRPC (-9,2 % Genauigkeit).

Limitationen und offene Fragen

  • Diskrepanz zwischen Pre-train und Fine-tune: Das künstliche [MASK]-Token taucht während des Fine-Tunings nie auf, was heuristische Ersetzungsregeln (80/10/10) erfordert, um die Diskrepanz abzumildern.
  • Effizienz des Pre-trainings: Da BERT pro Batch nur 15 % der Tokens vorhersagt statt 100 % der Tokens wie bei herkömmlichen autoregressiven Modellen, benötigt es mehr Pre-training-Schritte (1.000.000 Schritte mit 128.000 Tokens/Batch) zur Konvergenz.
  • Quadratischer Attention-Flaschenhals: Die standardmäßige Transformer-Attention skaliert quadratisch () mit der Sequenzlänge, was lange Sequenzen rechenintensiv macht und eine zweiphasige Pre-training-Strategie erforderlich machte (90 % der Schritte bei Sequenzlänge 128, 10 % der Schritte bei 512).
  • Nichtanwendbarkeit auf Textgenerierung: Als bidirektionaler Encoder ist BERT direkt auf Repräsentations- und diskriminative Downstream-Aufgaben ausgelegt und kann ohne architektonische Modifikationen keine autoregressive Links-nach-Rechts-Generierung durchführen.

Schlüsselbegriffe

Masked Language Model (MLM)
Ein von der Cloze-Aufgabe inspiriertes Pre-training-Ziel, bei dem zufällige Eingabe-Tokens durch eine Maske ersetzt werden und das Modell trainiert wird, das ursprüngliche Token aus dem tiefen bidirektionalen Kontext zu rekonstruieren.
Next Sentence Prediction (NSP)
Eine binarisierte Pre-training-Aufgabe, bei der das Modell vorhersagt, ob ein gegebenes zweites Satzsegment logisch auf das erste Segment folgt oder zufällig aus dem Korpus gezogen wurde.
[CLS]
Ein spezielles Klassifikationstoken am Anfang jeder Sequenz, dessen finaler Hidden State als aggregierte Sequenzrepräsentation für Klassifikationsaufgaben verwendet wird.
[SEP]
Ein spezielles Token zur Trennung nicht aufeinanderfolgender oder unterschiedlicher Satzsegmente innerhalb einer einzelnen gepackten Eingabesequenz.
WordPiece
Ein von BERT verwendeter Subword-Tokenisierungsalgorithmus mit einem Vokabular von 30.000 Tokens, um Out-of-Vocabulary-Wörter zu behandeln und Wörter in Subeinheiten zu zerlegen.
Segment Embeddings
Gelernte Embeddings, die zu den Eingabe-Token-Embeddings addiert werden, um in gepackten Paaren zu unterscheiden, ob ein Token zu Satzspanne A oder Satzspanne B gehört.
Fine-tuning
Die Downstream-Trainingsstrategie, bei der alle vortrainierten BERT-Parameter zusammen mit minimalen aufgabenspezifischen Ausgabeschichten unter Verwendung gelabelter Daten End-to-End aktualisiert werden.
Feature-based approach
Eine alternative Strategie, bei der feste kontextuelle Repräsentationen aus BERT-Schichten extrahiert werden, ohne dessen Parameter zu aktualisieren, und anschließend in separate aufgabenspezifische Architekturen eingespeist werden.

Fragen

Warum ersetzt BERT maskierte Tokens durch zufällige Tokens oder behält sie unverändert, anstatt immer [MASK] zu verwenden?

Da das [MASK]-Token während des Fine-Tunings nie auftritt, würde das Ersetzen jedes Ziel-Tokens durch [MASK] eine Diskrepanz zwischen Pre-training und Fine-Tuning erzeugen. BERT mildert dies ab, indem ausgewählte Tokens zu 80 % durch [MASK], zu 10 % durch ein zufälliges Token und zu 10 % durch das unveränderte Original-Token ersetzt werden, was das Modell zwingt, eine verteilte Repräsentation aller Tokens beizubehalten.

Was ist der Unterschied zwischen BERT und OpenAI GPT?

Obwohl beide Transformer-basierte Fine-Tuning-Modelle sind, verwendet OpenAI GPT einen Links-nach-Rechts-Transformer-Decoder, bei dem die Attention so eingeschränkt ist, dass jedes Token nur auf vorherige Tokens achten kann. BERT verwendet einen bidirektionalen Transformer-Encoder, bei dem die Attention in allen Schichten sowohl über den linken als auch über den rechten Kontext operiert, ermöglicht durch das Trainingsziel des Masked Language Model.

Kann BERT als Feature-Extraktor verwendet werden, anstatt End-to-End feinabgestimmt zu werden?

Ja. Bei der Named-Entity-Recognition-Aufgabe CoNLL-2003 erzielte das Extrahieren und Konkatenieren von Token-Aktivierungen aus den obersten vier Hidden-Schichten von BERT und deren Einspeisung in ein zweischichtiges BiLSTM 96,1 Dev-F1, nur 0,3 F1 hinter dem vollständigen Fine-Tuning des gesamten Modells (96,4 F1).

Warum verwendete BERT einen zweiphasigen Pre-training-Zeitplan für die Sequenzlänge?

Die Rechenkomplexität der Self-Attention ist quadratisch zur Sequenzlänge. Um Rechenzeit zu sparen, wurde BERT für die ersten 900.000 Schritte (90 % des Trainings) mit einer Sequenzlänge von 128 vortrainiert und anschließend für die verbleibenden 100.000 Schritte mit einer Sequenzlänge von 512 trainiert, um die Positions-Embeddings zu lernen.

Die Übersicht auf dieser Seite wurde von einer KI aus dem Paper erstellt und kann Fehler enthalten. Details stehen im Paper.

Mit Übersetzung und KI lesen