Нейросети для NLP: от RNN к трансформерам
Как эволюционировали нейросети для обработки языка — от простых RNN и LSTM до трансформеров и современных LLM. Архитектуры, механизм внимания, сравнение подходов.
В 2017 году восемь исследователей из Google опубликовали статью с дерзким названием «Attention Is All You Need». К 2026-му она набрала свыше 150 000 цитирований и перевернула всю область обработки естественного языка. Но трансформер не появился из ниоткуда — ему предшествовали десятилетия экспериментов с рекуррентными сетями, которые учились читать текст слово за словом.
Эта статья — путь от первых RNN до современных архитектур, на которых построены GPT-4, Claude и Gemini. Без мифов, с техническими деталями и честным сравнением подходов.
Рекуррентные нейросети: первая попытка понять язык
Идея рекуррентных нейросетей (RNN) восходит к работам Джеффри Элмана 1990 года. Принцип простой: сеть обрабатывает последовательность элемент за элементом, передавая скрытое состояние от шага к шагу. Каждое новое слово обрабатывается с учётом «памяти» о предыдущих.
graph LR
X1["Слово₁"] --> H1["Скрытое состояние h₁"]
X2["Слово₂"] --> H2["Скрытое состояние h₂"]
X3["Слово₃"] --> H3["Скрытое состояние h₃"]
X4["Слово₄"] --> H4["Скрытое состояние h₄"]
H1 --> H2
H2 --> H3
H3 --> H4
H4 --> Y["Выход"]
На бумаге всё красиво. На практике — две фундаментальные проблемы:
Затухание градиентов. При обратном распространении ошибки через длинную последовательность градиенты экспоненциально уменьшаются. Сеть «забывает» начало предложения к моменту, когда добирается до конца. Фраза из 50 слов — уже серьёзный вызов.
Последовательная обработка. Каждый шаг зависит от предыдущего. Нельзя параллелить вычисления — слово₃ не обработаешь, пока не готово скрытое состояние от слова₂. На GPU, заточенных под параллельные операции, это колоссальная потеря производительности.
LSTM и GRU: научились помнить, но не ускорились
В 1997 году Зепп Хохрайтер и Юрген Шмидхубер предложили LSTM (Long Short-Term Memory) — архитектуру с тремя вентилями (gates):
- Forget gate — решает, какую часть старой информации забыть
- Input gate — определяет, какую новую информацию запомнить
- Output gate — контролирует, что передать на выход
Ключевое нововведение — отдельная «линия памяти» (cell state), которая проходит через все шаги с минимальными трансформациями. Это позволило градиентам протекать через длинные последовательности без затухания.
В 2014 году Кёнхён Чо с коллегами предложили упрощённый вариант — GRU (Gated Recurrent Unit), который объединил forget и input gate в один update gate. Параметров меньше, результаты сопоставимые.
LSTM решил проблему памяти, но не тронул главное ограничение — последовательную обработку. Сеть по-прежнему читала текст слово за словом, как человек, который не умеет сканировать страницу целиком.
Seq2Seq: кодировщик + декодировщик
В том же 2014-м Илья Суцкевер, Ориол Виньялс и Куок Ле (Google) предложили архитектуру Seq2Seq — две LSTM-сети, соединённые через вектор фиксированной длины:
- Encoder — читает входную последовательность и сжимает её в один вектор
- Decoder — разворачивает вектор в выходную последовательность
Это стало прорывом для машинного перевода. Но «бутылочное горлышко» — единственный вектор между энкодером и декодером — ограничивало качество на длинных предложениях. Вся информация о 100-словном параграфе должна уместиться в вектор фиксированного размера.
Механизм внимания: научились смотреть в нужное место
В 2014 году (статья опубликована в 2015-м) Дмитрий Баданау, Кёнхён Чо и Йошуа Бенжио предложили механизм внимания (attention). Идея элегантная: вместо того чтобы сжимать весь вход в один вектор, пусть декодер на каждом шаге «смотрит» на все позиции энкодера и сам решает, куда обращать внимание.
Attention решил проблему «бутылочного горлышка» и заметно поднял качество перевода. Но вычислялся он поверх тех же рекуррентных сетей — последовательная обработка никуда не делась.
Трансформер: параллелизм и самовнимание
12 июня 2017 года Ашиш Васвани, Ноам Шазир, Ники Пармар, Якоб Ушкорейт, Лайон Джонс, Эйдан Гомез, Лукаш Кайзер и Иллия Полосухин опубликовали «Attention Is All You Need». Главная идея: выбросить рекуррентность вообще и построить всё только на механизме внимания.
Self-attention: каждое слово смотрит на каждое
В трансформере каждое слово входной последовательности одновременно «смотрит» на все остальные слова — включая само себя. Для этого каждый токен преобразуется в три вектора:
- Query (Q) — «что я ищу?»
- Key (K) — «что я из себя представляю?»
- Value (V) — «какую информацию я несу?»
Вес внимания между двумя токенами — скалярное произведение Query одного на Key другого. Чем больше совпадение, тем больше внимания.
Attention(Q, K, V) = softmax(QKᵀ / √dₖ) · V
Деление на √dₖ (корень из размерности ключа) — стабилизация градиентов.
Multi-Head Attention: несколько «точек зрения»
Трансформер использует не одну, а несколько голов внимания (в оригинале — 8). Каждая голова может фокусироваться на разных аспектах: одна — на синтаксических связях, другая — на семантической близости, третья — на позиционных отношениях.
Позиционное кодирование
Без рекуррентности сеть не знает порядок слов. Решение — добавить к эмбеддингам токенов позиционные коды. В оригинальной статье использовались синусоидальные функции; в современных моделях чаще применяют RoPE (Rotary Position Embeddings).
| Характеристика | RNN | LSTM | Трансформер |
|---|---|---|---|
| Параллелизм при обучении | Нет | Нет | Полный |
| Длинные зависимости | Плохо | Хорошо | Отлично |
| Сложность на слой | O(n) | O(n) | O(n²) |
| Параметры (оригинал) | ~1-10M | ~5-50M | 65M–213M |
| Обучение оригинальной модели | — | — | 3.5 дня на 8 GPU P100 |
| Масштабируемость | Ограничена | Ограничена | Высокая |
От трансформера к современным LLM
Оригинальный трансформер содержал и энкодер, и декодер. Дальнейшее развитие пошло тремя путями:
Encoder-only (BERT, 2018). Google обучил двунаправленный энкодер на задачах маскированного языкового моделирования. BERT произвёл революцию в понимании текста — классификации, NER, ответах на вопросы.
Decoder-only (GPT, 2018–2026). OpenAI взяли только декодер и обучили на авторегрессионной генерации: предсказывай следующий токен. Эта линия привела к GPT-4, Claude, Llama.
Encoder-decoder (T5, 2019). Google сохранил обе части, обучив модель в формате «текст-в-текст». Хорошо работает для перевода, суммаризации, ответов на вопросы.
К 2026 году decoder-only архитектура доминирует в больших языковых моделях:
| Модель | Компания | Параметры | Год |
|---|---|---|---|
| GPT-4 / GPT-4o | OpenAI | ~1.8T (предположительно, MoE) | 2023–2024 |
| Claude 4 (Opus/Sonnet) | Anthropic | Не раскрыто | 2025 |
| Gemini 2.0 | Google DeepMind | MoE, до 1M токенов контекста | 2025 |
| Llama 4 Maverick | Meta | 400B total / 17B active (MoE) | 2025 |
| DeepSeek-V3 | DeepSeek | 671B total / 37B active (MoE) | 2024 |
Показательный факт: DeepSeek-V3 с 671 миллиардом параметров был обучен примерно за $5.6 млн — в десятки раз дешевле моделей сопоставимого уровня. Архитектура Mixture-of-Experts, где активна лишь часть параметров, стала ключевой оптимизацией.
Что после трансформеров?
Квадратичная сложность self-attention подтолкнула исследователей к поиску альтернатив. Главные направления:
State Space Models (SSM) и Mamba. В декабре 2023 года Альберт Гу и Три Дао представили Mamba — архитектуру с линейной сложностью O(n) на основе селективных пространств состояний. Mamba-2 (2024) улучшила результаты. Эти модели не используют attention вообще.
RWKV. Проект Бо Пэна совмещает эффективность RNN на инференсе (линейная сложность) с параллелизмом трансформера при обучении. RWKV-6 (2024) доступен в размерах до 14B параметров, полностью open-source.
Гибридные архитектуры. Наиболее перспективный тренд — комбинация слоёв attention и SSM. Jamba от AI21 Labs (2024, 52B параметров) и Griffin от Google DeepMind (2024) чередуют оба типа слоёв для баланса качества и эффективности.
Заключение
Путь от RNN к трансформерам — это история о том, как одна ключевая идея (механизм внимания) перевернула целую область. RNN научили нейросети работать с последовательностями. LSTM решил проблему памяти. Attention убрал «бутылочное горлышко». А трансформер выбросил рекуррентность и получил полный параллелизм.
Сегодня трансформеры — фундамент всех крупных языковых моделей. Но эволюция продолжается: архитектуры Mamba, RWKV и гибридные подходы уже показывают, что будущее — за эффективными моделями, сочетающими лучшее от разных парадигм. Не привязывайтесь к одной архитектуре — следите за тем, как индустрия решает проблему масштабирования.