Moonshot AI выпустила веса Kimi K3 — мультимодальной MoE‑модели с 2,8 трлн параметров, из которых на каждом токене активируются 104 млрд. В отдельных тестах программирования и работы с инструментами K3 обходит Claude Opus 4.8, GPT-5.5, GPT-5.6 Sol или Claude Fable 5. Однако сводить релиз к таблице результатов было бы ошибкой: сама Moonshot признаёт в техническом отчёте, что в среднем модель уступает Fable 5 и GPT-5.6 Sol.
Как следует из технического блога Moonshot, все решения K3 проектировались совместно: гибрид Kimi Delta Attention и глобального MLA, Attention Residuals, MoE на 896 экспертов, обучение длинных агентных траекторий и отдельная система кеширования. Разберём, какие задачи решает каждый компонент, что подтверждено опубликованными материалами и где отчёту Moonshot пока приходится верить на слово.
Спецификация релиза
|
Параметр |
Kimi K3 |
|---|---|
|
Всего параметров |
2,78 трлн |
|
Активных параметров |
104,2 млрд |
|
Слоёв |
93 |
|
Слои внимания |
69 KDA + 24 Gated MLA |
|
Размер скрытого состояния |
7 168 |
|
Голов внимания |
96 |
|
Маршрутизируемых экспертов |
896 |
|
Активных экспертов на токен |
16 |
|
Общих экспертов |
2 |
|
Контекст |
1 048 576 токенов |
|
Зрительный энкодер |
MoonViT‑V2, 27 слоёв, 401 млн параметров |
|
Квантизация |
веса экспертов MXFP4, активации MXFP8 |
Конфигурация на Hugging Face подтверждает эти параметры. Веса разбиты на 96 файлов safetensors общим объёмом около 1,56 ТБ. Это открытые веса, но не безусловно открытая лицензия: крупному поставщику доступа к модели как к услуге с выручкой свыше 20 млн долларов за последовательные 12 месяцев может потребоваться отдельное соглашение с Moonshot.
Архитектура по трём осям
Moonshot описывает K3 как систему смешивания информации по последовательности, глубине и каналам. Такое деление точнее обычного перечня слоёв: каждое направление масштабируется отдельным механизмом.
Последовательность: три KDA на один глобальный MLA
Базовая архитектура повторяет схему:
KDA -> KDA -> KDA -> Gated MLA
Последний слой тоже использует MLA, поэтому выход всегда проходит через глобальное внимание.
Kimi Delta Attention — рекуррентный вариант линейного внимания. Вместо растущего KV‑кеша он поддерживает состояние фиксированного размера и обновляет его по дельта‑правилу. Поканальный коэффициент забывания определяет, какую часть прежнего состояния сохранить перед новой записью.
В K3 Moonshot изменила параметризацию коэффициента забывания:
g = g_min * sigmoid(exp(A) * z)alpha = exp(g)g_min = -5
У Kimi Linear логарифм затухания не был ограничен снизу. Внутри поблочного алгоритма накопленное обратное масштабирование могло переполняться, поэтому диагональные 16-токенные блоки обрабатывало отдельное ядро для пар позиций. Ограничение g_min = -5 удерживает диапазон в пределах BF16 и позволяет выполнять все каузальные блоки плотными матричными умножениями на Tensor Cores.
Это редкий случай, когда изменение математической формулы прямо удаляет ветку из ядра для графического процессора. Результат — более однородное вычисление без специального медленного пути для диагонали.
KDA всё равно хранит конечное рекуррентное состояние, поэтому каждый четвёртый слой использует Multi‑head Latent Attention. MLA сжимает ключи и значения токена в латентный вектор, но сохраняет глобальное взаимодействие между позициями. Явного позиционного кодирования у этих слоёв нет: KDA передаёт информацию о порядке и давности, а MLA отвечает за глобальное содержательное сопоставление. Поэтому при расширении контекста не требуется перенастраивать RoPE или YaRN.
Глубина: Attention Residuals
Обычная остаточная связь добавляет выход очередного слоя к накопленному состоянию с фиксированным весом. По мере роста глубины всё предыдущее вычисление сжимается в один поток.
Attention Residuals заменяет фиксированное суммирование вниманием по выходам предыдущих слоёв. Каждый слой может выбирать, представление какой глубины ему нужно. Полный вариант требует хранить все выходы, поэтому K3 использует Block AttnRes:
-
слои объединяются в блоки по 12;
-
внутри блока выходы суммируются;
-
внимание работает по представлениям блоков;
-
исходный эмбеддинг остаётся отдельным источником;
-
объём живых состояний и межстадийной передачи снижается с
O(Ld)доO(Nd).
Отдельная работа Moonshot по AttnRes показывает улучшение на модели Kimi Linear с 48 млрд параметров, из которых активны 3 млрд. Для K3 опубликована конфигурация и описание реализации, но независимой репликации на масштабе 2,8 трлн параметров пока нет.
Каналы: Stable LatentMoE
Если отправлять полное скрытое состояние шириной 7 168 во все 16 выбранных экспертов, коммуникации и чтение весов быстро съедят преимущества разреженной модели. LatentMoE сначала сжимает маршрутизируемую ветвь до ширины 3 584, выполняет экспертные FFN в этом пространстве и проецирует результат обратно. Два общих эксперта работают в полной ширине.
При 896 экспертах Moonshot столкнулась с двумя проблемами: выбросами активаций и неравномерной нагрузкой.
Для ограничения активаций добавлены RMSNorm перед обратной проекцией и SiTU‑GLU вместо SwiGLU. Обе мультипликативные ветви SiTU ограничены плавной функцией tanh; для K3 используются коэффициенты 4 и 25, поэтому модуль произведения не превышает 100. Около нуля функция сохраняет поведение SwiGLU, но большие положительные значения больше не дают квадратичного роста.
Нагрузку распределяет метод квантильной балансировки (Quantile Balancing). Смещение эксперта влияет на выбор Top‑k, но не входит в веса смеси и не искажает градиент маршрутизатора. Следующее смещение вычисляется из квантили зазора, соответствующей целевому числу токенов на эксперта. При распределённом обучении точную квантиль заменяет гистограмма: процессы суммируют её корзины одной операцией all-reduce.
Так Moonshot убрала чувствительный параметр шага балансировки и привязала коррекцию непосредственно к требуемой загрузке.
Мультимодальность с начала предобучения
MoonViT‑V2 обучался с нуля вместе с языковой моделью с общей целью предсказания следующего токена. Moonshot отказалась от инициализации SigLIP: во внутренних экспериментах предварительно обученный энкодер создавал более высокие нормы градиентов и частые всплески.
Зрительный путь включает 27-слойный ViT, раздельные пространственные и временные проходы внимания и агрегирование по времени. Операция Pixel Shuffle 2×2 сокращает число зрительных токенов в четыре раза. Максимальное заявленное разрешение — 3584×3584.
Опубликованный график подтверждает более спокойную динамику градиентов MoonViT‑V2, но не содержит числовой абляции качества и стоимости. Вывод о ненужности контрастивного предобучения остаётся результатом Moonshot, а не общим доказанным правилом.
Как получили контекст в миллион токенов
Обучение не начиналось сразу на максимальной длине. Контекст расширялся поэтапно:
8K -> 64K во время pre-training256K -> 1M во время cooldown
Дорогие длинные последовательности занимали малую долю общего бюджета. Корпус длинных документов и видео очищали от дубликатов, бинарных фрагментов, обрезанных файлов и машинных логов. Дополнительно синтезировались примеры, где нужные факты распределены по всему контексту — простое склеивание длинных документов не обучает дальним зависимостям.
Moonshot заявляет примерно 2,5-кратное повышение эффективности масштабирования относительно Kimi K2. Здесь доказательная база слабее архитектурного описания. В отчёте есть аппроксимированные кривые потерь на проверочной выборке, но нет таблицы запусков, точных значений функции потерь, доверительных интервалов, вычислительного бюджета обучения в FLOPs и покомпонентных абляций. Одновременно изменились модель, данные, оптимизатор и режим обучения. Число 2,5× следует воспринимать как внутреннее измерение Moonshot, пока его нельзя воспроизвести.
Дообучение: девять специализированных политик
После SFT Moonshot обучила три семейства политик обучения с подкреплением:
-
общие задачи: знания, рассуждение, зрение, поиск;
-
общие агенты: ассистенты, глубокий поиск, подготовка текстов;
-
агенты разработки: создание ПО, ядра для графических процессоров, веб‑разработка.
Каждое семейство обучалось в режимах low, high и max. Девять моделей‑учителей затем объединили в одну с помощью Multi‑Teacher On‑Policy Distillation.
Длинные задания создают задержки: одна траектория может выполнять сотни или тысячи вызовов инструментов. Частичное выполнение не ждёт завершения всех попыток. После достижения заданной доли готовых траекторий начинается обновление политики, а незавершённые среды ставятся в очередь и продолжаются на следующей итерации.
Такая траектория становится off‑policy, потому что переживает несколько обновлений модели. Moonshot ограничивает изменения регуляризацией на уровне токенов. Состояние среды сохраняется вместе с модельным контекстом средствами опубликованной системы AgentENV, поэтому агент продолжает работу, а не воспроизводит её с начала.
Для управления расходом токенов начальная модель оценивает исходный бюджет задачи. Траектория, превысившая tau × budget, получает вознаграждение -1. Уменьшая tau, команда получила режимы high и low. Аналогичное ограничение длины применяется к генеративной модели вознаграждения, чтобы многословность не повышала оценку автоматически.
Инфраструктура триллионной MoE
При обучении K3 применялись конвейерный, экспертный, тензорный и контекстный параллелизм. Главная проблема экспертного параллелизма — маршрутизатор неравномерно распределяет токены: одни процессы простаивают, другие перегружаются, а динамические формы тензоров фрагментируют память.
MoonEP создаёт временные копии перегруженных экспертов и гарантирует каждому процессу ровно S × K токенов. Moonshot доказывает, что достаточно не более E/R резервных экспертов на процесс. Равномерная нагрузка даёт:
-
статические формы вычислений;
-
отсутствие послойной синхронизации центрального и графического процессоров;
-
фиксированный коммуникационный буфер
S × K; -
передачу токенов сразу в предназначенные ячейки экспертов без промежуточных копий.
Код MoonEP опубликован с реализацией на CUDA и многопроцессорными тестами. На момент релиза репозиторий содержит один коммит, а сравнение с DeepEP выполнено самой Moonshot на H20.
Для контекстного параллелизма KDA каждый участок последовательности описывается парой: накопленным преобразованием и состоянием, созданным из нуля. Эти пары ассоциативно объединяются префиксным сканированием. В отличие от полного внимания, между устройствами передаётся состояние фиксированного размера, а не растущие KV‑блоки. Реализация вошла в flash-linear-attention.
Как обслуживать два разных кеша
В каждом блоке K3 соседствуют состояние KDA фиксированного размера и растущий KV‑кеш MLA. Повторное использование префикса возможно только тогда, когда оба типа восстановлены на одной границе.
Moonshot поместила их в общий страничный пул, но разделила гранулярность хранения и поиска:
-
физическая страница содержит 1024–6144 токенов;
-
хеши префикса строятся, например, каждые 512 токенов;
-
контрольные состояния KDA сохраняются лишь на части этих границ;
-
предпочтение отдаётся границам диалоговых ходов;
-
совпадение используется только при наличии согласованных контрольных состояний во всех группах KDA.
Сохранённое контрольное состояние остаётся неизменяемым. Запрос копирует его в собственное состояние перед продолжением. При конкурентном планировании все связанные блоки закрепляются атомарно, а удаление одной части контрольного состояния делает остальные недействительными.
При спекулятивном декодировании K3 не хранит полную копию состояния после каждого чернового токена. Ядро сохраняет меньшие проекции входа и при необходимости повторно вычисляет принятый участок непосредственно на кристалле. Это дешевле многократного чтения большого рекуррентного состояния.
Что известно о поиске уязвимостей
Moonshot разделила кибербезопасность на два уровня.
На первом K3 искала новые ошибки в актуальном коде и строила PoC. Компания сообщает о сотнях кандидатов, примерно 70% подтверждений среди проверенных находок и 16 ранее неизвестных уязвимостях в шести проектах. Два примера относятся к ядру Linux: удалённо достижимая запись за границами буфера в куче и ошибка проверки прав в RDMA, допускающая запись в страницы, предназначенные только для чтения.
Для оценки доли успешных находок данных недостаточно. Не опубликованы:
-
число находок, переданных на ручную проверку;
-
правило их отбора;
-
список проектов и бюллетеней безопасности;
-
запросы к модели, инструменты и лимиты;
-
доступ модели к истории коммитов и задач;
-
доля пропущенных уязвимостей;
-
результат слепого контрольного прогона.
Поэтому 16 новых уязвимостей остаются заявлением самой Moonshot.
Второй уровень — завершённая эксплуатация известных CVE. На внутреннем наборе из 36 задач K3 решила 14, GLM-5.2 — восемь. Десять успехов K3 пришлись на пользовательское пространство и четыре — на ядро Linux. Типичные сбои: модель не завершала последнюю стадию цепочки, плохо меняла стратегию с учётом механизмов защиты, застревала в отладке и недостаточно проверяла эксплойт.
Независимая UK AISI/CAISI получила схожие результаты:
-
ExploitBench: 32% у K3 против 24% у GLM-5.2;
-
выполнение произвольного кода: 0 из 41 задания;
-
корпоративный полигон The Last Ones: в среднем шаг 17 из 32;
-
полный проход полигона: одна попытка из десяти.
Ведущие закрытые модели в тех же исследованиях доходили в среднем до шага 28,5 и достигали выполнения произвольного кода в 20 из 41 задания. K3 заметно усиливает инструментарий с открытыми весами для поиска ошибок и эксплуатации уязвимостей в пользовательском пространстве, но публичные измерения не ставят её на уровень передовых закрытых моделей в надёжном завершении сложных цепочек.
Почему победы в тестах требуют оговорок
В таблице Moonshot модели запускались через разные системы: Kimi Code, Claude Code и Codex. Для Terminal‑Bench выбиралась лучшая агентная обвязка, SWE‑Marathon использовал откалиброванную под H20 ветку, а часть запросов Fable 5 и GPT-5.6 Sol обслуживалась резервными моделями или блокировалась защитными механизмами.
Отсюда следуют узкие, но полезные утверждения:
-
K3 конкурирует с передовыми закрытыми моделями при большом бюджете рассуждений;
-
длинные траектории с инструментами — её наиболее сильный режим;
-
победа на одном тесте не доказывает превосходство базовой модели;
-
сравнивается связка «модель + агентная обвязка + лимиты», а не изолированная модель.
Независимый DeepSWE на 25 июля показывает K3 на 69% ± 5%: ниже GPT-5.6 Sol и номинально Fable 5, но выше Opus 4.8. Перекрывающиеся доверительные интервалы не позволяют выстроить устойчивый порядок между несколькими соседними моделями.
Ограничения эксплуатации
Самостоятельное развёртывание K3 потребует серверного кластера. Moonshot рекомендует суперузел с 64 и более ускорителями, чтобы обмен весами экспертов не выходил за пределы высокоскоростной соединительной сети.
Модель всегда использует режим рассуждения и чувствительна к его истории. В многоходовом диалоге API требует возвращать полное сообщение ассистента, включая reasoning_content и tool_calls. Обрезание истории или переключение модели посреди сессии делает генерацию нестабильной.
RL на длинных траекториях также увеличил самостоятельность модели. При неоднозначной задаче K3 может принять решение за пользователя, поэтому агенту нужны явные границы, подтверждение значимых действий, минимальные права и изолированная среда.
Загрузка через Hugging Face использует trust_remote_code=True. Для промышленной эксплуатации следует закрепить точную ревизию, проверить код модели на Python и запускать его в изоляции.
Итог
Kimi K3 показывает, как масштабировать модель с открытыми весами через совместное проектирование математики и инфраструктуры. Нижняя граница затухания упрощает ядро KDA для графического процессора, латентный MoE делает 896 экспертов практически применимыми, сохраняемые между итерациями траектории обучают модель долгой работе с инструментами, а согласованный кеш позволяет повторно использовать префиксы при гибридном внимании.
Слабые места отчёта лежат в воспроизводимости: нет полного описания обучающих данных и вычислительного бюджета, число 2,5× не подкреплено таблицей запусков, а 16 новых уязвимостей не сопровождаются открытым протоколом раскрытия информации. Опубликованные веса и код позволяют начать независимую проверку архитектуры; заявления об эффективности масштабирования и скорости поиска ранее неизвестных уязвимостей потребуют отдельных воспроизведений.
Если интересно читать ещё какие‑то разборы, но в более коротком формате или какие‑нибудь мемчики смешные пересылать друзьям, то подписывайтесь на мой канал Похек AI
ссылка на оригинал статьи https://habr.com/ru/articles/1063696/