Decoder — это часть модели, которая отвечает за генерацию. Он превращает внутренние представления в связанный текст, выбирая токены один за другим.
Короткое определение
Decoder — это блок модели Transformer, который использует результат encoder или собственный контекст, чтобы пошагово генерировать новую текстовую последовательность.
Подробное объяснение
Decoder работает по принципу autoregressive генерации: он выбирает следующий токен с учётом уже созданных слов и всей доступной информации. Благодаря этому модель способна формировать связный поток текста.
В отличие от encoder, decoder использует два вида внимания: — self-attention к собственной генерируемой последовательности, — cross-attention к выходам encoder. Это позволяет учитывать и текущий контекст, и исходный текст.
Decoder повторяет свою работу слой за слоем, уточняя представления и улучшая качество ответа. Каждый слой получает информацию о том, какие токены модель уже создала, и выбирает следующий шаг.
Современные языковые модели — GPT, Claude, Llama — используют decoder-only архитектуру: они могут работать без encoder, используя длинный контекст и self-attention для анализа входного текста.
Decoder определяет стиль, структуру, плавность текста, корректность рассуждений и способность модели следовать инструкции.
Примеры использования
- Генерация текста в чат-ботах и ассистентах.
- Автодополнение предложений и подсказки.
- Машинный перевод в паре encoder–decoder.
- Создание описаний, сценариев и статей.
- Генерация кода и технических текстов.
- Работа моделей decoder-only: GPT, Llama.
Связанные термины
- Transformer
- Self-attention
- Cross-attention
- LLM
- Encoding