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.