Книга: Инжиниринг искусственного интеллекта
Назад: 2.3 LSTM (Long Short‑Term Memory / Долгаякраткосрочнаяпамять)
Дальше: 2.6 MoE (Mixture of Experts / Смесь экспертов)

2.4 GRU (Gated Recurrent Unit / Рекуррентный блок с вентилями)

GRU

это упрощённая версия LSTM, объединяющая входной вентиль и вентиль забывания в один «вентиль обновления» (update gate). У GRU всего два вентиля вместо трёх, и нет отдельного состояния ячейки - только скрытое состояние. Это даёт примерно на 25–30% меньше параметров и чуть более быстрые вычисления, но на очень длинных последовательностях (сотни шагов) LSTM может показывать slightly better результаты.



это LSTM, который уволил лишнего менеджера. За счёт такого сокращения GRU работает быстрее и требует меньше памяти. Но, как водится, за скорость приходится платить - чуть-чуть качеством на очень длинных последовательностях.

Представьте, что LSTM - это отдел с тремя сотрудниками: один решает, что забыть (forget gate), второй - что записать нового (input gate), третий - что показать на выходе (output gate). GRU оставляет только двоих:



Reset gate - «Секретарь»: решает, какую часть старых записей вообще не брать в расчёт (игнорировать прошлое).



Update gate - «Руководитель»: сразу решает две задачи - сколько нового взять из текущего слова и сколько старого сохранить (совмещает функции input и forget gate).



Зачем? Меньше сотрудников - меньше зарплата (параметры) и быстрее работа. GRU чуть проще, чем LSTM, и на многих задачах показывает почти то же качество. Но если текст очень длинный и связи сложные, LSTM всё же точнее.



Практическое применение



· Машинный перевод (Google Translate, Яндекс.Переводчик).

· Распознавание речи (Siri, Алиса).

· Генерация текста (автодополнение в поиске, чат-боты).

· Анализ временных рядов (прогноз цен акций, погоды).

· Обработка видео (анализ действий по кадрам).



Главное отличие от LSTM



LSTM чуть точнее на очень длинных последовательностях, но GRU проще, быстрее и часто даёт почти такое же качество, поэтому его часто выбирают, когда важна скорость.

RNN, LSTM, GRU - все они пытались работать с последовательностями шаг за шагом, и все упирались в одну и ту же стену: их нельзя было распараллелить. Нужно было принципиально новое решение, которое смотрело бы на текст сразу целиком. И в 2017 году оно появилось. Революция случилась - на сцену вышел Трансформер.



2.5 Трансформер (Transformer)

Все архитектуры, которые мы рассмотрели до сих пор - CNN, RNN, LSTM, GRU - были великими для своего времени, но у каждой находились фатальные недостатки. CNN не понимали порядок слов, RNN забывали начало предложения, LSTM и GRU были слишком медленными из-за последовательной обработки. Нужен был прорыв.

И в 2017 году команда Google опубликовала статью с громким названием «Attention Is All You Need». Так родился Трансформер - архитектура, которая стёрла все предыдущие с доски лидеров.

Это был не просто очередной шаг в эволюции нейросетей, а настоящая смена парадигмы. Трансформер отказался от последовательной обработки, которая казалась естественной для текста, и предложил смотреть на все слова сразу. Механизм самовнимания позволил каждому токену взаимодействовать с любым другим напрямую, независимо от расстояния, а параллелизация вычислений дала возможность обучать модели с сотнями миллиардов параметров. За считанные годы трансформеры захватили не только обработку текста, но и компьютерное зрение, генерацию изображений и даже анализ молекул.



Что такое трансформер?



Технически

Трансформер - это архитектура нейросетей, основанная исключительно на механизме самовнимания (self-attention). Он позволяет модели вычислять попарные веса важности между всеми токенами последовательности за один проход. Благодаря этому каждый токен может напрямую взаимодействовать с любым другим, независимо от расстояния, а все вычисления легко распараллеливаются на GPU.



Метафора

Представьте, что вы читаете книгу не последовательно, а видите сразу всю страницу целиком. Вы можете мгновенно установить связь между словом на первой строке и словом на последней, потому что они оба перед глазами. Именно так работает трансформер.



Три кита, на которых стоит трансформер



Прежде чем разбирать семейства моделей, запомните три главные идеи, которые сделали трансформер революцией:



1. САМОВНИМАНИЕ (Self-Attention)

Каждый токен “смотрит” на все остальные и решает, кто для него важен. Это как совещание, где каждый слушает каждого.



2. ПАРАЛЛЕЛИЗМ (Parallelism)

Все токены обрабатываются одновременно, а не по очереди. Это как читать все книги в библиотеке сразу, а не по одной.



3. МНОГОСЛОЙНОСТЬ (Multi-layer)

Десятки слоев трансформера строят иерархию понимая:

Слой 1: буквы -> Слой 5: слова -> Слой 15: роли -> Слой 30: смысл



Три основных семейства Transformer

В зависимости от того, какую часть трансформера мы используем - только энкодер, только декодер или оба сразу - получаются модели с совершенно разными способностями.



Визуализация трёх семейств







1. Decoder-only (только декодер)





Как работает

Использует каузальное внимание (causal attention) - каждое слово видит только предыдущие слова. Это как читать книгу, закрывая рукой ещё не прочитанные страницы.





Зачем

Генерировать текст, предсказывая следующее слово.





Кто использует

Все современные чат-боты - GPT, GigaChat, DeepSeek, LLaMA, Mistral, Grok.





Метафора

Это писатель, который пишет роман последовательно, главу за главой, не заглядывая в будущее.





2. Encoder-only (только энкодер)





Как работает

Использует двунаправленное внимание (bidirectional attention) - каждое слово видит и левый, и правый контекст. Как читатель, который видит всю страницу целиком и может установить любые связи.





Зачем

«Понимать» текст целиком, но не генерировать новые фразы. Анализ, классификация, извлечение смысла.





Кто использует

BERT, RoBERTa.





Метафора

Это литературный критик, который анализирует готовый роман, видит все связи и может ответить на вопросы, но сам писать не умеет.





3. Encoder-Decoder (кодер-декодер)





Как работает

Состоит из двух частей: энкодер читает входной текст (двунаправленно), а декодер генерирует выходной (авторегрессионно).





Зачем

Задачи, где нужно преобразовать одну последовательность в другую: перевод, суммаризация, перефразирование.





Кто использует

T5 (Text-to-Text Transfer Transformer), BART (Bidirectional and Auto-Regressive Transformer).





Метафора

Это переводчик: сначала полностью понимает исходный текст (энкодер), потом пишет перевод (декодер).





Популярные модели: глубокое погружение





Из трёх семейств выросли все современные модели-звёзды. Одни научились глубоко понимать текст, другие - генерировать, третьи - переводить с языка на язык. Познакомимся с самыми известными представителями.





BERT: король понимания





BERT (Bidirectional Encoder Representations from Transformers) - двунаправленный энкодер от Google, который вышел в 2018 году и буквально перевернул мир NLP.





Суть

Предобучается на огромных объёмах текста с двумя специальными задачами: MLM и NSP.





Зачем

Глубокое понимание текста.





Применение

Определение тональности, ответы на вопросы (без генерации), распознавание именованных сущностей, классификация документов.

До появления BERT модели хорошо справлялись с конкретными задачами, но не умели по-настоящему понимать контекст. BERT изменил это, научившись учитывать как левый, так и правый контекст каждого слова. Это позволило ему достичь человеческого уровня в ряде тестов на понимание языка и заложило фундамент для всех последующих энкодерных архитектур.





Визуализация обучения BERT









BERT : детали для инженера





Эволюция: от BERT к RoBERTa





BERT стал настоящей сенсацией, но исследователи быстро поняли, что его можно улучшить. Убрали лишнее, добавили данных, дольше обучали - так родилась его улучшенная версия.

RoBERTa (Robustly optimized BERT approach) - улучшенная версия BERT от Facebook.





Что изменили





· Убрали задачу NSP (оказалась не нужна)

· Больше данных (160GB вместо 16GB)

· Дольше обучали (больше шагов)

· Динамическое маскирование (маски меняются каждую эпоху)





Результат

RoBERTa стабильно превосходит BERT во всех тестах.





T5: всё в текст





T5 (Text-to-Text Transfer Transformer) - модель от Google, которая пошла ещё дальше.





Гениальная простота

Превращает все NLP-задачи в единый формат «текст на вход - текст на выход».





Визуализация идеи T5









BART: лучший из двух миров





BART (Bidirectional and Auto-Regressive Transformer) - модель от Facebook, которая объединила лучшее от BERT и GPT.





Как устроен

Энкодер как у BERT (двунаправленный) - понимает контекст

Декодер как у GPT (авторегрессионный) - генерирует текст





Гениальность BART в том, что шум можно добавлять практически любой - модель вынуждена учиться понимать структуру языка на всех уровнях: от отдельных слов до общего смысла предложения. Это делает BART особенно устойчивым к искажениям и эффективным в задачах, где входные данные могут быть «грязными» - например, при обработке пользовательского контента или распознавании речи с ошибками.





Как обучается

Берут текст, портят его разными способами (маскируют, переставляют слова, удаляют), а модель учится восстанавливать оригинал.





Сводная таблица: модели на основе трансформера









Важное замечание про современность.





Обратная сторона медали: за что критикуют трансформеры

Было бы нечестно представить трансформер как абсолютное благо и замолчать его недостатки. У этой архитектуры есть три фундаментальные проблемы, над решением которых бьются лучшие инженерные команды мира.





Проблема 1: Квадратичная сложность внимания





Механизм самовнимания требует вычисления попарных связей между всеми токенами. Это даёт сложность O(n²) по памяти и времени - каждый новый токен удорожает обработку квадратично. Для контекста в 10 тысяч токенов это ещё терпимо, но при 100 тысячах вычисления становятся тяжёлыми, а при миллионе - часто просто невозможными без специальных оптимизаций (о которых мы говорили в главе 4). Трансформеры плохо масштабируются на сверхдлинные контексты принципиально, на уровне архитектуры.





Проблема 2: «Вымывание» первых токенов





Даже если технически модель может принять миллион токенов на вход, на практике информация из начала последовательности теряется в шумах внимания. Первые токены «вымываются» - их влияние на финальный ответ становится пренебрежимо малым. Это не баг, а следствие того, что внимание распределяется по всей длине, и длинные хвосты просто «перекрикивают» начало.





Проблема 3: Гигантские требования к памяти





Даже с KV Cache трансформеры требуют огромного количества памяти. Веса модели (сотни гигабайт), кэш для длинного контекста (ещё гигабайты), промежуточные вычисления - всё это делает развёртывание больших моделей дорогим и сложным. Для задач, где важна работа на периферии (на телефоне, в браузере), трансформеры часто оказываются слишком тяжёлыми.

Трансформеры - стандарт для LLM, но для задач на периферии, в реальном времени и на слабом железе RNN/LSTM/GRU и их современные аналоги (Mamba, RWKV) остаются лучшим выбором. Не выкидывайте их из инженерного арсенала





Альтернативы, которые бросают вызов трансформеру





Инженеры не сидят сложа руки. Уже есть архитектуры, которые пытаются решить эти проблемы и в некоторых задачах показывают результаты, сопоставимые с трансформерами.





State Space Models (SSM) - линейная сложность





Модели на основе пространства состояний (например, Mamba) предлагают принципиально иной подход: они обрабатывают последовательности как динамическую систему, обновляя скрытое состояние по мере чтения. Сложность - O(n) вместо O(n²). Это позволяет работать с контекстами в миллионы токенов без специальных оптимизаций. Mamba показывает результаты, близкие к трансформерам, на задачах вроде моделирования языка, и при этом требует значительно меньше памяти. Плата за скорость - чуть хуже качество на задачах, где важны сложные дальние зависимости.





RWKV (Receptance Weighted Key Value) - смесь трансформера и RNN





RWKV - это гибрид, который берёт лучшее от двух миров. Как RNN, он обрабатывает последовательность линейно и не требует квадратичной памяти. Как трансформер, он использует механизмы, похожие на внимание, и может быть эффективно обучен на GPU. RWKV показывает достойные результаты при существенно меньших требованиях к ресурсам, что делает его привлекательным для развёртывания на слабом железе.





RetNet (Retentive Network) - ещё один гибрид





RetNet от Microsoft сочетает параллелизм трансформера (для обучения) с линейной сложностью рекуррентных сетей (для инференса). На больших контекстах он может быть в десятки раз быстрее трансформера при сопоставимом качестве.





Важно понимать

эти архитектуры пока уступают трансформерам не только в зрелости экосистемы, но и в стабильности обучения на больших масштабах.





Трансформеры за более чем семь лет эволюции обросли огромным количеством инженерных хитростей - специальные инициализации, хитрые оптимизаторы, проверенные схемы нормализации, техники борьбы с нестабильностью градиентов. У Mamba, RWKV и RetNet такого багажа пока нет. При масштабировании до сотен миллиардов параметров они могут вести себя непредсказуемо: loss может «срываться» в бесконечность, градиенты - взрываться, а сходимость - требовать десятков экспериментов с гиперпараметрами. Для исследовательских проектов это приемлемо, для продакшена - риск, который нужно закладывать в бюджет.





Однако у этих альтернатив есть важное ограничение: экосистема.





Вокруг трансформеров выстроены тысячи инструментов, библиотек, фреймворков и предобученных моделей. Для Mamba или RWKV пока нет такого же богатства готовых решений, оптимизированных ядер, инструментов для дообучения и развёртывания. Если вы строите экспериментальный проект или работаете на периферии - это не проблема. Если вам нужен стабильный продакшен с поддержкой сообщества - трансформеры всё ещё вне конкуренции.





Так умрёт ли трансформер?





Скорее всего, нет. Трансформеры стали стандартом де-факто, вокруг них выстроена гигантская экосистема инструментов, библиотек и обученных моделей. Но в задачах, где критичны сверхдлинные контексты или работа на периферии, альтернативы уже начинают вытеснять трансформеры. Скорее всего, будущее - за гибридными подходами, которые возьмут лучшее от обеих архитектур.





Для инженера это означает, что выбор архитектуры зависит от задачи:





· Если нужен универсальный солдат и есть бюджет - берите трансформер.

· Если нужно обрабатывать миллионы токенов или работать на слабом железе - присмотритесь к Mamba или RWKV.

· Если вы строите систему с нуля и готовы экспериментировать - следите за новыми SSM-архитектурами, они развиваются стремительно.





Все эти модели - плотные трансформеры, где каждый нейрон участвует в каждом вычислении. Они стали фундаментом, на котором строится современный ИИ. Но инженеры заметили, что разные задачи требуют разных знаний. Что если не заставлять одну модель учиться всему сразу, а собрать команду специалистов?

Так появилась архитектура, которая позволила перешагнуть порог в триллион параметров - смесь экспертов (Mixture of Experts, MoE). О ней мы подробно поговорим в следующем разделе.





Назад: 2.3 LSTM (Long Short‑Term Memory / Долгаякраткосрочнаяпамять)
Дальше: 2.6 MoE (Mixture of Experts / Смесь экспертов)