В 2017 году восемь исследователей Google опубликовали статью «Attention is All You Need». Шесть лет спустя трансформерная архитектура лежит в основе всех крупнейших языковых моделей, систем компьютерного зрения и мультимодальных систем. Если вы работаете в ML и ещё не разобрались в трансформерах — это руководство закроет этот пробел раз и навсегда.
Почему трансформеры победили RNN
До 2017 года стандартом для задач обработки последовательностей были рекуррентные сети (LSTM, GRU). У них было три фундаментальных ограничения:
- Последовательная обработка — следующий токен нельзя обработать без обработки предыдущего. GPU-кластеры простаивали.
- Проблема исчезающего градиента — зависимости на длинных дистанциях (сотни токенов) терялись при обучении.
- Ограниченный контекст — «память» модели деградировала с ростом длины последовательности.
Трансформеры решили все три проблемы одновременно с помощью механизма Self-Attention, позволяющего каждому токену «смотреть» на все остальные токены в последовательности параллельно.
Self-Attention: математика простыми словами
Механизм внимания преобразует каждый токен входной последовательности в три вектора: Query (Q), Key (K) и Value (V). Это происходит через три отдельные обучаемые матрицы весов.
Интуиция: Query — это «вопрос» текущего токена, Keys — «ответы» всех токенов, Values — содержательная информация. Скалярное произведение Q и K определяет, насколько релевантен каждый токен для текущего. Деление на √d_k предотвращает слишком большие значения, ведущие к насыщению softmax.
Multi-Head Attention: зачем несколько голов
Одного механизма внимания недостаточно — он захватит лишь один тип зависимостей. Multi-Head Attention запускает несколько механизмов внимания параллельно, каждый из которых специализируется на разных аспектах: синтаксических связях, семантическом сходстве, кореференции и т.д.
Синтаксические зависимости
Согласование подлежащего и сказуемого, позиция в предложении.
Кореференция
«Он пошёл в магазин» — «Он» указывает на кого?
Семантическое сходство
Какие слова синонимичны или семантически близки в данном контексте.
Позиционное кодирование: как трансформер «знает» порядок
В отличие от RNN, трансформер обрабатывает все токены параллельно и «не знает» их порядка. Позиционное кодирование добавляет к эмбеддингу каждого токена вектор, уникально кодирующий его позицию в последовательности.
Оригинальный трансформер использовал фиксированные синусоидальные функции. Современные архитектуры применяют Rotary Positional Embeddings (RoPE, используется в LLaMA 2/3, Mistral) или Alibi (экстраполяция на длины, не виденные при обучении).
BERT vs GPT: два пути одной архитектуры
| Характеристика | BERT (Encoder) | GPT (Decoder) |
|---|---|---|
| Направление внимания | Двунаправленное | Причинно-следственное (слева направо) |
| Задача предобучения | Masked Language Modeling | Next Token Prediction |
| Лучше подходит для | Классификация, NER, Q&A | Генерация текста, диалог |
| Примеры | BERT, RoBERTa, DeBERTa | GPT-4, LLaMA 3, Mistral |
| Fine-tuning сложность | Проще (меньше параметров) | Требует больше ресурсов |
Fine-tuning: как адаптировать предобученную модель
Полный fine-tuning крупной модели требует десятков GPU. В 2022–2024 годах появились методы параметрически эффективного тонкого настраивания (PEFT), позволяющие обучать <1% параметров модели при сохранении 90–95% качества.
Low-Rank Adaptation
Добавляет две маленькие матрицы к весам трансформера вместо обучения оригинальных. Позволяет fine-tuning Llama 3 (8B) на одном GPU A100.
Quantized LoRA
Комбинирует LoRA с 4-битным квантованием. Позволяет fine-tuning 65B модели на одном потребительском GPU (RTX 4090).
Практический пример: fine-tuning для классификации
Где применять знания прямо сейчас
Трансформеры — это не только NLP. К 2025 году их применяют для задач временных рядов (Time Series Transformer), геномики (DNA-BERT), аудио (Whisper, MusicGen), химии (AlphaFold 2 использует трансформерный encoder) и физического моделирования. Инвестиция времени в глубокое понимание этой архитектуры окупается во многих доменах.