Назад к подготовке
ВопросСредняяnlp-deep-learningСкрининг · Wisebits / xHamster

Transformers против RNN в NLP

Слышали ли вы про модели transformers? Чем они отличаются от RNN и почему они популярны в NLP?

Ответить самому

Сначала сформулируйте ответ как на собеседовании, затем откройте разбор и оцените себя.

Загрузка

Короткий ответ

RNN обрабатывает sequence последовательно через hidden state. Transformer использует self-attention: токены напрямую смотрят друг на друга через query/key/value, поэтому обучение лучше параллелится и проще ловить long-range dependencies.

Полный разбор

RNN читает последовательность шаг за шагом и переносит информацию через hidden state. Это естественно для sequences, но плохо параллелится по времени, а дальние зависимости могут теряться из-за длинной цепочки recurrent updates.

Transformer считает self-attention поверх token representations. Каждый token формирует query, key и value; attention weights показывают, на какие другие tokens смотреть. Multi-head attention дает несколько relation subspaces, а positional encodings или positional embeddings добавляют информацию о порядке.

Популярность transformers в NLP связана с хорошей параллелизацией обучения, прямым доступом к дальним зависимостям и сильным scaling behavior. Цена - квадратичная стоимость vanilla attention по длине контекста и потребность в больших данных/compute.

Теория

Self-attention заменяет последовательную передачу hidden state на content-based взаимодействие между tokens.

Типичные ошибки

  • Забывать positional information.
  • Говорить, что transformers всегда дешевле: vanilla attention дорогой на длинном контексте.
  • Описывать attention без query, key и value.

Как отвечать на собеседовании

  • Сравните sequential recurrence и parallel self-attention.
  • Назовите и преимущества, и long-context cost.