В чём отличие 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 предсказывает следующий токен, что делает его пригодным для генерации текста.