Attention, positional embeddings, BPE и LoRA
Объясните scaled dot-product attention, зачем Transformer нужны positional embeddings, как работает BPE-токенизация и в чем идея LoRA при fine-tuning.
Ответить самому
Сначала сформулируйте ответ как на собеседовании, затем откройте разбор и оцените себя.
Короткий ответ
Scaled dot-product attention считается по формуле softmax(QK^T / sqrt(d_k))V. Positional embeddings добавляют порядок токенов. BPE итеративно объединяет частые пары символов или сабтокенов. LoRA замораживает базовые веса и обучает низкоранговые добавки к выбранным слоям.
Полный разбор
Scaled dot-product attention проецирует состояния токенов в Q, K и V, затем считает softmax(QK^T / sqrt(d_k))V. Деление на sqrt(d_k) нужно, чтобы большие dot products не насыщали softmax.
Self-attention без positional signal не знает порядок токенов: для него последовательность похожа на множество. Поэтому к token embeddings добавляют positional embeddings/encodings или используют относительные позиции.
BPE начинает с маленьких символов и много раз объединяет самые частые соседние пары. Так получаются subword-токены: частые слова или части слов становятся короткими, а редкие слова разбиваются на несколько токенов.
LoRA - parameter-efficient fine-tuning. Базовые веса замораживаются, а для выбранных linear layers обучается низкоранговая добавка. Это уменьшает число trainable parameters и память optimizer state; адаптеры можно хранить отдельно под разные задачи или смерджить в базовые веса.
Теория
Это четыре отдельные базовые идеи: attention computation, порядок токенов, токенизация и parameter-efficient adaptation.
Типичные ошибки
- Забыть sqrt(d_k) в attention.
- Сказать, что Transformer сам знает порядок без positional signal.
- Описать BPE как чисто word-level токенизацию.
- Сказать, что LoRA обновляет все базовые веса.
Как отвечать на собеседовании
- Формулу attention лучше назвать точно.
- Для LoRA используйте идею low-rank delta к frozen weights.