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. Два подхода:
- Feature-based — ELMo: контекстные эмбеддинги из bi-LM, подаются в downstream-модель;
- Fine-tune — GPT: pre-trained Transformer, все веса обновляются на задаче.
Ограничение 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). Две конфигурации:
- BERTBASE — L=12, H=768, A=12, ~110M params (аналог GPT);
- BERTLARGE — L=24, H=1024, A=16, ~340M params.
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. Эксперименты
| Benchmark | BERTBASE | BERTLARGE | Prev SOTA |
|---|---|---|---|
| GLUE (avg) | — | 80.5 | 75.1 |
| SQuAD v1.1 (F1) | 88.5 | 93.2 | 91.6 |
| SQuAD v2.0 (F1) | — | 83.1 | 78.7 |
| SWAG | — | 86.3 | 75.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.