Kimi, Qwen, GLM, MiniMax — разбор ключевых идей
Что четыре китайские лаборатории добавили к рецепту DeepSeek — MuonClip и агентные данные Kimi K2, гибридное мышление Qwen3, Gated DeltaNet, slime и DSA у GLM, путь MiniMax от линейного внимания к полному и дальше.
Зачем это нужно
Заголовок раздела «Зачем это нужно»DeepSeek — не единственная китайская лаборатория, публикующая веса и подробные отчёты. В 2025 году Moonshot (Kimi), Alibaba (Qwen), Zhipu (GLM) и MiniMax выпустили модели фронтир-уровня, и у каждой была своя инженерная ставка. Если вы знаете только DeepSeek, вы видите одну точку в пространстве решений. Четыре соседние точки показывают, какие ещё есть оси: стабильность оптимизатора, данные для агентов, режимы мышления, тип внимания.
Урок устроен так: по одной ключевой идее на лабораторию — с механизмом, числами и кодом. В конце — сводка уроков для инженера. Механику многих идей вы проходите в модулях 5.4, 5.5 и 6.4; здесь важнее зачем и какой ценой.
| Лаборатория | Модель | Всего / активно | Доля активных | Ключевая идея |
|---|---|---|---|---|
| DeepSeek (для сравнения) | V3, 12.2024 | 671B / 37B | 5.5% | MLA, MoE, FP8 |
| Moonshot AI | Kimi K2, 07.2025 | ≈1T / 32B | ≈3.2% | MuonClip, синтез агентных данных |
| Alibaba | Qwen3-235B-A22B, 04.2025 | 235B / 22B | 9.4% | гибридное мышление, strong-to-weak |
| Alibaba | Qwen3-Next-80B-A3B, 09.2025 | 80B / 3B | 3.75% | Gated DeltaNet + gated attention |
| Zhipu (Z.ai) | GLM-4.5, 07.2025 | 355B / 32B | 9.0% | ARC в одной модели, RL на slime |
| MiniMax | MiniMax-01, 01.2025 | 456B / 45.9B | 10.1% | Lightning Attention |
| MiniMax | M2, 10.2025 | 230B / 10B | 4.3% | возврат к полному вниманию |
Уже по таблице виден тренд: смесь экспертовсмесь экспертов (MoE)EN mixture of experts (MoE) становятся всё разреженнее. У моделей второй половины 2025 года доля активных параметровактивные параметрыEN activated (active) parametersСколько параметров MoE-модели реально участвует в обработке одного токена. «A22B» в названии Qwen3-235B-A22B — 22 млрд активных из 235 млрд. опускается до 3–4%, хотя GLM-4.5 и Qwen3 держатся около 9%.
Kimi K2: стабильность как фича
Заголовок раздела «Kimi K2: стабильность как фича»«V3, но разреженнее»
Заголовок раздела ««V3, но разреженнее»»Kimi K2 близка к архитектуре DeepSeek-V3: многоголовое латентное вниманиемногоголовое латентное внимание (MLA)EN multi-head latent attention (MLA)Предложено DeepSeek в DeepSeek-V2 (2024)., MoE с общим экспертом. Ключевых отличий два, и оба обоснованы экспериментами. Экспертов 384 вместо 256 при тех же 8 активных — разреженность 48. Авторы вывели «закон масштабирования разреженности»: при фиксированных активных параметрах больше экспертов — ниже loss. Голов внимания 64 вместо 128: на контексте 128K удвоение голов увеличило бы FLOPs инференса на 83%, а выигрыш в loss был скромным. Для агентной модели, которая живёт на длинных контекстах, это неудачный размен.
Проблема: взрывающиеся логиты
Заголовок раздела «Проблема: взрывающиеся логиты»Moonshot сделала ставку на оптимизатор MuonMuon (оптимизатор)EN Muon optimizerОптимизатор для матриц весов (Келлер Джордан, 2024) — momentum, затем ортогонализация обновления итерациями Ньютона–Шульца. Moonshot масштабировала его до Kimi K2. (Келлер Джордан, 2024): обновление матрицы весов ортогонализуется итерациями Ньютона–Шульца. В работе Moonlight (arXiv:2502.16982, модель 16B-A3B) команда показала, что Muon в масштабе даёт примерно двукратный выигрыш в вычислительной эффективности по сравнению с AdamW. Подробно — в уроке 5.4.4.
При масштабировании вылезла беда: максимальные attention-логиты некоторых голов росли без ограничений. Огромный логит превращает softmax почти в one-hot, градиенты становятся резкими, и loss начинает скакать.
Решение: QK-Clip
Заголовок раздела «Решение: QK-Clip»Стандартные средства здесь не подходят. QK-NormQK-нормализация (QK-Norm)EN QK-NormНормализация (обычно RMSNorm) запросов и ключей перед скалярным произведением. Ограничивает рост attention-логитов; используется, например, в Qwen3. (нормализация запросов и ключей) требует целых ключей, а в MLA на инференсе хранится только латент, ключи целиком не материализуются. Поэтому Moonshot придумала QK-ClipQK-ClipEN QK-ClipПриём из Kimi K2 — если максимальный attention-логит головы превысил порог τ, веса W_q и W_k этой головы умножают на √(τ / max). Вместе с Muon — оптимизатор MuonClip.. Идея простая: если логиты головы слишком велики, уменьшить веса запросов и ключей этой головы. После каждого шага оптимизатора для каждой головы берут максимальный логит , который она выдала на батче, и при делают
Логит — произведение запроса на ключ, поэтому он умножится ровно на , и максимум станет равен . В K2 порог . Три детали, которые стоит понять:
- По головам, а не глобально. Большинство голов здоровы; общий множитель исказил бы и их.
- Веса, а не логиты. Обрезать сами логиты (soft-cap) — значит менять функцию модели на каждом шаге. QK-Clip корректирует сами параметры и срабатывает, только когда голова превысила порог; в остальное время он ничего не меняет.
- Особенность MLA. Масштабируются только части, принадлежащие голове: контентные части запроса и ключа — на , RoPE-часть запроса — сразу на . Общий для всех голов RoPE-ключ не трогают, иначе пострадали бы соседние головы.
Muon вместе с QK-Clip и рядом доработок называют MuonClip. Результат: претрейн K2 на 15.5T токенов без единого всплеска loss. Это сильное утверждение, и в отчёте его подтверждает график loss за весь прогон.
Синтез агентных данных
Заголовок раздела «Синтез агентных данных»Вторая половина отчёта K2 — о данных для агентов. Коротко: более 3000 реальных MCP-инструментов с GitHub и более 20 000 синтетических, тысячи «агентов» с задачами и рубриками успеха, траектории с симулированным пользователем (для кода — настоящие песочницы) и LLM-судья, который пропускает в обучение только успешные. В RL проверяемые награды дополнены самокритикой по рубрикам. Весь конвейер по шагам разобран в уроке 8.3.4. Урок отсюда: для агентов главный актив — не архитектура, а фабрика сред и задач.
Qwen3: одна модель — два режима
Заголовок раздела «Qwen3: одна модель — два режима»Гибридное мышление
Заголовок раздела «Гибридное мышление»Qwen3 (апрель 2025, Apache-2.0) — семейство от 0.6B до 32B плотных моделей и две MoE: 30B-A3B и 235B-A22B.
Претрейн на 36T токенов, 119 языков и диалектов. Главная продуктовая идея — гибридный режим мышлениягибридный режим мышленияEN hybrid thinking modeОдна модель умеет отвечать и с длинным рассуждением, и сразу. В Qwen3 режим переключается флагами /think и /no_think.:
одна модель умеет и долго рассуждать, и отвечать сразу. Режим включается флагом в сообщении пользователя
(/think, /no_think) или параметром chat-шаблонаchat-шаблонEN chat templateПравило (обычно Jinja в tokenizer_config.json), которое превращает список сообщений с ролями в одну строку со спецтокенами. enable_thinking. В режиме без
рассуждения ответ начинается с пустого блока <think>. При enable_thinking=False его подставляет сам шаблон, а на флаг
/no_think модель выводит его сама — этому её учили на этапе слияния режимов (о нём ниже):
<|im_start|>userСколько будет 17 × 24? /no_think<|im_end|><|im_start|>assistant<think>
</think>
408<|im_end|>Модель видит, что рассуждение «уже закончилось», и сразу отвечает. На том же приёме держится бюджет мышления: когда рассуждение достигает заданной длины, его обрывают, вставляют закрывающий тег и просят ответить. В отчёте показано, что качество плавно растёт с бюджетом. Получается ручка «точность ↔ задержка» в руках пользователя.
Флагманы обучали в четыре этапа: длинный CoT как холодный старт → RL на рассуждения → слияние режимов (SFT на смеси данных с рассуждением и без) → общий RL на более чем двадцати типах задач. Первые два этапа — рецепт R1 (урок 7 этого трека), третий — собственная идея Qwen.
Strong-to-weak: как учить маленькие модели
Заголовок раздела «Strong-to-weak: как учить маленькие модели»Для моделей 0.6B–14B и 30B-A3B четырёхэтапный конвейер не используют. Вместо него — дистилляция «от сильной к слабой»дистилляция «от сильной к слабой»EN strong-to-weak distillationСхема Qwen3 для маленьких моделей. Сначала обучение на ответах большой модели (off-policy), затем подгонка к её логитам на собственных генерациях ученика (on-policy). в две фазы:
- Off-policy: SFT на ответах большой модели-учителя в обоих режимах.
- On-policyon-policy (обучение на данных текущей политики)EN on-policyПротивоположность — off-policy, обучение на данных другой политики.: ученик сам генерирует ответы, а обучается приближать свои логиты к логитам учителя на своих же последовательностях — минимизирует KL между распределениями.
On-policy-фаза лечит знакомую проблему: при обычном SFT ученик видит только «идеальные» префиксы учителя и не учится выбираться из собственных ошибок. Когда последовательности сэмплирует сам ученик, учитель поправляет его там, где ученик реально ошибается. По отчёту, такая дистилляция даёт маленьким моделям больше, чем RL, и требует примерно в 10 раз меньше GPU-часов. Тот же вывод, что и в R1 §4.1. Подробнее — в уроке 6.4.4.
Qwen3-Next: память, которая умеет перезаписывать
Заголовок раздела «Qwen3-Next: память, которая умеет перезаписывать»Длинный контекст упирается в квадратичное внимание и растущий KV-кэшKV-кэшEN KV cache. линейное вниманиелинейное вниманиеEN linear attention хранит вместо кэша матрицу памяти фиксированного размера . Запись — , чтение — . Беда в том, что записи только накапливаются: значения по похожим ключам смешиваются, а забыть что-либо нельзя.
Delta rule записывает не значение, а ошибку предсказания: что память сейчас возвращает по ключу и что должна. Gated добавляет гейт забывания , а задаёт силу записи. Ключи нормируются к единичной длине (). Получается правило Gated DeltaNet (работа NVIDIA и MIT, не китайская, но Qwen сделала её основой своей архитектуры):
При и единичном чтение по тому же ключу после записи возвращает ровно новое : старое значение стёрто. Пример из задания ниже: по ключу записали , затем . Линейное внимание прочитает — сумму, delta rule прочитает .
Qwen3-Next-80B-A3B (сентябрь 2025) чередует слои 3:1: три слоя Gated DeltaNet и один слой обычного внимания с выходным гейтом. Ещё в модели 512 экспертов и MTP. Выходной гейт — отдельная работа Qwen (arXiv:2505.06708, доклад на NeurIPS 2025): после внимания выход умножается на . Это добавляет нелинейность, делает внимание разреженнее и убирает attention sink«сток» внимания (attention sink)EN attention sinkПервые токены получают аномально большой вес внимания независимо от смысла — туда softmax «сливает» лишнюю массу. Не путайте со сходным китайским термином из d2l-zh («схождение внимания»): там так переведено attention pooling (взвешенное усреднение значений). — аномально большой вес первого токена. Тот же гибрид 3:1 перешёл во флагман Qwen3.5 (февраль 2026). У Kimi похожий путь: Kimi Linear (arXiv:2510.26692) заменяет скалярный гейт поканальным (KDA) и тоже чередует его с MLA. Механику линейного внимания вы разбираете в уроке 5.5.3.
GLM-4.5 и GLM-5: агентное обучение и заимствование идей
Заголовок раздела «GLM-4.5 и GLM-5: агентное обучение и заимствование идей»GLM-4.5 (Zhipu, июль 2025, MIT): 355B-A32B и облегчённая Air 106B-A12B. Позиционирование — ARC: агенты, рассуждения и код в одной модели с гибридным режимом мышления. Два архитектурных решения идут против моды:
- модель глубже и уже, чем V3 и K2: меньше ширина и число экспертов, больше слоёв — глубина помогала рассуждениям;
- 96 голов внимания при скрытом размере 5120, в 2.5 раза больше обычного. Loss от этого не улучшился, а вот бенчмарки рассуждений (MMLU, BBH) росли стабильно. Хорошее напоминание: loss — не единственная метрика.
Пост-трейнинг: сначала обучают отдельные экспертные модели (рассуждения, агенты, общий чат), затем сливают их в одну через самодистилляцию. RL идёт на собственном фреймворке slime (github.com/THUDM/slime): обучение на Megatron, генерация на SGLang. Ключевая возможность — асинхронный режим. В агентной задаче один эпизод — это минуты взаимодействия со средой. В синхронном RL обучающие GPU всё это время простаивали бы, поэтому генерацию и обучение развязывают. Выигрыш и цену такого режима (устаревшие траектории) мы считали в уроке 8.3.4.
GLM-5 (февраль 2026, arXiv:2602.15763, MIT): 744B-A40B, и в нём используется DeepSeek Sparse Attention из DeepSeek-V3.2. Дешёвый «lightning indexer» оценивает все прошлые токены, а полное внимание считается только по top-k из них (подробно — в уроке 5.5.2). Лаборатория взяла чужую открытую идею через несколько месяцев после публикации. Это и есть главный эффект открытых весов и отчётов: инновации одной команды становятся строительными блоками для других. Сообщается также, что GLM-5 адаптирована под семь китайских чиповых платформ.
MiniMax: от линейного внимания к полному — и дальше
Заголовок раздела «MiniMax: от линейного внимания к полному — и дальше»MiniMax — самый поучительный сюжет урока, потому что команда несколько раз меняла курс и объясняла почему.
flowchart LR A["MiniMax-01, 01.2025<br/>Lightning Attention<br/>7 линейных : 1 softmax"] --> B["M1, 06.2025<br/>тот же гибрид<br/>+ RL с CISPO"] B --> C["M2, 10.2025<br/>полное внимание"] C --> D["M3, 06.2026<br/>разреженное MSA"]
MiniMax-01 — 456B / 45.9B. Lightning Attention — линейное внимание с тайлингом: внутри блока считается обычная маскированная матрица, между блоками переносится рекуррентное состояние. Семь таких слоёв чередуются с одним слоем softmax-внимания. Контекст при обучении — до 1M токенов, на инференсе — до 4M.
MiniMax-M1 (arXiv:2506.13585, Apache-2.0) — reasoning-модель на той же базе. Новый RL-алгоритм CISPO обрезает веса выборка по значимостивыборка по значимости (importance sampling)EN importance samplingПеревзвешивание сэмплов старой политики отношением π_new / π_old — основа PPO., а не обновления токенов, так что градиент получают все токены (подробнее — в уроке 6.4.3). Это важно для редких «развилочных» слов вроде «однако» и «перепроверю». Весь RL занял три недели на 512 H800 и обошёлся в 534 700 долл. аренды. На генерации длиной 100K токенов M1, по заявлению авторов, тратит около 25% FLOPs DeepSeek-R1: вот где окупается линейное внимание.
MiniMax-M2 (октябрь 2025) — 230B / 10B и… полное внимание. Команда объяснила решение в посте «Why did M2 end up as a full attention model?». В пересказе аргументы такие:
- на стандартных бенчмарках эффективное внимание не уступало, но отставало в сложных многошаговых рассуждениях и агентных сценариях, которые бенчмарки покрывают плохо;
- система оценки не позволяла надёжно поймать такие провалы на ранних, дешёвых экспериментах;
- инфраструктура инференса — ядра, кэш префиксов, спекулятивное декодирование — для полного внимания зрелая, для линейного и гибридного нет;
- при нынешних длинах контекста выигрыш не оправдывал риск. Команда оставила вопрос открытым до момента, когда контексты станут длиннее.
MiniMax-M3 (июнь 2026, по данным отчёта arXiv:2606.13392) снова отходит от полного внимания, но уже к разреженному: индексная ветвь выбирает top-k блоков KV отдельно для каждой группы GQA, примерно 2048 токенов на запрос, контекст 1M. Это свежий результат; детали стоит сверять с первоисточником.
Уроки для инженера
Заголовок раздела «Уроки для инженера»- Стабильность — это фича. Логируйте максимальные attention-логиты: это дешёвый ранний индикатор будущих всплесков loss (см. урок 3.3.3 об отладке обучения).
- Для агентов данные важнее архитектуры. K2 и GLM-4.5 вкладываются в синтез сред, инструментов и рубрик.
- Режимы мышления — продуктовый компромисс. Гибрид удобен, раздельные модели качественнее. Qwen попробовала оба пути.
- Маленькие модели — дистиллируйте. Strong-to-weak у Qwen3 и R1-Distill приходят к одному выводу.
- Проверяйте на своих задачах. История MiniMax показывает, что «не хуже на бенчмарках» ещё не значит «не хуже у вас».
- Идеи текут между лабораториями. K2 построена на архитектуре V3, GLM-5 взял DSA у DeepSeek, Qwen — Gated DeltaNet у NVIDIA и MIT. Открытая публикация ускоряет всех.
Практика
Заголовок раздела «Практика»Два коротких задания на NumPy — по одному на самую «инженерную» идею урока.
"""QK-Clip из Kimi K2 (arXiv:2507.20534): не даём attention-логитам взрываться.
Формы: X — (T, d) входы слоя; Wq, Wk — (H, d, d_h) проекции запросов и ключей каждой головы.
Логит головы h: s_h[i, j] = q_i · k_j / sqrt(d_h), q_i = X[i] @ Wq[h], k_j = X[j] @ Wk[h].
"""
import numpy as np
def max_logits(X, Wq, Wk):
"""Массив (H,): максимальный логит каждой головы по парам (i, j) с j <= i (причинная маска)."""
# TODO: ваш код (подсказка: np.einsum или цикл по головам; маска np.tril)
...
def qk_clip(Wq, Wk, s_max, tau):
"""Вернуть НОВЫЕ (Wq, Wk) после QK-Clip.
Для каждой головы h с s_max[h] > tau: gamma = tau / s_max[h], и Wq[h], Wk[h] умножаются
на sqrt(gamma) каждая (тогда все логиты головы умножатся ровно на gamma).
Остальные головы не трогать. Исходные массивы не изменять.
"""
# TODO: ваш код
...
rng = np.random.default_rng(0)
X = rng.normal(size=(6, 8))
Wq = rng.normal(size=(3, 8, 4))
Wk = rng.normal(size=(3, 8, 4))
Wk[1] *= 5 # «разогнанная» голова 1
s = max_logits(X, Wq, Wk)
print("до: ", s)
res = qk_clip(Wq, Wk, s, tau=10.0)
if res is not None:
print("после:", max_logits(X, *res))
"""Память линейного внимания: обычное правило против gated delta rule (Gated DeltaNet в Qwen3-Next).
Память — матрица S формы (d_v, d_k). Запись пары (ключ k, значение v), чтение по запросу q: S @ q.
"""
import numpy as np
def read(S, q):
"""Прочитать из памяти: вектор S @ q формы (d_v,)."""
# TODO: ваш код
...
def linear_update(S, k, v):
"""Обычное линейное внимание: просто прибавить внешнее произведение v kᵀ."""
# TODO: ваш код
...
def delta_update(S, k, v, alpha, beta):
"""Gated delta rule: S_new = alpha · S (I − beta · k kᵀ) + beta · v kᵀ
alpha ∈ [0, 1] — гейт забывания (затухание всей памяти),
beta ∈ [0, 1] — сила записи. Не изменяйте S на месте — верните новую матрицу.
"""
# TODO: ваш код
...
k = np.array([1.0, 0.0, 0.0])
v1, v2 = np.array([1.0, 2.0]), np.array([5.0, -1.0])
S = np.zeros((2, 3))
print("линейное:", read(linear_update(linear_update(S, k, v1), k, v2), k))
print("delta: ", read(delta_update(delta_update(S, k, v1, 1, 1), k, v2, 1, 1), k))
Проверь себя
Заголовок раздела «Проверь себя»- Kimi K2: разреженность 48 и 64 головы ради длинного контекста; QK-Clip удерживает логиты, и 15.5T токенов проходят без всплесков; данные для агентов синтезируются фабрикой сред.
- Qwen3: гибридное мышление с бюджетом в одних весах и strong-to-weak дистилляция для маленьких моделей; Qwen3-Next чередует Gated DeltaNet и gated attention 3:1.
- GLM: глубокая модель с множеством голов, экспертные модели и самодистилляция, асинхронный RL на slime; GLM-5 взял DSA у DeepSeek.
- MiniMax: линейное внимание → полное → разреженное. Архитектуру выбирают по реальным задачам и зрелости инфраструктуры, а не только по асимптотике.
Дальше: как Китай учит ИИ — от школы до университета: откуда берутся инженеры этих лабораторий. Идеи этого урока примеряйте к своим экспериментам на ступенях 5–6, а за свежими релизами следите по уроку 9.2.2 — там о том, как читать статьи и отличать громкие заявления от проверенных.