В чём отличие BERT от GPT?

BERT (Bidirectional Encoder Representations from Transformers) и GPT (Generative Pre-trained Transformer) — две фундаментальные архитектуры в области обработки естественного языка, основанные на трансформерах, но с ключевыми отличиями в архитектуре, принципах обучения и применении.

Архитектура: Энкодер vs Декодер

BERT: Только энкодер

  • Основан на энкодерной части трансформеров (Transformer Encoder).

  • Каждый токен видит весь контекст слева и справа одновременнобидирекциональность.

  • Использует self-attention, где каждый токен обращает внимание на все остальные, включая те, что следуют за ним.

GPT: Только декодер

  • Основан на декодерной части трансформеров (Transformer Decoder).

  • Каждый токен видит только левый контекст, то есть предыдущие токены (каузальное внимание, masked attention).

  • Строит текст по порядку, один токен за другим.

Компонент BERT GPT
Основа Transformer Encoder Transformer Decoder
--- --- ---
Направленность Бидирекционный Левосторонний (каузальный)
--- --- ---
Применение Понимание текста Генерация текста
--- --- ---

Метод предобучения

BERT: Masked Language Modeling (MLM)

  • 15% токенов во входном тексте случайным образом заменяются на [MASK], и модель обучается восстанавливать эти токены по всему контексту.

  • Также использовалась задача Next Sentence Prediction (NSP): модель определяет, следует ли одно предложение за другим.

Пример входа для MLM:

"Мой [MASK] любит гулять" → [MASK] = "кот"

GPT: Causal Language Modeling (CLM)

  • Модель обучается предсказывать следующий токен на основе предыдущих.

  • Никакие токены справа не видны.

  • Используется для автогерерации текста: «продолжи предложение».

Пример входа для CLM:

"Мой кот любит" → модель должна предсказать "гулять"

Обучение BERT (MLM) GPT (CLM)
Тип задачи Восстановление замаскированных токенов Предсказание следующего токена
--- --- ---
Контекст Полный (лево + право) Только левый (каузальный)
--- --- ---

Применение

BERT — понимание текста

  • Классификация текста

  • Named Entity Recognition (NER)

  • Sentiment Analysis

  • Вопросно-ответные системы (Question Answering)

  • Semantic search

GPT — генерация текста

  • Диалоговые системы

  • Текстовая генерация

  • Перевод

  • Summarization

  • Code generation

Назначение BERT GPT
Основной сценарий Понимание (understanding) Генерация (generation)
--- --- ---
Инференс Не используется [MASK] Автогенерация по токену
--- --- ---

Размер и структура

Характеристика BERT-base GPT-2
Слои (Layers) 12 12
--- --- ---
Attention Heads 12 12
--- --- ---
Hidden Size 768 768
--- --- ---
Параметров 110 млн 117 млн
--- --- ---
Позиционные эмбеддинги Learnable Learnable
--- --- ---
Архитектура Энкодер Декодер
--- --- ---

Поведение в задачах

Контекстное представление

  • BERT строит богатое представление каждого токена, учитывая его окружение с обеих сторон.

  • GPT — каждое представление токена формируется только на основе левого контекста.

Пример:

Фраза: "банк"

  • В BERT слово «банк» в контексте «на берегу реки» и «финансовое учреждение» будет иметь разные эмбеддинги, потому что модель видит весь контекст.

  • В GPT — тоже может быть различие, но модель формирует представление только по уже прочитанному тексту.

Fine-tuning (дообучение)

BERT

  • Фиксированная длина входа, чаще до 512 токенов.

  • Вектор [CLS] используется для классификации.

  • Предобученную модель дообучают на конкретной задаче с добавлением простой головы (например, linear classifier).

GPT

  • Дообучается на диалогах, ответах, инструкциях.

  • Может быть легко использован для in-context learning, то есть понимания инструкции в самом вводе без обновления весов модели.

Развитие

Архитектура Потомки / Улучшения
BERT RoBERTa, ALBERT, SpanBERT
--- ---
GPT GPT-2, GPT-3, GPT-4
--- ---
  • RoBERTa — улучшает BERT за счёт убирания NSP и более агрессивного обучения.

  • ALBERT — уменьшает параметры BERT с помощью параметрического шаринга.

  • GPT-3/4 — масштабируют GPT до сотен миллиардов параметров и внедряют возможности обучения по контексту (in-context learning).

Сравнение по ключевым аспектам

Аспект BERT GPT
Основной модуль Энкодер Декодер
--- --- ---
Направленность Бидирекциональная Левосторонняя (каузальная)
--- --- ---
Стратегия обучения Masked Language Modeling Causal Language Modeling
--- --- ---
Использование [MASK] Да (только при обучении) Нет
--- --- ---
Предназначение Понимание текста Генерация текста
--- --- ---
Fine-tuning подход Добавление головы на [CLS] Дообучение или in-context learning
--- --- ---
Примеры задач Классификация, QA, NER Генерация, чат-боты, перевод
--- --- ---
Популярные улучшения RoBERTa, ALBERT GPT-2, GPT-3, GPT-4
--- --- ---

Таким образом, основное отличие между BERT и GPT заключается в направленности и цели: BERT обучается восстанавливать маскированные слова на основе двунаправленного контекста, что делает его отличным для задач понимания, а GPT предсказывает следующий токен, что делает его пригодным для генерации текста.