На лекции CME295 в Стэнфордском университете Афшин Абди (Afshine Abdi) и Шервин Амиди (Shervine Amidi) представили глубокий разбор эволюции архитектуры Transformer с момента её появления в 2017 году до современных LLM. Основное внимание было уделено техническим приемам (tricks), которые позволили моделям стать более эффективными, стабильными и масштабируемыми.
🧭 Эволюция позиционного кодирования: от статики к вращению 10:32
В отличие от рекуррентных нейросетей (RNN), трансформеры обрабатывают токены не последовательно, а параллельно. Афшин Абди объясняет, что из-за этого модель «теряет» информацию о порядке слов, если не добавить специальные позиционные эмбеддинги .
В оригинальной статье «Attention is All You Need» предлагались два типа эмбеддингов:
- Обучаемые эмбеддинги: для каждой позиции создается свой вектор, параметры которого подбираются в процессе обучения. Минус в том, что модель ограничена максимальной длиной последовательности из обучающего набора (например, 512 токенов) .
- Статические (синусоидальные) эмбеддинги: используются формулы синуса и косинуса с разными частотами. Это позволяет модели экстраполировать данные на более длинные последовательности, которые она не видела при обучении .
На лекции подробно разбирается интуиция тригонометрического подхода: скалярное произведение таких векторов зависит от относительного расстояния между словами . Чем ближе токены друг к другу, тем выше их сходство. Однако в 2025 году стандартом стал метод RoPE (Rotary Position Embeddings). Вместо сложения векторов, RoPE применяет матрицу вращения к запросам (queries) и ключам (keys), что позволяет математически закрепить зависимость внимания от относительной дистанции между токенами .
⚖️ Нормализация слоев: Pre-norm против Post-norm 43:42
Важным элементом стабильности обучения является Layer Normalization. Афшин отмечает, что в оригинальном трансформере использовалась схема Post-norm, где нормализация шла после суммирования входа и выхода подслоя . Современные же модели перешли на Pre-norm (нормализация перед подслоем) и используют RMSNorm (Root Mean Square Normalization).
По словам лектора, RMSNorm работает быстрее, так как не требует вычисления среднего значения (mean) и использует меньше параметров, при этом сохраняя сопоставимую точность . Это критично для предотвращения «внутреннего сдвига ковариат», когда активации слоев становятся слишком большими или маленькими, мешая обучению .
⚡ Оптимизация внимания: MQA, GQA и локальные окна 50:44
Стандартный механизм внимания имеет квадратичную сложность $O(n^2)$, что делает обработку длинных текстов чрезвычайно дорогой. Для решения этой проблемы были внедрены:
- Sliding Window Attention (скользящее окно): токены «видят» только своих соседей, что снижает затраты .
- Multi-Query Attention (MQA): все головы внимания делят общий набор ключей (keys) и значений (values), имея разные только запросы (queries) .
- Grouped-Query Attention (GQA): промежуточный вариант, используемый в современных моделях (например, Llama), где головы объединяются в группы для совместного использования ключей и значений .
Абди подчеркивает, что такие методы, как GQA, направлены в первую очередь на уменьшение размера KV-кэша . Это позволяет экономить память видеокарты при генерации текста, не жертвуя качеством, которое дает многоголовое внимание.
🏗️ Разделение на кланы: Encoder-only, Decoder-only и T5 1:02:42
Шервин Амиди перехватывает инициативу и классифицирует современные модели по их структуре:
- Encoder-Decoder (T5): Полная архитектура, использующая задачу «span corruption» (восстановление пропущенных фрагментов текста) вместо предсказания следующего слова .
- Encoder-only (BERT): Модели, предназначенные для классификации и извлечения смыслов. Они обладают двунаправленностью (bidirectionality), позволяя каждому токену «смотреть» на весь текст сразу .
- Decoder-only (GPT, Llama): Доминирующий сегодня класс моделей. Шервин объясняет, что индустрия отказалась от энкодеров в пользу декодеров, так как задача предсказания следующего токена лучше всего масштабируется и лучше подходит для чат-ботов .
🎓 Феномен BERT: от CLS-токенов до дистилляции знаний 1:11:45
Шервин подробно разбирает модель BERT. Её ключевая особенность — использование специального токена [CLS] в начале последовательности. После прохождения через все слои энкодера, вектор этого токена агрегирует контекст всего предложения и используется для классификации .
В процессе обучения BERT решаются две задачи:
- MLM (Masked Language Model): 15% токенов скрываются или заменяются, и модель должна их угадать .
- NSP (Next Sentence Prediction): Модель определяет, является ли второе предложение логическим продолжением первого. Однако, по словам Амиди, более поздние исследования (RoBERTa) показали, что задача NSP может быть избыточной и даже вредной .
Для случаев, когда BERT слишком тяжел для запуска (110 млн параметров), применяется дистилляция (DistilBERT). Шервин описывает это как процесс, где маленькая «модель-ученик» пытается не просто угадать правильный ответ, а повторить всё распределение вероятностей «модели-учителя» . По словам Шервина, DistilBERT сохраняет 97% качества оригинала, будучи на 40% меньше и на 60% быстрее .