История LLM · BERT · Paper · 2018 11 октября 2018 · 28 мин чтения

BERT
на русском

Перевод Google (2018): bidirectional encoder, masked LM, next sentence prediction — как появилось «понимание» текста до GPT-эры.

Оригинал: Devlin et al., «BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding», NAACL 2019 · arXiv:1810.04805 · Google AI Language.

Аннотация

Мы представляем новый языковой представлений-модель — BERT (Bidirectional Encoder Representations from Transformers). В отличие от предыдущих моделей, BERT обучается двунаправленно на объединённой задаче masked language model (MLM) и next sentence prediction (NSP). После pre-training достаточно одного дополнительного выходного слоя для fine-tune — и BERT устанавливает SOTA на 11 задачах NLP, включая GLUE (80.5%), MultiNLI (86.7%), SQuAD v1.1 (93.2 F1). Конtrast: OpenAI GPT использует unidirectional (left-to-right) Transformer; BERT показывает, что глубокое bidirectional обучение критично для понимания языка.

1. Введение

Pre-training языковых представлений, затем fine-tune — de facto стандарт NLP. Два подхода:

Ограничение GPT и аналогов: языковая модель по определению unidirectional — токен t видит только t−1…1. Для NLU (классификация, NLI, QA) нужен контекст слева и справа. Masked LM (Taylor 1953; Devlin et al.) маскирует часть токенов и предсказывает их по двустороннему контексту — но до BERT это не масштабировали на глубокий Transformer.

2. Метод

2.1 Архитектура

BERT — encoder-only Transformer (как в «Attention Is All You Need», без decoder). Две конфигурации:

Input representation = sum of token embeddings + segmentation embeddings + position embeddings. Специальные токены: [CLS] для classification, [SEP] для разделения пар предложений.

2.2 Pre-training tasks

Masked LM (MLM): случайно маскируется 15% WordPiece-токенов. Из них: 80% → [MASK], 10% → случайный токен, 10% — без изменений (снижает mismatch train/fine-tune).

Next Sentence Prediction (NSP): для пар (A, B) модель предсказывает, следует ли B непосредственно за A в исходном документе. 50% positive, 50% random — учит связям на уровне документа (важно для QA и NLI).

2.3 Данные

BooksCorpus (800M слов) + English Wikipedia (2.5B слов). Обучение: 1M steps, batch 256 sequences, seq length 512, Adam, learning rate warmup 10k steps, max lr 1e-4.

3. Fine-tuning

Для каждой downstream-задачи — та же BERT + task-specific layer за один forward pass. Представление [CLS] → classification; для token-level задач (NER, QA) — выход каждого token. Гиперпараметры fine-tune: batch 16–32, lr 2e-5…5e-5, 2–4 epochs. Добавляются task inputs без изменения pre-trained весов (кроме fine-tune).

4. Эксперименты

BenchmarkBERTBASEBERTLARGEPrev SOTA
GLUE (avg)—80.575.1
SQuAD v1.1 (F1)88.593.291.6
SQuAD v2.0 (F1)—83.178.7
SWAG—86.375.0

Ablation: без NSP — просадка на QA; без MLM bidirectionality (left-only) — −1.7 GLUE. BERTLARGE > BERTBASE на всех задачах — масштаб encoder помогает пониманию.

5. Заключение

BERT показал, что bidirectional pre-training на Transformer-encoder даёт универсальные представления текста. Это параллельная ветка к GPT (decoder, generation): encoder → понимание и классификация; decoder → генерация. RoBERTa, ALBERT, DeBERTa развивают рецепт; GPT-3 позже покажет, что generation-масштаб тоже покрывает многие NLU-задачи через prompting.


Коротко

BERT (2018) — bidirectional encoder + MLM + NSP. Fine-tune вместо feature engineering. Дальше по хронологии: GPT-3 paper · История LLM.

История LLMBERTPaper2018