Encoder vs Decoder

Два режима трансформера, различающиеся направлением attention: encoder (bidirectional, «понимание» — BERT) и decoder (causal, «генерация» — GPT/Claude). Третий тип — encoder-decoder (T5, BART) — совмещает оба через cross-attention.

Суть

Свойство Encoder (BERT) Decoder (GPT/Claude)
Attention bidirectional (видит всё) causal (только прошлое)
Задача обучения заполнить [MASK] (MLM) предсказать следующий токен
Выход векторы (понимание) токены (генерация)
Применение embeddings, классификация диалог, генерация

Зачем это нужно

Объясняет, почему для RAG-эмбеддингов берут потомков BERT, а для генерации — GPT/Claude, и почему decoder-only «победили» в эпоху чат-моделей. Термины обманчивы: encoder ≈ «Understander» (текст → смысл-вектор), decoder ≈ «Generator» (смысл → текст); названия пришли из машинного перевода 2017.

Как работает

  • Encoder (BERT, 2018): предобучение через MLM — маскируют 15% токенов, модель угадывает их. Парадигма pretrain + fine-tune, контекстные эмбеддинги («банк» в разных контекстах = разные векторы).

Маска нужна не для того, чтобы «заставить смотреть в обе стороны»

Объяснение «маска заставляет использовать контекст с обеих сторон» описывает следствие, а не причину, и из него не выводится, зачем маскировать вообще. Довод первоисточника обратный: двунаправленное обусловливание позволило бы каждому слову косвенно «увидеть само себя» через слои, и задача предсказания стала бы тривиальной. Маска не добавляет двунаправленности — она делает двунаправленную задачу нетривиальной.

Отсюда же побочный дефект и приём, которым его гасят. Токен [MASK] есть на предобучении и отсутствует на дообучении — расхождение между режимами обучения и применения. Лечится тем, что из отобранных 15% токенов только 80% заменяются на [MASK], 10% — на случайный токен и 10% остаются нетронутыми. Смысл в том, что кодировщик не знает заранее, какой токен окажется заменён, и вынужден держать контекстное представление для каждого.

  • Decoder-only: causal mask (см. Attention), next-token prediction; универсальность через промпты, in-context learning, эмерджентные способности при масштабе (см. Emergent Abilities).
  • Encoder-decoder (T5, BART): для «текст→текст» (перевод, суммаризация); сейчас нишевые — decoder-only достаточного размера справляются через промпты.
  • Потомки BERT для embedding-моделей RAG: all-MiniLM-L6-v2, bge-large, e5, text-embedding-3, nomic-embed-text.

Связано с

  • Transformer — общая архитектура для обоих режимов
  • Attention — bidirectional vs causal — это про маску attention
  • RAG — embedding-модели (encoder) + генератор (decoder) работают вместе
  • LLM Training Stages — MLM vs next-token как задачи предобучения