Обработка естественного языка

BERT

BERT

актуальноТекущий рабочий стандарт

Двунаправленный энкодер, предобученный на восстановлении замаскированных токенов.

Ключевые тезисы

  • Видит контекст с обеих сторон, что критично для понимания смысла.
  • Дообучение с небольшой головой решает классификацию, NER и QA.
  • Дистиллированные версии (DistilBERT, RuBERT-tiny) удобны для прода.
Тема также относится к главам:Глубокое обучениеАрхитектуры

Подробный разбор

2 подтем — раскройте любую, чтобы увидеть объяснение, формулы, примеры и интерактивные графики.

1

Masked Language Modeling

Как обучить двунаправленную модель, не дав ей списать ответ.

Если модель видит контекст с обеих сторон, предсказывать следующее слово бессмысленно — оно уже видно. Поэтому 15% токенов маскируются, и задача — восстановить именно их.

  • Из этих 15%: 80% заменяются на [MASK], 10% на случайный токен, 10% остаются нетронутыми — чтобы модель не полагалась на наличие маски.
  • Токен [CLS] агрегирует представление всего текста и используется для классификации.
  • NSP (предсказание следующего предложения) в поздних работах признали малополезным; RoBERTa от него отказалась.
На практике

Для русского языка есть ruBERT, ruRoBERTa и лёгкие дистиллированные версии (rubert-tiny), которые работают на CPU с приемлемой скоростью.

2

Практика применения

Классификация, эмбеддинги и типичные ошибки.

  • Для классификации берут выход [CLS] и линейный слой поверх.
  • Для эмбеддингов не берите сырой [CLS] — он плохо приспособлен для косинусной близости; используйте mean pooling или модели, обученные контрастно (E5, SBERT).
  • Максимальная длина — 512 токенов; длинные документы режут на окна или берут Longformer.
  • Дообучение обычно 2–4 эпохи с lr ; больше почти всегда ведёт к переобучению.
emb = model(**tokens).last_hidden_state          # (B, L, H)
mask = tokens["attention_mask"].unsqueeze(-1)
sent = (emb * mask).sum(1) / mask.sum(1)         # mean pooling с учётом паддинга
Правильный mean pooling игнорирует токены-заполнители

Связанные темы

Прикладные задачи NLP · Внимание и трансформеры

Attention85%

Механизм внимания · Глубокое обучение

Каждая позиция смотрит на все остальные и взвешивает их по релевантности — прямой доступ к контексту без рекуррентности.

Transformers85%

Трансформеры · Глубокое обучение

Архитектура целиком на внимании: параллельная обработка последовательности вместо пошаговой.

Attention85%

Внимание в NLP · Обработка естественного языка

Изначально придумано, чтобы декодер перевода мог смотреть на нужные слова исходного предложения.

Transformers85%

Трансформеры в NLP · Обработка естественного языка

Основа всех современных языковых моделей: encoder, decoder или их комбинация.

GPT85%

GPT · Обработка естественного языка

Авторегрессионный декодер: предсказывает следующий токен, что оказалось достаточно универсальной задачей.

Vision Transformers85%

Vision Transformers · Компьютерное зрение

Изображение режется на патчи, которые обрабатываются как последовательность токенов.

Transformer forecasting85%

Трансформеры для прогноза · Временные ряды

Внимание над длинными горизонтами: Informer, Autoformer, PatchTST, TFT.

LLM85%

Большие языковые модели · Генеративный ИИ

Трансформеры-декодеры, обученные на огромных корпусах предсказывать следующий токен.

Text classification75%

Классификация текстов · Обработка естественного языка

Отнесение документа к одной или нескольким категориям: от спам-фильтра до маршрутизации тикетов.

NER75%

Извлечение именованных сущностей · Обработка естественного языка

Разметка последовательности: находим в тексте имена, организации, даты, суммы.

Sentiment Analysis75%

Анализ тональности · Обработка естественного языка

Определение эмоциональной окраски текста — от бинарной оценки до аспектной тональности.

Embeddings75%

Эмбеддинги · Обработка естественного языка

Плотные векторные представления объектов, где геометрическая близость означает смысловое сходство.

F175%

F1-мера · Метрики

Гармоническое среднее точности и полноты — компромисс между ними одним числом.

Precision75%

Точность · Метрики

Какая доля объектов, предсказанных положительными, действительно положительна.

Recall75%

Полнота · Метрики

Какая доля реально положительных объектов найдена моделью.