Encoder, decoder и encoder-decoder
Разбираем три семейства моделей и понимаем, какую выбрать под задачу.
Семейство модели определяется тем, какие части трансформера в ней есть: encoder, decoder или оба.
Три типа моделей
| Тип | Пример | Сильная сторона |
| encoder | BERT | понимание текста (классификация, NER) |
| decoder | GPT | генерация текста |
| encoder-decoder | T5 | преобразование текста (перевод, суммаризация) |
Encoder-модели (BERT)
Encoder читает весь текст сразу — каждый токен видит и левый, и правый контекст (двунаправленность). Это идеально для задач понимания: классификация, NER, QA. Но encoder не генерирует текст — он только строит представления.
[CLS] кошка спит на [MASK] [SEP]
| модель видит контекст с обеих сторон
v
предсказать [MASK] = "диване"Decoder-модели (GPT)
Decoder генерирует текст слева направо, видя только предыдущие токены (causal attention). Это нужно, чтобы при генерации модель не «подсматривала» в будущее. Decoder-модели — основа всех генеративных LLM (связь с курсом LLM).
машинное обучение это ?
модель видит только левую часть
-> предсказывает: "область"Encoder-decoder (T5)
Здесь encoder читает вход целиком, а decoder на его основе порождает выход. Идеально для задач «текст в текст»: перевод, суммаризация, перефразирование. Encoder «понимает» исходник, decoder «пишет» результат.
Как работает под капотом
Разница в маске внимания. У encoder маска полная — токен видит всех. У decoder маска каузальная: токен видит только себя и предыдущих (будущее закрыто). Encoder-decoder сочетает оба: encoder с полной маской, decoder с каузальной плюс «cross-attention» — внимание декодера к выходу encoder. Поэтому одна и та же базовая идея (attention) даёт три разных поведения.
Частые ошибки
- Брать BERT для генерации текста. Encoder не генерирует — нужен decoder.
- Брать GPT для классификации, когда хватает encoder. Это возможно, но encoder-модель часто точнее и дешевле.
- Путать суммаризацию (seq2seq) с генерацией. Для «текст в текст» естественнее encoder-decoder.
Итог
- Encoder (BERT) — понимание: классификация, NER, QA; видит контекст с обеих сторон.
- Decoder (GPT) — генерация; видит только прошлые токены (каузальная маска).
- Encoder-decoder (T5) — преобразование текста: перевод, суммаризация.
- Разницу задаёт маска внимания, а основа у всех — attention.