Автор: Sebastian Raschka, PhD

От DeepSeek V3 до GLM-5: обзор современного проектирования архитектур LLM

Прошло семь лет с момента создания оригинальной архитектуры GPT. На первый взгляд, оглядываясь на GPT-2 (2019) и забегая вперёд к DeepSeek V3 и Llama 4 (2024–2025), можно удивиться, насколько структурно похожи эти модели до сих пор.

Да, позиционные эмбеддинги эволюционировали от абсолютных к ротационным (RoPE), Multi-Head Attention в значительной степени уступил место Grouped-Query Attention, а более эффективный SwiGLU заменил функции активации вроде GELU. Но за этими мелкими улучшениями — произошли ли действительно революционные изменения, или мы просто шлифуем те же самые архитектурные основы?

Сравнение LLM с целью определить ключевые ингредиенты, влияющие на их хорошую (или не очень) производительность, — задача крайне сложная: наборы данных, техники обучения и гиперпараметры сильно различаются и часто недокументированы.

Тем не менее я считаю, что в изучении структурных изменений самих архитектур есть большая ценность — чтобы понять, чем занимаются разработчики LLM в 2025 году. (Подмножество из них показано на Рисунке 1 ниже.)

Рисунок 1: Подмножество архитектур, рассмотренных в этой статье.
Рисунок 1: Подмножество архитектур, рассмотренных в этой статье.

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

(Как вы, возможно, помните, я недавно писал о мультимодальных LLM; в этой статье я сосредоточусь на текстовых возможностях последних моделей, а обсуждение мультимодальных возможностей оставлю на другой раз.)


1. DeepSeek V3/R1

Как вы наверняка слышали уже не раз, DeepSeek R1 произвёл большое впечатление, когда был выпущен в январе 2025 года. DeepSeek R1 — это модель рассуждений (reasoning model), построенная поверх архитектуры DeepSeek V3, представленной в декабре 2024 года.

Хотя моё внимание здесь сосредоточено на архитектурах, выпущенных в 2025 году, я считаю разумным включить DeepSeek V3, поскольку он получил широкое внимание и распространение только после запуска DeepSeek R1 в 2025 году.

Если вас интересует именно обучение DeepSeek R1, вам может быть полезна моя статья ранее в этом году: Understanding Reasoning LLMs.

В этом разделе я сосредоточусь на двух ключевых архитектурных техниках, представленных в DeepSeek V3, которые улучшили его вычислительную эффективность и отличают его от многих других LLM:

  • Multi-Head Latent Attention (MLA)

  • Mixture-of-Experts (MoE)

1.1 Multi-Head Latent Attention (MLA)

Прежде чем обсуждать Multi-Head Latent Attention (MLA), давайте кратко рассмотрим предпосылки. Для этого начнём с Grouped-Query Attention (GQA), который в последние годы стал новым стандартом — более эффективной по вычислениям и параметрам альтернативой Multi-Head Attention (MHA).

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

Например, как показано на Рисунке 2 ниже, если есть 2 группы ключей-значений и 4 головы внимания, то головы 1 и 2 могут разделять один набор ключей и значений, а головы 3 и 4 — другой. Это уменьшает общее количество вычислений для ключей и значений, что приводит к снижению использования памяти и повышению эффективности (без заметного влияния на качество моделирования, согласно аблационным исследованиям).

Рисунок 2: Сравнение MHA и GQA. Здесь размер группы равен 2, где пара ключ-значение разделяется между двумя запросами.
Рисунок 2: Сравнение MHA и GQA. Здесь размер группы равен 2, где пара ключ-значение разделяется между двумя запросами.

Итак, основная идея GQA — уменьшить число голов ключей и значений, разделяя их между несколькими головами запросов. Это (1) снижает количество параметров модели и (2) уменьшает использование пропускной способности памяти для тензоров ключей и значений при инференсе, поскольку нужно хранить и извлекать из KV-кэша меньше ключей и значений.

(Если вам интересно, как GQA выглядит в коде, смотрите мой гайд по конвертации GPT-2 в Llama 3 для версии без KV-кэша и мой вариант с KV-кэшем здесь.)

Хотя GQA — это в основном обходной путь для повышения вычислительной эффективности MHA, аблационные исследования (например, в оригинальной статье о GQA и статье о Llama 2) показывают, что он работает сопоставимо со стандартным MHA с точки зрения качества моделирования.

Теперь, Multi-Head Latent Attention (MLA) предлагает другую стратегию экономии памяти, которая также особенно хорошо сочетается с KV-кэшированием. Вместо того чтобы разделять головы ключей и значений, как GQA, MLA сжимает тензоры ключей и значений в пространство меньшей размерности перед их сохранением в KV-кэше.

Во время инференса эти сжатые тензоры проецируются обратно до их исходного размера перед использованием, как показано на Рисунке 3 ниже. Это добавляет дополнительное матричное умножение, но снижает использование памяти.

Рисунок 3: Сравнение MLA (используемого в DeepSeek V3 и R1) и обычного MHA.
Рисунок 3: Сравнение MLA (используемого в DeepSeek V3 и R1) и обычного MHA.

(Замечание: запросы также сжимаются, но только во время обучения, а не инференса.)

Кстати, MLA — не новинка DeepSeek V3, поскольку его предшественник DeepSeek-V2 также использовал (и даже представил) его. Кроме того, статья о V2 содержит несколько интересных аблационных исследований, которые могут объяснить, почему команда DeepSeek выбрала MLA вместо GQA (см. Рисунок 4 ниже).

Рисунок 4: Аннотированные таблицы из статьи DeepSeek-V2, https://arxiv.org/abs/2405.04434
Рисунок 4: Аннотированные таблицы из статьи DeepSeek-V2, https://arxiv.org/abs/2405.04434

Как видно на Рисунке 4, GQA, по-видимому, работает хуже, чем MHA, тогда как MLA обеспечивает лучшее качество моделирования, чем MHA, — это, вероятно, и есть причина, по которой команда DeepSeek выбрала MLA вместо GQA. (Было бы интересно увидеть также сравнение экономии «KV Cache per Token» между MLA и GQA!)

Подводя итог этого раздела: MLA — это изящный приём для снижения использования памяти KV-кэша, при этом даже немного превосходящий MHA по качеству моделирования.

1.2 Mixture-of-Experts (MoE)

Другой важный архитектурный компонент в DeepSeek, заслуживающий внимания, — использование слоёв Mixture-of-Experts (MoE). Хотя DeepSeek не изобрёл MoE, эта техника пережила возрождение в этом году, и многие из архитектур, которые мы рассмотрим далее, также её применяют.

Вы, вероятно, уже знакомы с MoE, но краткое напоминание может быть полезным.

Основная идея MoE — заменить каждый модуль FeedForward в блоке трансформера несколькими экспертными слоями, где каждый экспертный слой также является FeedForward-модулем. То есть мы заменяем один FeedForward-блок на несколько FeedForward-блоков, как показано на Рисунке 5 ниже.

Рисунок 5: Иллюстрация модуля Mixture-of-Experts (MoE) в DeepSeek V3/R1 (справа) по сравнению с LLM со стандартным FeedForward-блоком (слева).
Рисунок 5: Иллюстрация модуля Mixture-of-Experts (MoE) в DeepSeek V3/R1 (справа) по сравнению с LLM со стандартным FeedForward-блоком (слева).

FeedForward-блок внутри блока трансформера (показан как тёмно-серый блок на рисунке выше) обычно содержит большую долю общих параметров модели. (Обратите внимание, что блок трансформера и, соответственно, FeedForward-блок повторяется много раз в LLM; в случае DeepSeek V3 — 61 раз.)

Таким образом, замена одного FeedForward-блока несколькими (как в MoE) существенно увеличивает общее количество параметров модели. Однако ключевой трюк в том, что мы не используем («активируем») всех экспертов для каждого токена. Вместо этого маршрутизатор (router) выбирает лишь малое подмножество экспертов для каждого токена.

Поскольку одновременно активны лишь несколько экспертов, MoE-модули часто называют разреженными (sparse), в отличие от плотных (dense) модулей, которые всегда используют полный набор параметров. Однако большое общее число параметров через MoE увеличивает ёмкость LLM, что означает, что она может усвоить больше знаний во время обучения. Разреженность при этом сохраняет эффективность инференса, поскольку мы не используем все параметры одновременно.

Например, DeepSeek V3 имеет 256 экспертов на модуль MoE и всего 671 миллиард параметров. Но во время инференса одновременно активны только 9 экспертов (1 общий эксперт плюс 8, выбранных маршрутизатором). Это означает, что за один шаг инференса используются лишь 37 миллиардов параметров из 671 миллиарда.

Заметная особенность дизайна MoE в DeepSeek V3 — использование общего эксперта (shared expert). Это эксперт, который всегда активен для каждого токена. Эта идея не нова и была представлена ещё в статьях DeepSeek 2024 MoE и DeepSpeedMoE 2022.

Рисунок 6: Аннотированный рисунок из "DeepSeekMoE: Towards Ultimate Expert Specialization in Mixture-of-Experts Language Models", https://arxiv.org/abs/2401.06066
Рисунок 6: Аннотированный рисунок из "DeepSeekMoE: Towards Ultimate Expert Specialization in Mixture-of-Experts Language Models", https://arxiv.org/abs/2401.06066

Преимущество наличия общего эксперта было впервые отмечено в статье DeepSpeedMoE, где обнаружили, что он повышает общее качество моделирования по сравнению с отсутствием общих экспертов. Вероятно, это связано с тем, что общие или повторяющиеся паттерны не нужно изучать каждому отдельному эксперту, что оставляет им больше места для изучения более специализированных паттернов.

1.3 Резюме по DeepSeek

Подводя итог, DeepSeek V3 — это массивная модель с 671 миллиардом параметров, которая на момент запуска превзошла другие модели с открытыми весами, включая 405B Llama 3. Несмотря на больший размер, она значительно эффективнее при инференсе благодаря архитектуре Mixture-of-Experts (MoE), которая активирует лишь малое подмножество (всего 37B) параметров на токен.

Другая ключевая отличительная особенность — использование Multi-Head Latent Attention (MLA) вместо Grouped-Query Attention (GQA). Оба подхода — эффективные при инференсе альтернативы стандартному Multi-Head Attention (MHA), особенно при использовании KV-кэширования. Хотя MLA сложнее в реализации, исследование в статье о DeepSeek-V2 показало, что он обеспечивает лучшее качество моделирования, чем GQA.

2. OLMo 2

Серия моделей OLMo от некоммерческого Allen Institute for AI примечательна своей прозрачностью в плане обучающих данных и кода, а также относительно подробными техническими отчётами.

Хотя вы вряд ли найдёте модели OLMo на вершине какого-либо бенчмарка или лидерборда, они довольно чистые и, что важнее, являются отличным образцом для разработки LLM благодаря своей прозрачности.

И хотя модели OLMo популярны из-за прозрачности, они и сами по себе неплохи. Фактически, на момент выпуска в январе (до Llama 4, Gemma 3 и Qwen 3) модели OLMo 2 находились на границе Парето по соотношению вычислений и производительности, как показано на Рисунке 7 ниже.

Рисунок 7: Производительность на бенчмарках (выше = лучше) vs стоимость предобучения (FLOPs; ниже = лучше) для разных LLM. Аннотированный рисунок из статьи OLMo 2, https://arxiv.org/abs/2501.00656
Рисунок 7: Производительность на бенчмарках (выше = лучше) vs стоимость предобучения (FLOPs; ниже = лучше) для разных LLM. Аннотированный рисунок из статьи OLMo 2, https://arxiv.org/abs/2501.00656

Как упоминалось ранее, я стараюсь сосредоточиться только на деталях архитектуры LLM (а не на обучении или данных), чтобы статья оставалась управляемой по длине. Итак, какие интересные архитектурные решения были в OLMo 2? В основном это сводится к нормализации: расположение слоёв RMSNorm, а также добавление QK-norm, которые я обсужу ниже.

Ещё стоит отметить, что OLMo 2 по-прежнему использует традиционный Multi-Head Attention (MHA) вместо MLA или GQA.

2.1 Расположение слоёв нормализации

В целом OLMo 2 во многом следует архитектуре оригинального GPT, как и другие современные LLM. Однако есть некоторые заметные отклонения. Начнём со слоёв нормализации.

Подобно Llama, Gemma и большинству других LLM, OLMo 2 перешёл с LayerNorm на RMSNorm.

Но поскольку RMSNorm — это уже давно знакомая тема (по сути упрощённая версия LayerNorm с меньшим числом обучаемых параметров), я пропущу обсуждение RMSNorm vs LayerNorm. (Любопытные читатели могут найти реализацию RMSNorm в моём руководстве по конвертации GPT-2 в Llama.)

Однако стоит обсудить расположение слоя RMSNorm. Оригинальный трансформер (из статьи «Attention is all you need») размещал два слоя нормализации в блоке трансформера после модуля внимания и модуля FeedForward соответственно.

Это также известно как Post-LN или Post-Norm.

GPT и большинство последующих LLM размещали слои нормализации перед модулями внимания и FeedForward, что известно как Pre-LN или Pre-Norm. Сравнение Post- и Pre-Norm показано на рисунке ниже.

Рисунок 8: Сравнение Post-Norm, Pre-Norm и варианта Post-Norm в OLMo 2.
Рисунок 8: Сравнение Post-Norm, Pre-Norm и варианта Post-Norm в OLMo 2.

В 2020 году Xiong et al. показали, что Pre-LN приводит к более хорошо ведущим себя градиентам при инициализации. Более того, исследователи отметили, что Pre-LN хорошо работает даже без тщательного warm-up скорости обучения, который иначе является критически важным инструментом для Post-LN.

Причина, по которой я упоминаю это, в том, что OLMo 2 принял форму Post-LN (но с RMSNorm вместо LayerNorm, поэтому я называю это Post-Norm).

В OLMo 2 слои нормализации размещены после модулей внимания и FeedForward, как показано на рисунке выше. Однако обратите внимание, что в отличие от оригинальной архитектуры трансформера, слои нормализации по-прежнему находятся внутри остаточных слоёв (skip connections).

Почему они переместили положение слоёв нормализации? Причина в том, что это помогло стабильности обучения, как показано на рисунке ниже.

Рисунок 9: График стабильности обучения для Pre-Norm (как в GPT-2, Llama 3 и многих других) vs вариант Post-Norm в OLMo 2. Аннотированный рисунок из статьи OLMo 2, https://arxiv.org/abs/2501.00656
Рисунок 9: График стабильности обучения для Pre-Norm (как в GPT-2, Llama 3 и многих других) vs вариант Post-Norm в OLMo 2. Аннотированный рисунок из статьи OLMo 2, https://arxiv.org/abs/2501.00656

К сожалению, этот рисунок показывает результаты изменения порядка вместе с QK-Norm, что является отдельной концепцией. Поэтому трудно сказать, какой вклад внесло само по себе изменение порядка нормализации.

2.2 QK-Norm

Поскольку предыдущий раздел уже упомянул QK-norm, и другие LLM, которые мы обсудим позже (например, Gemma 2 и Gemma 3), тоже используют QK-norm, давайте кратко обсудим, что это такое.

QK-Norm — это по сути ещё один слой RMSNorm. Он размещается внутри модуля Multi-Head Attention (MHA) и применяется к запросам (q) и ключам (k) перед применением RoPE. Для иллюстрации ниже приведён фрагмент слоя Grouped-Query Attention (GQA), который я написал для своей реализации Qwen3 с нуля (применение QK-norm в GQA аналогично MHA в OLMo):

class GroupedQueryAttention(nn.Module):
    def __init__(
        self, d_in, num_heads, num_kv_groups,
        head_dim=None, qk_norm=False, dtype=None
    ):
        # ...

        if qk_norm:
            self.q_norm = RMSNorm(head_dim, eps=1e-6)
            self.k_norm = RMSNorm(head_dim, eps=1e-6)
        else:
            self.q_norm = self.k_norm = None

    def forward(self, x, mask, cos, sin):
        b, num_tokens, _ = x.shape

        # Apply projections
        queries = self.W_query(x) 
        keys = self.W_key(x)
        values = self.W_value(x) 

        # ...

        # Optional normalization
        if self.q_norm:
            queries = self.q_norm(queries)
        if self.k_norm:
            keys = self.k_norm(keys)

        # Apply RoPE
        queries = apply_rope(queries, cos, sin)
        keys = apply_rope(keys, cos, sin)

        # Expand K and V to match number of heads
        keys = keys.repeat_interleave(self.group_size, dim=1)
        values = values.repeat_interleave(self.group_size, dim=1)

        # Attention
        attn_scores = queries @ keys.transpose(2, 3)
        # ...

Как упоминалось ранее, вместе с Post-Norm, QK-Norm стабилизирует обучение. Обратите внимание, что QK-Norm был изобретён не OLMo 2, а восходит к статье 2023 года Scaling Vision Transformers.

2.3 Резюме по OLMo 2

Вкратце, заметные архитектурные решения OLMo 2 — это прежде всего расположение RMSNorm: RMSNorm после (а не перед) модулей внимания и FeedForward (вариант Post-Norm), а также добавление RMSNorm для запросов и ключей внутри механизма внимания (QK-Norm), которые вместе помогают стабилизировать loss при обучении.

Ниже рисунок, дополнительно сравнивающий OLMo 2 и Llama 3 бок о бок; как видно, архитектуры в остальном довольно похожи, за исключением того, что OLMo 2 всё ещё использует традиционный MHA вместо GQA. (Однако команда OLMo 2 выпустила вариант 32B через 3 месяца, использующий GQA.)

Рисунок 10: Сравнение архитектур Llama 3 и OLMo 2.
Рисунок 10: Сравнение архитектур Llama 3 и OLMo 2.

3. Gemma 3

Модели Gemma от Google всегда были действительно хороши, и я думаю, что они всегда были немного недооценены по сравнению с другими популярными моделями, такими как серия Llama.

Одна из отличительных черт Gemma — довольно большой размер словаря (для лучшей поддержки нескольких языков) и более сильный акцент на размере 27B (вместо 8B или 70B). Но отметим, что Gemma 2 также выпускается в меньших размерах: 1B, 4B и 12B.

Размер 27B попадает в очень удачную «золотую середину»: он значительно способнее 8B модели, но не так ресурсоёмок, как 70B модель, и прекрасно работает локально на моём Mac Mini.

Итак, что ещё интересного в Gemma 3? Как обсуждалось ранее, другие модели вроде DeepSeek V3/R1 используют архитектуру Mixture-of-Experts (MoE) для снижения требований к памяти при инференсе при фиксированном размере модели.

Gemma 3 использует другой «трюк» для снижения вычислительных затрат, а именно — скользящее оконное внимание (sliding window attention).

3.1 Скользящее оконное внимание (Sliding Window Attention)

С помощью скользящего оконного внимания (изначально представленного в статье LongFormer в 2020 году и также уже использовавшегося в Gemma 2) команда Gemma 3 смогла существенно снизить требования к памяти KV-кэша, как показано на рисунке ниже.

Рисунок 11: Аннотированный рисунок из статьи Gemma 3 (https://arxiv.org/abs/2503.19786), показывающий экономию памяти KV-кэша через скользящее оконное внимание.
Рисунок 11: Аннотированный рисунок из статьи Gemma 3 (https://arxiv.org/abs/2503.19786), показывающий экономию памяти KV-кэша через скользящее оконное внимание.

Что такое скользящее оконное внимание? Если мы думаем об обычном self-attention как о глобальном механизме внимания (поскольку каждый элемент последовательности может обращаться к каждому другому), то скользящее оконное внимание можно считать локальным вниманием, потому что здесь мы ограничиваем размер контекста вокруг текущей позиции запроса. Это проиллюстрировано на рисунке ниже.

Рисунок 12: Сравнение обычного внимания (слева) и скользящего оконного внимания (справа).
Рисунок 12: Сравнение обычного внимания (слева) и скользящего оконного внимания (справа).

Обратите внимание, что скользящее оконное внимание может использоваться как с Multi-Head Attention, так и с Grouped-Query Attention; Gemma 3 использует Grouped-Query Attention.

Архитектура-предшественник Gemma 2 также использовала скользящее оконное внимание. Разница в Gemma 3 в том, что они изменили соотношение между глобальным (обычным) и локальным (скользящим) вниманием.

Например, Gemma 2 использует гибридный механизм внимания, сочетающий скользящее оконное (локальное) и глобальное внимание в соотношении 1:1. Каждый токен может обращаться к окну контекста в 4k токенов.

Gemma 3 теперь имеет соотношение 5:1, то есть только 1 слой полного внимания на каждые 5 слоёв скользящего оконного (локального) внимания; более того, размер скользящего окна был уменьшен с 4096 (Gemma 2) до всего 1024 (Gemma 3). Это смещает фокус модели в сторону более эффективных локализованных вычислений.

Согласно их аблационному исследованию, использование скользящего оконного внимания оказывает минимальное влияние на качество моделирования, как показано на рисунке ниже.

Рисунок 13: Аннотированный рисунок из статьи Gemma 3 (https://arxiv.org/abs/2503.19786), показывающий, что скользящее оконное внимание практически не влияет на perplexity генерируемого LLM текста.
Рисунок 13: Аннотированный рисунок из статьи Gemma 3 (https://arxiv.org/abs/2503.19786), показывающий, что скользящее оконное внимание практически не влияет на perplexity генерируемого LLM текста.

3.2 Расположение слоёв нормализации в Gemma 3

Небольшая, но интересная деталь: Gemma 3 использует RMSNorm как в Pre-Norm, так и в Post-Norm расположении вокруг своего модуля Grouped-Query Attention.

Это аналогично Gemma 2, но всё же заслуживает внимания, поскольку отличается от (1) Post-Norm в оригинальном трансформере, (2) Pre-Norm, популяризированного GPT-2 и используемого во многих других архитектурах, и (3) варианта Post-Norm в OLMo 2.

Рисунок 14: Сравнение архитектур OLMo 2 и Gemma 3; обратите внимание на дополнительные слои нормализации в Gemma 3.
Рисунок 14: Сравнение архитектур OLMo 2 и Gemma 3; обратите внимание на дополнительные слои нормализации в Gemma 3.

Я считаю это расположение слоёв нормализации довольно интуитивным подходом, поскольку оно сочетает лучшее из обоих миров: Pre-Norm и Post-Norm. На мой взгляд, немного дополнительной нормализации не помешает.

3.3 Резюме по Gemma 3

Gemma 3 — это высокопроизводительная LLM с открытыми весами, которая, на мой взгляд, немного недооценена в open-source сообществе. Наиболее интересная часть — использование скользящего оконного внимания для повышения эффективности (будет интересно совместить его с MoE в будущем).

Также Gemma 3 имеет уникальное расположение слоёв нормализации, размещая RMSNorm как перед, так и после модулей внимания и FeedForward.

3.4 Бонус: Gemma 3n

Через несколько месяцев после выпуска Gemma 3, Google представил Gemma 3n — модель Gemma 3, оптимизированную для эффективной работы на небольших устройствах, с целью запуска на телефонах.

Одно из изменений в Gemma 3n — так называемый слой Per-Layer Embedding (PLE). Ключевая идея — хранить в памяти GPU только подмножество параметров модели. Специфичные для токенов и слоёв эмбеддинги (для текстовой, аудио и визуальной модальностей) подгружаются с CPU или SSD по мере необходимости.

Рисунок 15: Аннотированный рисунок из блога Google Gemma 3n (https://developers.googleblog.com/en/introducing-gemma-3n/), иллюстрирующий экономию памяти PLE.
Рисунок 15: Аннотированный рисунок из блога Google Gemma 3n (https://developers.googleblog.com/en/introducing-gemma-3n/), иллюстрирующий экономию памяти PLE.

Расхождение 5.44 vs 4 миллиарда параметров объясняется интересным способом подсчёта параметров в LLM у Google. Они часто исключают параметры эмбеддингов, чтобы модель казалась меньше, кроме случаев, когда удобно их включить, чтобы модель казалась больше. Впрочем, это стало обычной практикой в индустрии.

Ещё один интересный трюк — концепция MatFormer (сокращение от Matryoshka Transformer). Gemma 3n использует единую общую архитектуру LLM (трансформера), которую можно нарезать на меньшие, независимо используемые модели. Каждый «срез» обучается работать самостоятельно, поэтому во время инференса можно запустить только нужную часть (вместо большой модели).

4. Mistral Small 3.1

Mistral Small 3.1 24B, выпущенный в марте вскоре после Gemma 3, примечателен тем, что превзошёл Gemma 3 27B на нескольких бенчмарках (кроме математики), будучи при этом быстрее.

Причины более низкой задержки инференса Mistral Small 3.1 по сравнению с Gemma 3, вероятно, связаны с их кастомным токенизатором, а также уменьшением KV-кэша и количества слоёв. В остальном это стандартная архитектура, как показано на рисунке ниже.

Рисунок 16: Сравнение архитектур Gemma 3 27B и Mistral 3.1 Small 24B.
Рисунок 16: Сравнение архитектур Gemma 3 27B и Mistral 3.1 Small 24B.

Интересно, что более ранние модели Mistral использовали скользящее оконное внимание, но, судя по настройке по умолчанию ("sliding_window": null) в официальном конфигурационном файле Model Hub, они от него отказались. Карточка модели также не упоминает его.

Поскольку Mistral использует обычный Grouped-Query Attention вместо Grouped-Query Attention со скользящим окном как в Gemma 3, возможно, есть дополнительная экономия вычислений при инференсе за счёт возможности использовать более оптимизированный код (т.е. FlashAttention). Я предполагаю, что хотя скользящее оконное внимание снижает использование памяти, оно не обязательно снижает задержку инференса, на чём сосредоточен Mistral Small 3.1.

5. Llama 4

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

Рисунок 17: Сравнение архитектур DeepSeek V3 (671 миллиард параметров) и Llama 4 Maverick (400 миллиардов параметров).
Рисунок 17: Сравнение архитектур DeepSeek V3 (671 миллиард параметров) и Llama 4 Maverick (400 миллиардов параметров).

Хотя архитектура Llama 4 Maverick в целом очень похожа на DeepSeek V3, есть некоторые интересные различия.

Во-первых, Llama 4 использует Grouped-Query Attention, как и её предшественники, тогда как DeepSeek V3 использует Multi-Head Latent Attention. Обе модели — очень большие архитектуры, при этом DeepSeek V3 примерно на 68% больше по общему количеству параметров. Однако с 37 миллиардами активных параметров DeepSeek V3 имеет более чем вдвое больше активных параметров, чем Llama 4 Maverick (17B).

Llama 4 Maverick использует более классическую конфигурацию MoE с меньшим числом, но более крупных экспертов (2 активных эксперта с hidden size 8192 каждый) по сравнению с DeepSeek V3 (9 активных экспертов с hidden size 2048 каждый). Также DeepSeek использует MoE-слои в каждом блоке трансформера (кроме первых 3), тогда как Llama 4 чередует MoE и плотные модули в каждом втором блоке.

Учитывая множество мелких различий между архитектурами, сложно определить их точное влияние на итоговое качество модели. Однако главный вывод: архитектуры MoE стали значительно популярнее в 2025 году.

6. Qwen3

Команда Qwen стабильно выпускает высококачественные LLM с открытыми весами. Когда я помогал в качестве со-консультанта на соревновании по эффективности LLM на NeurIPS 2023, я помню, что лучшие решения-победители все были на основе Qwen2.

Qwen3 — ещё одна хитовая серия моделей, занимающая верхние строчки лидербордов в своих размерных классах. Есть 7 плотных моделей: 0.6B, 1.7B, 4B, 8B, 14B и 32B. И 2 MoE-модели: 30B-A3B и 235B-A22B.

(Кстати, отсутствие пробела в «Qwen3» — не опечатка; я просто сохраняю оригинальное написание, выбранное разработчиками Qwen.)

6.1 Qwen3 (Dense)

Начнём с архитектуры плотной модели. На момент написания модель 0.6B вполне может быть самой маленькой моделью текущего поколения с открытыми весами. И по моему личному опыту, она работает действительно хорошо для своего малого размера — у неё отличная скорость генерации (token/sec) и низкий объём занимаемой памяти, если вы планируете запускать её локально. Более того, благодаря малому размеру её также легко обучать локально (в образовательных целях).

Так что Qwen3 0.6B заменила мне Llama 3 1B для большинства задач. Сравнение этих двух архитектур показано ниже.

Рисунок 18: Сравнение архитектур Qwen3 0.6B и Llama 3 1B; обратите внимание, что Qwen3 — более «глубокая» архитектура с большим числом слоёв, тогда как Llama 3 — более «широкая» с большим числом голов внимания.
Рисунок 18: Сравнение архитектур Qwen3 0.6B и Llama 3 1B; обратите внимание, что Qwen3 — более «глубокая» архитектура с большим числом слоёв, тогда как Llama 3 — более «широкая» с большим числом голов внимания.

Если вам интересна человекочитаемая реализация Qwen3 без зависимостей от сторонних LLM-библиотек, я недавно реализовал Qwen3 с нуля (на чистом PyTorch).

Числа вычислительной производительности на рисунке выше основаны на моих реализациях с нуля на PyTorch при запуске на A100 GPU. Как видно, Qwen3 имеет меньший объём памяти, поскольку это меньшая архитектура в целом, с меньшими скрытыми слоями и меньшим числом голов внимания. Однако она использует больше блоков трансформера, чем Llama 3, что приводит к более медленному выполнению (меньшая скорость генерации token/sec).

6.2 Qwen3 (MoE)

Как упоминалось ранее, Qwen3 также выпускается в двух MoE-вариантах: 30B-A3B и 235B-A22B. Почему некоторые архитектуры, как Qwen3, выпускаются в обычных (плотных) и MoE (разреженных) вариантах?

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

Плотные модели обычно проще дообучать, развёртывать и оптимизировать на различном оборудовании.

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

Выпуская оба типа, серия Qwen3 может поддерживать более широкий спектр сценариев использования: плотные модели для надёжности, простоты и дообучения, а MoE-модели для эффективного обслуживания в масштабе.

Для завершения этого раздела давайте сравним Qwen3 235B-A22B (обратите внимание, что A22B означает «22B активных параметров») с DeepSeek V3, у которого почти вдвое больше активных параметров (37B).

Рисунок 19: Сравнение архитектур DeepSeek V3 и Qwen3 235B-A22B.
Рисунок 19: Сравнение архитектур DeepSeek V3 и Qwen3 235B-A22B.

Как видно на рисунке выше, архитектуры DeepSeek V3 и Qwen3 235B-A22B удивительно похожи. Что примечательно — модель Qwen3 отказалась от использования общего эксперта (более ранние модели Qwen, такие как Qwen2.5-MoE, использовали общего эксперта).

К сожалению, команда Qwen3 не раскрыла причину отказа от общих экспертов. Если бы мне пришлось гадать, возможно, это просто не было необходимо для стабильности обучения в их конфигурации при увеличении числа экспертов с 2 (в Qwen2.5-MoE) до 8 (в Qwen3).

Обновление. Junyang Lin, один из разработчиков Qwen3, ответил:

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

7. SmolLM3

SmolLM3 — возможно, не так популярна, как другие LLM в этой статье, но я решил, что это интересная модель для включения, поскольку она предлагает действительно хорошее качество моделирования при относительно малом и удобном размере в 3 миллиарда параметров, занимая место между 1.7B и 4B моделями Qwen3, как показано на рисунке ниже.

Более того, она также поделилась множеством деталей обучения, подобно OLMo, что редкость и всегда ценно!

Рисунок 20: Аннотированный рисунок из поста о SmolLM3, https://huggingface.co/blog/smollm3, сравнивающий win rate SmolLM3 с Qwen3 1.7B и 4B, а также Llama 3 3B и Gemma 3 4B.
Рисунок 20: Аннотированный рисунок из поста о SmolLM3, https://huggingface.co/blog/smollm3, сравнивающий win rate SmolLM3 с Qwen3 1.7B и 4B, а также Llama 3 3B и Gemma 3 4B.

Как видно на рисунке сравнения архитектур ниже, архитектура SmolLM3 выглядит довольно стандартной. Пожалуй, наиболее интересный аспект — использование NoPE (No Positional Embeddings).

Рисунок 21: Сравнение архитектур Qwen3 4B и SmolLM3 3B.
Рисунок 21: Сравнение архитектур Qwen3 4B и SmolLM3 3B.

7.1 No Positional Embeddings (NoPE)

NoPE — в контексте LLM это более старая идея, восходящая к статье 2023 года (The Impact of Positional Encoding on Length Generalization in Transformers), предлагающей удалить явное внедрение позиционной информации (будь то через классические абсолютные позиционные эмбеддинги в ранних архитектурах GPT или через современный RoPE).

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

Рисунок 22: Модифицированный рисунок из книги «Build A Large Language Model (From Scratch)» (https://www.amazon.com/Build-Large-Language-Model-Scratch/dp/1633437167), иллюстрирующий абсолютные позиционные эмбеддинги.
Рисунок 22: Модифицированный рисунок из книги «Build A Large Language Model (From Scratch)» (https://www.amazon.com/Build-Large-Language-Model-Scratch/dp/1633437167), иллюстрирующий абсолютные позиционные эмбеддинги.

RoPE решает это путём вращения векторов запросов и ключей относительно их позиции токена.

В слоях NoPE, однако, никакой позиционный сигнал не добавляется вообще: ни фиксированный, ни обучаемый, ни относительный. Ничего.

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

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

В целом статья о NoPE обнаружила не только то, что внедрение позиционной информации не является необходимым, но и то, что NoPE обеспечивает лучшую обобщаемость по длине (length generalization) — это означает, что качество ответов LLM меньше деградирует с увеличением длины последовательности.

Рисунок 23: Аннотированный рисунок из статьи NoPE (https://arxiv.org/abs/2305.19466), показывающий лучшую обобщаемость по длине с NoPE.
Рисунок 23: Аннотированный рисунок из статьи NoPE (https://arxiv.org/abs/2305.19466), показывающий лучшую обобщаемость по длине с NoPE.

Обратите внимание, что эксперименты были проведены с относительно небольшой моделью в стиле GPT (~100 миллионов параметров) и относительно малыми размерами контекста. Неясно, насколько хорошо эти выводы обобщаются на более крупные современные LLM.

По этой причине команда SmolLM3, вероятно, «применила» NoPE (или, точнее, пропустила RoPE) только в каждом 4-м слое.

8. Kimi K2 и Kimi K2 Thinking

Kimi K2 недавно произвёл большой фурор в AI-сообществе как модель с открытыми весами с невероятно хорошей производительностью. Согласно бенчмаркам, она сопостав��ма с лучшими проприетарными моделями, такими как Gemini от Google, Claude от Anthropic и ChatGPT от OpenAI.

Заметный аспект — использование варианта относительно нового оптимизатора Muon вместо AdamW. Насколько мне известно, это первый раз, когда Muon был использован вместо AdamW для какой-либо продакшн-модели такого размера (ранее было показано, что он масштабируется только до 16B). Это дало очень хорошие кривые loss при обучении, что, вероятно, помогло вытолкнуть эту модель на вершину упомянутых бенчмарков.

Рисунок 24: Аннотированные рисунки из статьи-анонса Kimi K2 (https://moonshotai.github.io/Kimi-K2/) и статьи OLMo 2.
Рисунок 24: Аннотированные рисунки из статьи-анонса Kimi K2 (https://moonshotai.github.io/Kimi-K2/) и статьи OLMo 2.

Сама модель — 1 триллион параметров, что поистине впечатляет. Это, возможно, самая большая LLM этого поколения на момент написания.

Круг замыкается, поскольку Kimi K2 использует архитектуру DeepSeek V3, которую мы рассмотрели в начале статьи, только они сделали её больше, как показано на рисунке ниже.

Рисунок 25.1: Сравнение архитектур DeepSeek V3 и Kimi K2.
Рисунок 25.1: Сравнение архитектур DeepSeek V3 и Kimi K2.

Как видно на рисунке, Kimi K2 по сути аналогична DeepSeek V3, за исключением того, что использует больше экспертов в MoE-модулях и меньше голов в модуле Multi-Head Latent Attention (MLA).

Обновление: 6 ноября 2025 года команда Kimi K2 также выпустила новый вариант модели «Thinking». Архитектура не изменилась по сравнению с Kimi K2, за исключением того, что размер контекста был увеличен со 128k до 256k.

Рисунок 25.2: Архитектура DeepSeek R1 vs Kimi K2 Thinking (сверху) и бенчмарки Kimi K2 Thinking (снизу).
Рисунок 25.2: Архитектура DeepSeek R1 vs Kimi K2 Thinking (сверху) и бенчмарки Kimi K2 Thinking (снизу).

9. GPT-OSS

OpenAI выпустила gpt-oss-120b и gpt-oss-20b — свои первые модели с открытыми весами со времён GPT-2 в 2019 году, примерно через неделю после того, как я написал эту статью. Поскольку открытые модели OpenAI были столь ожидаемы, я обновил статью, чтобы включить их. Я буду краток, но написал отдельную, гораздо более подробную статью, посвящённую моделям gpt-oss: From GPT-2 to gpt-oss: Analyzing the Architectural Advances.

Рисунок 26: Обзор архитектуры двух моделей gpt-oss.
Рисунок 26: Обзор архитектуры двух моделей gpt-oss.
Рисунок 27: Сравнение архитектур gpt-oss и Qwen3.
Рисунок 27: Сравнение архитектур gpt-oss и Qwen3.

Один аспект, не показанный на Рисунке 27 — gpt-oss использует скользящее оконное внимание (аналогично Gemma 3, но в каждом втором слое вместо соотношения 5:1).

9.1 Ширина vs глубина

Рисунок 27 показывает, что gpt-oss и Qwen3 используют похожие компоненты. Но если присмотреться, Qwen3 — значительно более глубокая архитектура с 48 блоками трансформера вместо 24.

С другой стороны, gpt-oss — значительно более широкая архитектура: размерность эмбеддингов 2880 вместо 2048, промежуточная размерность эксперта (feed forward) также 2880 вместо 768.

Имеет ли один подход преимущества перед другим при фиксированном числе параметров? Как правило, более глубокие модели обладают большей гибкостью, но их сложнее обучать из-за проблем нестабильности (взрывающиеся и затухающие градиенты). Более широкие архитектуры быстрее при инференсе (с более высоким token/sec) благодаря лучшей параллелизации, но при более высоких затратах памяти.

9.2 Мало больших vs много маленьких экспертов

Примечательно, что gpt-oss имеет удивительно малое число экспертов (32 вместо 128) и использует только 4 вместо 8 активных экспертов на токен. Однако каждый эксперт значительно больше экспертов в Qwen3.

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

Рисунок 28: Аннотированный рисунок из «DeepSeekMoE: Towards Ultimate Expert Specialization in Mixture-of-Experts Language Models», https://arxiv.org/abs/2401.06066
Рисунок 28: Аннотированный рисунок из «DeepSeekMoE: Towards Ultimate Expert Specialization in Mixture-of-Experts Language Models», https://arxiv.org/abs/2401.06066

Примечательно, что ни gpt-oss, ни Qwen3, в отличие от моделей DeepSeek, не используют общих экспертов.

9.3 Bias во внимании и Attention Sinks

Оба gpt-oss и Qwen3 используют Grouped-Query Attention. Главное отличие — gpt-oss ограничивает размер контекста через скользящее оконное внимание в каждом втором слое.

Однако есть одна интересная деталь: gpt-oss использует bias-единицы для весов внимания. Я не видел использования этих bias-единиц со времён GPT-2, и обычно они считаются избыточными.

Рисунок 29: Модели gpt-oss используют bias-единицы в слоях внимания.
Рисунок 29: Модели gpt-oss используют bias-единицы в слоях внимания.

Ещё одна деталь — определение sinks в коде. Attention sinks — это специальные «всегда-обслуживаемые» токены, размещённые в начале последовательности для стабилизации внимания, что особенно полезно в сценариях с длинным контекстом. (Идея была предложена в статье Efficient Streaming Language Models with Attention Sinks.)

В реализации gpt-oss attention sinks — это не реальные токены во входной последовательности. Вместо этого это обучаемые per-head bias-логиты, добавляемые к оценкам внимания. Цель та же, но без модификации токенизированных входных данных.

Рисунок 31: Использование attention sinks в gpt-oss; на основе кода Hugging Face.
Рисунок 31: Использование attention sinks в gpt-oss; на основе кода Hugging Face.

10. Grok 2.5

Через несколько недель после первой публикации этой статьи xAI выпустила веса своей модели Grok 2.5 с 270 миллиардами параметров.

Я решил включить её, поскольку Grok 2.5 была флагманской продакшн-моделью xAI в прошлом году. До этого момента все обсуждаемые модели были выпущены с открытыми весами с самого начала. С Grok 2.5 мы получаем редкую возможность взглянуть на реальную продакшн-систему, пусть и прошлогоднюю.

Архитектурно Grok 2.5 выглядит довольно стандартно в целом (Рисунок 32), но есть несколько интересных деталей.

Рисунок 32: Grok 2.5 рядом с моделью Qwen3 сопоставимого размера.
Рисунок 32: Grok 2.5 рядом с моделью Qwen3 сопоставимого размера.

Например, Grok 2.5 использует малое число крупных экспертов (восемь), что отражает более старый тренд. Как обсуждалось ранее, более новые дизайны (например, из статьи DeepSeekMoE) предпочитают большее число меньших экспертов.

Другой интересный выбор — использование по сути общего эксперта. Дополнительный модуль SwiGLU, показанный слева на Рисунке 32, функционирует как всегда активный общий эксперт. Он не идентичен классическому дизайну с общим экспертом, поскольку его промежуточная размерность удвоена, но идея та же.

11. GLM-4.5

GLM-4.5 — ещё один крупный релиз этого года. Это гибрид для инструкций/рассуждений, похожий на Qwen3, но ещё лучше оптимизированный для вызова функций и агентных сценариев.

Рисунок 33: Бенчмарк GLM-4.5 из официального репозитория GitHub https://github.com/zai-org/GLM-4.5
Рисунок 33: Бенчмарк GLM-4.5 из официального репозитория GitHub https://github.com/zai-org/GLM-4.5

GLM-4.5 выпускается в двух вариантах. Флагманская модель с 355 миллиардами параметров превосходит Claude 4 Opus в среднем по 12 бенчмаркам и лишь немного уступает o3 от OpenAI и Grok 4 от xAI. Также есть GLM-4.5-Air — более компактная версия на 106 миллиардов параметров с производительностью лишь немного ниже 355-миллиардной модели.

Рисунок 34: GLM-4.5 рядом с моделью Qwen3 похожего размера.
Рисунок 34: GLM-4.5 рядом с моделью Qwen3 похожего размера.

Дизайны во многом схожи, но GLM-4.5 перенимает структурный выбор, впервые представленный DeepSeek V3: 3 плотных слоя предшествуют блокам Mixture-of-Experts (MoE). Почему? Начало с нескольких плотных слоёв улучшает стабильность сходимости и общую производительность в больших MoE-системах. Если маршрутизация MoE вводится немедленно, нестабильность разреженного выбора экспертов может мешать раннему извлечению синтаксических и семантических признаков. Поэтому сохранение начальных слоёв плотными обеспечивает формирование стабильных низкоуровневых представлений до того, как решения о маршрутизации начнут формировать обработку более высокого уровня.

Также GLM-4.5 использует общего эксперта, аналогично DeepSeek V3 (и в отличие от Qwen3).

(Интересно, что GLM-4.5 также сохраняет механизм bias во внимании, используемый в GPT-2 и gpt-oss.)

12. Qwen3-Next

11 сентября 2025 года команда Qwen3 выпустила Qwen3 Next 80B-A3B (Рисунок 35), доступную в вариантах Instruct и Thinking.

12.1 Размер и количество экспертов

Новая архитектура Qwen3 Next выделяется тем, что, несмотря на то что она в 3 раза меньше предыдущей модели 235B-A22B, она вводит в четыре раза больше экспертов и даже добавляет общего эксперта.

Рисунок 35: Оригинальная модель Qwen3, выпущенная в мае (слева), рядом с моделью Qwen3 Next, выпущенной в сентябре (справа).
Рисунок 35: Оригинальная модель Qwen3, выпущенная в мае (слева), рядом с моделью Qwen3 Next, выпущенной в сентябре (справа).

12.2 Гибрид Gated DeltaNet + Gated Attention

Другое ключевое нововведение — замена обычного механизма внимания гибридом Gated DeltaNet + Gated Attention, который помогает обеспечить нативную длину контекста в 262k токенов по использованию памяти (предыдущая модель 235B-A22B поддерживала 32k нативно и 131k с масштабированием YaRN).

Как работает этот новый гибрид внимания? По сравнению с Grouped-Query Attention (GQA), чья стоимость декодирования и кэш всё ещё растут с длиной последовательности, их гибридный механизм смешивает блоки Gated DeltaNet с блоками Gated Attention в соотношении 3:1, как показано на Рисунке 36.

Рисунок 36: Гибридный механизм Gated DeltaNet + Gated Attention. Они расположены в соотношении 3:1, то есть 3 блока трансформера с Gated DeltaNet следуют за 1 блоком с Gated Attention.
Рисунок 36: Гибридный механизм Gated DeltaNet + Gated Attention. Они расположены в соотношении 3:1, то есть 3 блока трансформера с Gated DeltaNet следуют за 1 блоком с Gated Attention.

Блок Gated Attention можно рассматривать как стандартное scaled-dot-product attention, которое может использоваться в GQA, но с несколькими дополнениями. Основные различия между gated attention и обычным блоком GQA:

  1. Выходной вентиль (sigmoid-управляемый, обычно per-channel), масштабирующ��й результат внимания перед добавлением обратно в residual;

  2. Zero-centered RMSNorm для QKNorm вместо стандартного RMSNorm;

  3. Partial RoPE (на подмножестве размерностей).

По сути, это просто изменения стабильности для GQA.

Gated DeltaNet — более значительное изменение. В блоке DeltaNet q, k, v и два вентиля (α, β) генерируются линейными и лёгкими свёрточными слоями с нормализацией, а слой заменяет внимание обновлением delta rule по быстрым весам.

Однако компромисс в том, что DeltaNet предлагает менее точное извлечение на основе контента, чем полное внимание, поэтому один слой gated attention сохраняется.

В семействе «линейного времени, без кэша» блок DeltaNet — по сути альтернатива Mamba. Mamba хранит состояние с обучаемым фильтром пространства состояний. DeltaNet хранит крошечную память быстрых весов, обновляемую с помощью α и β, и читает её с помощью q.

12.3 Multi-Token Prediction

Два предыдущих подраздела описывают два архитектурных решения, направленных на эффективность. Qwen3 также добавляет ещё одну технику эффективности: Multi-Token Prediction (MTP).

Multi-token prediction обучает LLM предсказывать несколько будущих токенов вместо одного на каждом шаге. На каждой позиции t маленькие дополнительные головы (линейные слои) выдают логиты для t+1...t+k, и мы суммируем cross-entropy loss для этих смещений (в статье о MTP исследователи рекомендовали k=4). Этот дополнительный сигнал ускоряет обучение, а инференс может оставаться с генерацией по одному токену за раз. Однако дополнительные головы можно использовать в спекулятивном мульти-токенном декодировании, что, похоже, и делает Qwen3-Next.

12.4 Qwen3-Coder-Next

В начале февраля 2026 года команда Qwen3 выпустила модель Qwen3-Coder-Next на 80B (3B активных параметров), которая попала в заголовки, превзойдя намного более крупные модели вроде DeepSeek V3.2 (37B активных) и Kimi K2.5 и GLM-7.5 (оба по 32B активных) на задачах кодирования.

Более того, производительность Qwen3-Coder-Next на SWE-Bench Pro примерно на уровне Claude-Sonnet-4.5 (и лишь немного ниже Claude-Opus-4.5), что впечатляет для модели с открытыми весами!

Архитектура Qwen3-Coder-Next точно такая же, как Qwen3-Next 80B.

13. MiniMax-M2

Недавно разработчики LLM с открытыми весами делились вариантами своих основных архитектур, оптимизированных для эффективности. Один пример — Qwen3-Next, заменяющая некоторые блоки полного внимания быстрым модулем gated DeltaNet. Другой пример — DeepSeek V3.2, использующий sparse attention.

MiniMax-M1 попадает в аналогичную категорию — использует вариант линейного внимания (lightning attention). Однако их новый MiniMax-M2 сейчас считается лучшей моделью с открытыми весами (по бенчмаркам), что делает её слишком значительной, чтобы игнорировать.

Рисунок 37: Производительность MiniMax-M2 на бенчмарках по сравнению с другими популярными LLM с открытыми весами и проприетарными LLM.
Рисунок 37: Производительность MiniMax-M2 на бенчмарках по сравнению с другими популярными LLM с открытыми весами и проприетарными LLM.

Интересно, что MiniMax-M2 не использует эффективный вариант lightning attention, предложенный в MiniMax-M1. Вместо этого разработчики вернулись к полному вниманию, вероятно, для улучшения качества моделирования (и бенчмарков).

Рисунок 38: Временная шкала основных LLM, рассмотренных в этой статье, рядом с моделями гибридного внимания, представляющими более эффективные альтернативы.
Рисунок 38: Временная шкала основных LLM, рассмотренных в этой статье, рядом с моделями гибридного внимания, представляющими более эффективные альтернативы.

В целом MiniMax-M2 удивительно похожа на Qwen3.

13.1 Per-Layer QK-Norm

Пожалуй, единственная заметная особенность — MiniMax-M2 использует так называемый «per_layer» QK-Norm вместо обычного QK-Norm. Более пристальный взгляд на код показывает, что внутри механизма внимания это реализовано так:

self.q_norm = MiniMaxText01RMSNormTP(self.head_dim * self.total_num_heads, eps=...)

self.k_norm = MiniMaxText01RMSNormTP(self.head_dim * self.total_num_kv_heads, eps=...)

Здесь hidden_size равен конкатенации голов (num_heads * head_dim), поэтому RMSNorm имеет вектор масштаба с отдельными параметрами для каждой головы (и каждой размерности головы).

Таким образом, «per_layer» означает, что RMSNorm (используемый для QK-Norm) определяется в каждом блоке трансформера (как в обычном QK-Norm), но, кроме того, вместо переиспользования между головами внимания, это уникальный QK-Norm для каждой головы внимания.

Рисунок 39: Сравнение Qwen3 и MiniMax-M2.
Рисунок 39: Сравнение Qwen3 и MiniMax-M2.

13.2 Разреженность MoE

Другие интересные детали: MiniMax-M2 не использует общего эксперта (аналогично Qwen3, но в отличие от Qwen3-Next).

Также MiniMax-M2 вдвое «разреженнее» Qwen3. При примерно таком же размере, как Qwen3 235B-A22B, MiniMax-M2 имеет только 10B вместо 22B активных экспертов на токен (то есть 4.37% параметров используются на каждом шаге инференса в MiniMax-M2, тогда как Qwen3 использует 9.36%).

13.3 Partial RoPE

Наконец, аналогично MiniMax-M1, MiniMax-M2 использует «partial» вместо обычного RoPE внутри модулей внимания для кодирования позиционной информации. Partial RoPE означает, что только первые rotary_dim каналов каждой головы получают ротационное позиционное кодирование, а оставшиеся head_dim - rotary_dim каналов остаются без изменений.

Можно визуализировать это так:

Full RoPE:     [r r r r r r r r]
Partial RoPE:  [r r r r — — — —]

где «r» — повёрнутые (закодированные позиционно) размерности, а тире — нетронутые.

Моё предположение — это предотвращает «слишком сильное» вращение для длинных последовательностей, особенно тех, что длиннее самых длинных документов в обучающем наборе данных. Логика: отсутствие вращения лучше, чем «плохое» или «слишком экстремальное» вращение, которое модель не видела при обучении.

14. Kimi Linear

В последнее время наблюдается возрождение механизмов линейного внимания для повышения эффективности LLM.

14.1 Традиционное внимание и квадратичные затраты

Оригинальный механизм внимания масштабируется квадратично с длиной последовательности:

Attention(Q, K, V) = softmax(QK^T / √d) · V

Это потому, что матрицы запросов (Q), ключей (K) и значений (V) имеют размер n×d, где d — размерность эмбеддинга (гиперпараметр), а n — длина последовательности (число токенов).

Рисунок 40: Иллюстрация квадратичных затрат во внимании из-за длины последовательности n.
Рисунок 40: Иллюстрация квадратичных затрат во внимании из-за длины последовательности n.

14.2 Линейное внимание

Варианты линейного внимания существуют давно. Например, один из самых ранних, которые я помню, — статья 2020 года Transformers are RNNs: Fast Autoregressive Transformers with Linear Attention, где исследователи аппроксимировали механизм внимания:

Attention(Q, K, V) ≈ φ(Q) · (φ(K)^T · V)

Здесь φ(·) — ядровая функция признаков, установленная как φ(x) = elu(x) + 1.

Эта аппроксимация эффективна, потому что избегает явного вычисления матрицы внимания n×n QK^T, снижая и временную, и пространственную сложность с O(n²) до O(n).

Однако они так и не получили широкого распространения, поскольку ухудшали точность модели, и я ни разу не видел ни одного из этих вариантов, применённого в state-of-the-art LLM с открытыми весами.

14.3 Возрождение линейного внимания

Во второй половине года произошло своеобразное возрождение вариантов линейного внимания. Первой заметной моделью стала MiniMax-M1 с lightning attention. Затем в августе команда Qwen3 последовала с Qwen3-Next. Далее, в сентябре, команда DeepSeek анонсировала DeepSeek V3.2.

Интересно, что произошёл сюжетный поворот: команда MiniMax выпустила новую модель M2 на 230B параметров без линейного внимания, вернувшись к обычному вниманию. Команда заявила, что линейное внимание проблематично в продакшн LLM — оно работало нормально с обычными промптами, но показывало плохую точность в рассуждениях и мультитёрновых задачах.

Однако всё стало ещё интереснее. В октябре команда Kimi выпустила Kimi Linear с линейным вниманием.

Рисунок 41: Обзор гибридных архитектур с линейным вниманием.
Рисунок 41: Обзор гибридных архитектур с линейным вниманием.

14.4 Kimi Linear vs Qwen3-Next

Kimi Linear разделяет несколько структурных сходств с Qwen3-Next. Обе модели полагаются на гибридную стратегию внимания: они комбинируют лёгкое линейное внимание с более тяжёлыми слоями полного внимания. Обе используют соотношение 3:1.

Рисунок 42: Qwen3-Next и Kimi Linear бок о бок.
Рисунок 42: Qwen3-Next и Kimi Linear бок о бок.

Gated DeltaNet — вариант линейного внимания, вдохновлённый рекуррентными нейронными сетями, включающий механизм гейтинга из статьи Gated Delta Networks: Improving Mamba2 with Delta Rule. По сути, Gated DeltaNet — это DeltaNet с гейтингом в стиле Mamba, а DeltaNet — это механизм линейного внимания.

Обратите внимание, что отсутствие блока RoPE в части Kimi Linear на рисунке выше — намеренное. Kimi применяет NoPE (No Positional Embedding) в слоях Multi-Head Latent Attention (MLA). Как утверждают авторы, это позволяет MLA работать как чистое multi-query attention при инференсе и избегает повторной настройки RoPE для масштабирования длинного контекста.

14.5 Kimi Delta Attention

Kimi Linear модифицирует механизм линейного внимания Qwen3-Next через механизм Kimi Delta Attention (KDA), который по сути является доработкой Gated DeltaNet. Тогда как Qwen3-Next применяет скалярный гейт (одно значение на голову внимания) для управления скоростью затухания памяти, Kimi Linear заменяет его поканальным гейтингом для каждой размерности признаков. По словам авторов, это даёт больше контроля над памятью и, в свою очередь, улучшает рассуждения на длинных контекстах.

Кроме того, для слоёв полного внимания Kimi Linear заменяет слои gated attention из Qwen3-Next на Multi-Head Latent Attention (MLA). Это тот же механизм MLA, который мы обсуждали в разделе о DeepSeek V3/R1, но с дополнительным гейтом.


15. Olmo 3 Thinking

Allen AI выпустили свои новые модели Olmo 3 7B и 32B 20 ноября. (Официальное написание было изменено с OLMo на Olmo, поэтому я буду использовать его в этом разделе.)

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

На этот раз набор Olmo также включает дополнительный вариант модели рассуждений (reasoning model) (наряду с базовой и instruct-моделями), и в техническом отчёте Olmo 3 содержится множество интересных деталей об обучении. Однако, поскольку это статья об архитектурных сравнениях, данный раздел сосредоточен только на архитектуре Olmo 3.

Ближайшая модель для сравнения с Olmo 3 — это Qwen3, поскольку серия Qwen3 имеет две модели похожего размера и схожей производительности.

Сначала посмотрим на меньшую из двух — Olmo 3 7B.

Рисунок 44: Olmo 3 7B и Qwen3 8B бок о бок.
Рисунок 44: Olmo 3 7B и Qwen3 8B бок о бок.

Как видим, архитектура Olmo 3 довольно похожа на Qwen3. Однако стоит отметить, что она, вероятно, вдохновлена предшественником Olmo 2, а не Qwen3.

Аналогично Olmo 2, Olmo 3 по-прежнему использует post-norm вместо pre-norm, поскольку в статье об Olmo 2 обнаружили, что это стабилизирует обучение.

Интересно, что модель 7B по-прежнему использует multi-head attention, аналогично Olmo 2. Однако для повышения эффективности и уменьшения размера KV-кэша теперь используется скользящее оконное внимание (sliding window attention) (аналогично Gemma 3).

Далее, посмотрим на модель 32B.

Рисунок 45: Olmo 3 32B и Qwen3 32B бок о бок.
Рисунок 45: Olmo 3 32B и Qwen3 32B бок о бок.

В целом та же архитектура, только масштабированная. Пропорции (например, от входной до промежуточной размерности в feed forward) примерно совпадают с Qwen3.

Вероятно, архитектура изначально была несколько меньше Qwen3 из-за меньшего словаря, и затем они масштабировали коэффициент расширения промежуточной размерности с 5x в Qwen3 до 5.4x в Olmo 3, чтобы получить модель 32B для прямого сравнения.

Также 32B модель использует grouped query attention.

Небольшая деталь: Olmo 3 использует YaRN для расширения контекста до поддерживаемой длины 64k, но только для глобальных (не скользящего оконного внимания) слоёв. (YaRN — по сути техника тщательного масштабирования RoPE, которая помогает лучше сохранять качество модели на длинных контекстах.)

Если вам интересны дополнительные архитектурные детали, я реализовал Olmo 3 с нуля в отдельном ноутбуке здесь.

Рисунок 46: Реализация Olmo 3 с нуля

16. DeepSeek V3.2

Эта статья началась с DeepSeek V3, выпущенного в декабре 2024 года. С тех пор было несколько релизов DeepSeek, но я в основном пропускал их, поскольку это не были крупные флагманские релизы вроде DeepSeek V3 и DeepSeek R1.

Рисунок 47: Временная шкала релизов моделей DeepSeek начиная с DeepSeek V3. Основные модели показаны красным.
Рисунок 47: Временная шкала релизов моделей DeepSeek начиная с DeepSeek V3. Основные модели показаны красным.

Однако DeepSeek V3.2 стал действительно крупным релизом, поскольку он сопоставим с нынешними моделями GPT-5.1 и Gemini 3.0 Pro на определённых бенчмарках.

Архитектура в целом аналогична DeepSeek V3, но они добавили механизм sparse attention для повышения эффективности.

Рисунок 48: Архитектура модели DeepSeek с multi-head latent и sparse attention.
Рисунок 48: Архитектура модели DeepSeek с multi-head latent и sparse attention.

Изначально я планировал написать короткий раздел о DeepSeek V3.2 для этой статьи, но он разросся до более чем 5000 слов, поэтому я вынес его в отдельную статью: A Technical Tour of the DeepSeek Models from V3 to V3.2.

17. Mistral 3

2 декабря 2025 года, через день после релиза DeepSeek V3.2, команда Mistral выпустила новую серию Mistral 3. Она включает три меньшие плотные модели (3B, 8B и 14B) под названием Ministral 3, а также новую флагманскую модель Mistral 3 Large — MoE с 675B параметрами (41B активных). Конкретнее, Mistral 3 Large состоит из:

  • Языковой MoE-модели с 673B параметрами и 39B активных

  • Vision Encoder на 2.5B

(Поскольку эта статья сфокусирована на LLM-аспектах, мы проигнорируем vision encoder в этом разделе.)

Интересно, что это первая MoE от Mistral со времён Mixtral в 2023 году. Ранее в этой статье я писал, что Mistral отказался от MoE, а DeepSeek V3 в прошлом году ознаменовал возрождение MoE-архитектур.

К сожалению, технического отчёта нет. Однако, поскольку это модель с открытыми весами, у нас есть веса модели на Hugging Face Hub для анализа.

Как оказалось, Mistral 3 Large — это та же самая архитектура, что и DeepSeek V3 и V3.1! Единственное отличие — они увеличили размер экспертов в 2 раза, одновременно уменьшив их количество в те же 2 раза.

Рисунок 50: DeepSeek V3 и Mistral 3 Large бок о бок.
Рисунок 50: DeepSeek V3 и Mistral 3 Large бок о бок.

Хотя это по сути та же архитектура, команда Mistral, вероятно, обучила Mistral 3 с нуля, а не инициализировала его из DeepSeek V3, поскольку Mistral использует собственный токенизатор.

После Kimi K2, Mistral 3 стала второй серией моделей, использующих архитектуру DeepSeek V3. Однако где команда Kimi K2 масштабировала размер модели с 671B до 1 триллиона, команда Mistral 3 только изменила соотношение размеров экспертов и добавила vision encoder для мультимодальной поддержки. И почему бы нет? Я считаю, что DeepSeek V3 — довольно солидный архитектурный дизайн, плюс у него есть приятные аспекты эффективности MoE и MLA. Зачем менять то, что работает? Много «секретного соуса» сейчас находится в пайплайне обучения, а также в стратегиях масштабирования инференса.

Рисунок 49: Бенчмарки Mistral 3 Large из анонса Mistral 3 с наложенными результатами DeepSeek V3.2 (из статьи DeepSeek V3.2).
Рисунок 49: Бенчмарки Mistral 3 Large из анонса Mistral 3 с наложенными результатами DeepSeek V3.2 (из статьи DeepSeek V3.2).

18. Nemotron 3 Nano и Super

Пришло время наконец добавить одну из моделей NVIDIA в этот список. NVIDIA выпустила свою новую серию Nemotron 3 15 декабря 2025 года. Что приятно в Nemotron — это не только открытые веса и технический отчёт, но NVIDIA также делится набором данных и кодом обучения, аналогично Olmo 3.

Nemotron 3 выпускается в трёх размерах: Nano (30B-A3B), Super (120B) и Ultra (500B).

18.1 Nemotron 3 Nano

По архитектуре модели представляют собой гибрид Mixture-of-Experts (MoE) Mamba-Transformer.

Рисунок 51.1: Схема модели Nemotron 3 Nano — гибрида Transformer-Mamba.
Рисунок 51.1: Схема модели Nemotron 3 Nano — гибрида Transformer-Mamba.

Nemotron 3 Nano (30B-A3B) — это 52-слойная гибридная модель Mamba-Transformer, которая чередует блоки моделирования последовательностей Mamba-2 с разреженными MoE feed-forward слоями, используя self-attention только в небольшом подмножестве слоёв.

Архитектура организована в 13 макро-блоков с повторяющимися подблоками Mamba-2 → MoE, плюс несколько слоёв Grouped-Query Attention. В сумме 52 слоя.

Что касается MoE-модулей, каждый MoE-слой содержит 128 экспертов, но активирует только 1 общего и 6 маршрутизируемых экспертов на токен.

Сходство между Gated DeltaNet и слоями Mamba-2 в том, что оба заменяют стандартное внимание обновлением состояния с гейтингом в стиле пространства состояний (state-space). Идея такого модуля — поддерживать текущее скрытое состояние и смешивать новые входные данные через обученные вентили. В отличие от внимания, он масштабируется линейно, а не квадратично с длиной входной последовательности.

Что действительно воодушевляет в этой архитектуре — её отличная производительность по сравнению с чисто трансформерными архитектурами аналогичного размера, при достижении значительно более высокой скорости token/sec.

18.2 Nemotron 3 Super

11 марта 2026 года NVIDIA также выпустила версию Super на 120B в виде модели с открытыми весами на Hugging Face Hub вместе с новым техническим отчётом.

По сравнению с Nano, помимо масштабирования архитектуры, есть два основных изменения.

Во-первых, Nemotron 3 Super использует Multi-Token Prediction (MTP) — технику, обучающую LLM предсказывать несколько будущих токенов на каждом шаге. Ключевое отличие от стандартного использования MTP — Nemotron 3 Super явно использует MTP и при инференсе, где MTP-голова с общими весами действует как внутренняя модель-черновик для нативного спекулятивного декодирования.

Рисунок 51.2: Multi-Token Prediction vs обычное предсказание следующего токена.
Рисунок 51.2: Multi-Token Prediction vs обычное предсказание следующего токена.

Второе главное отличие от Nano — архитектура Super использует латентных экспертов (latent experts), то есть эксперты работают в латентном пространстве (входы MoE-слоя понижаются с 4096 до 1024 размерностей, применяются эксперты, затем выходы повышаются обратно с 1024 до 4096).

Рисунок 51.3: Nemotron 3 Super 120B-A12B с латентными MoE-слоями, multi-token prediction и гибридным вниманием Mamba-2.
Рисунок 51.3: Nemotron 3 Super 120B-A12B с латентными MoE-слоями, multi-token prediction и гибридным вниманием Mamba-2.

По бенчмаркам Nemotron 3 Super сопоставим с Qwen3.5 122B-A10B и GPT-OSS 120B, но пропускная способность благодаря вышеупомянутым «трюкам» (MTP, латентный MoE и гибридное внимание) впечатляет: в 2 раза быстрее Qwen3.5 122B-A10B и (для версии NVFP4) в 2.2 раза быстрее GPT-OSS 120B.

Рисунок 51.4: Сравнение бенчмарков Nemotron 3 Super со страницы Hugging Face Hub.
Рисунок 51.4: Сравнение бенчмарков Nemotron 3 Super со страницы Hugging Face Hub.

19. Xiaomi MiMo-V2-Flash

В декабре 2025 года появился ещё один впечатляющий участник. Xiaomi выпустила свою модель MiMo-V2-Flash с впечатляющей производительностью на бенчмарках, сопоставимой с DeepSeek V3.2, при этом имея вдвое меньше параметров и будучи быстрее при инференсе. Это MoE-модель с 309B параметрами и 15B активных параметров на токен.

Интересно, что она использует скользящее оконное внимание (SWA) в соотношении 5:1 с глобальным (обычным) вниманием, аналогично Gemma 3. Однако использует гораздо более агрессивный размер скользящего окна (128) — в 8 раз меньше, чем у Gemma 3 (1024).

Рисунок 52: Xiaomi MiMo-V2-Flash в с��авнении с DeepSeek V3.2, имеющим похожую производительность на бенчмарках.
Рисунок 52: Xiaomi MiMo-V2-Flash в сравнении с DeepSeek V3.2, имеющим похожую производительность на бенчмарках.

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

Дополнительно модель Xiaomi использует multi-token prediction (MTP), описанный ранее в разделе 12.3.

20. Arcee AI Trinity Large

27 января Arcee AI начала выпускать версии своей Trinity Large LLM с открытыми весами на 400B параметров, а также два меньших варианта.

Флагманская модель — MoE на 400B параметров (13B активных). Два меньших варианта: Trinity Mini (26B с 3B активных) и Trinity Nano (6B с 1B активных).

Рисунок 53: Обзор архитектуры Trinity Large.
Рисунок 53: Обзор архитектуры Trinity Large.

Рассмотрим 400B флагманскую модель поближе, сравнив с ранее обсуждавшейся GLM 4.5 (раздел 11).

Рисунок 54: Arcee AI Trinity Large рядом с GLM 4.5 относительно похожего размера (400B vs 355B).
Рисунок 54: Arcee AI Trinity Large рядом с GLM 4.5 относительно похожего размера (400B vs 355B).

К модели Trinity добавлено несколько интересных архитектурных компонентов:

Во-первых, чередующиеся локальные:глобальные (скользящее оконное) слои внимания, как в Gemma 3, Olmo 3, Xiaomi MiMo и др. Но вместо распространённого соотношения 5:1, они выбрали 3:1 (аналогично Olmo 3) и относительно большой размер скользящего окна 4096 (тоже аналогично Olmo 3).

В дополнение к QK-Norm, они используют NoPE в глобальных слоях. Также присутствует форма gated attention — не полноценный GatedDeltaNet, но аналогичный гейтинг, как в механизме внимания Qwen3-Next.

Рисунок 55: Иллюстрация механизма гейтинга, который Trinity Large использует в механизме внимания.
Рисунок 55: Иллюстрация механизма гейтинга, который Trinity Large использует в механизме внимания.

Возможно, вы заметили использование четырёх (вместо двух) слоёв RMSNorm в предыдущем рисунке архитектуры Trinity Large. Это их так называемый depth-scaled sandwich norm — выглядит как расположение RMSNorm в стиле Gemma 3, но с поправкой: gain второго RMSNorm (в каждом блоке) масштабируется по глубине, то есть инициализируется примерно как 1/√L (где L — общее число слоёв). Таким образом, в начале обучения обновление residual начинается малым и растёт по мере обучения.

MoE — аналогичный DeepSeek MoE с множеством маленьких экспертов, но сделанный более «грубым», что помогает с пропускной способностью инференса.

21. GLM-5

Китайский Новый Год стал на удивление надёжным окном для сильных релизов с открытыми весами. Например, GLM-4 и Qwen 1.5 были выпущены в январе-феврале 2024, DeepSeek R1 и Qwen 2.5 — в 2025.

В этом году z.AI (Zhipu AI) снова начала (довольно рано) с GLM-5 11 февраля 2026 года, примерно за неделю до Лунного Нового года 17 февраля.

Релиз GLM-5 стал крупным событием, поскольку на момент выпуска модель, по-видимому, была на уровне ведущих флагманских LLM, включая GPT-5.2 extra-high, Gemini Pro 3 и Claude 4.6 Opus. (Тем не менее, производительность на бенчмарках не обязательно транслируется в производительность в реальном мире.)

GLM-5 (744B параметров, 40B активных) перенял как MLA, так и DeepSeek Sparse Attention с собственными модификациями — крупное обновление по сравнению с GLM-4.5.


Оригинальная статья: The Big LLM Architecture Comparison — Sebastian Raschka, PhD, Ahead of AI (Substack), 19 июля 2025 г.