В августе 2026 года команда Cursor опубликовала подробный технический разбор необычного проекта с интригующим названием «Смесь котят» (Mixture of Kittens). За этим названием скрывается открытое ядро — набор архитектурных решений и кода, который позволяет ускорить обучение больших языковых моделей до 2.4 раза без потери качества. Материал вызвал большой резонанс в сообществе разработчиков, и неспроста: вместо того чтобы держать наработки в секрете, Cursor выложил ключевые компоненты в открытый доступ, сопроводив их детальной документацией. Разбираемся, что именно придумали инженеры и почему это может изменить индустрию.
Проблема: обучение ИИ упирается в память, а не в вычисления
Современные языковые модели растут, и вместе с ними растёт стоимость их обучения. Обычно мы думаем, что главный ресурс — это видеокарты (GPU). Но на практике, когда модель становится достаточно большой, узким местом становится не вычисление, а память. Чтобы обучить модель с сотнями миллиардов параметров, нужно хранить в памяти не только сами параметры, но и промежуточные значения (активации) и градиенты. Это требует огромного объёма высокоскоростной памяти, которая стоит дорого и физически ограничена.
Авторы статьи описывают ситуацию так: при обучении больших моделей память заполняется стремительно, и чтобы не упираться в лимиты, инженерам приходится снижать размер батча или использовать различные ухищрения вроде offloading — когда часть данных временно выгружается на диск или в память других устройств. Каждый такой приём замедляет обучение и добавляет сложности в инфраструктуру.
Решение: «котята» — компактные представления данных
Вместо того чтобы бороться с нехваткой памяти, Cursor предложил радикально иной подход. Название «Смесь котят» отсылает к известной в машинном обучении архитектуре «Смесь экспертов» (Mixture of Experts, MoE). В MoE модель использует несколько подсетей-«экспертов», каждый из которых специализируется на своей части задачи. Однако во время обучения все эксперты всё равно требуют памяти для своих параметров и активаций.
Cursor пошли дальше: они предложили хранить не полные промежуточные представления, а их компактные копии — эдаких «котят». Идея в том, что для многих операций во время обучения не нужна полная точность. Достаточно сохранить приближённую версию тензора, которая занимает в разы меньше памяти. Если быть точнее, они используют низкоранговую аппроксимацию активаций. Вместо того чтобы копировать весь тензор (например, 4096 значений), они хранят два небольших множителя, произведение которых даёт близкий результат.
Почему это работает? Потому что во время обратного распространения ошибки градиенты нужно умножать на активации из прямого прохода. Если у нас есть приближённые активации — «котята» — мы можем провести вычисления с допустимой погрешностью, но сэкономить огромный объём памяти. Причём, как утверждают авторы, точность модели при этом страдает минимально, а в ряде случаев даже удаётся достичь лучшего качества благодаря эффекту регуляризации.
Результаты: до 2.4 раза быстрее и дешевле
В статье приводятся результаты экспериментов на модели с 13 миллиардами параметров. Используя метод «Смеси котят», команда смогла сократить объём памяти, занимаемой активациями, в среднем в 4 раза. Это позволило увеличить размер батча на 70% и снизить время обучения на 58% — то есть обучение ускорилось в 2.4 раза. При этом качество модели осталось на том же уровне, а в некоторых тестах даже немного выросло.
Для сравнения авторы приводят таблицу:
| Подход | Память на активации | Время обучения | Качество (perplexity) |
|---|---|---|---|
| Без оптимизации | 100% | 100% | 100% (базовое) |
| С «котятами» | 25% | 42% | 99.8% |
Эти цифры означают, что компании, которые обучают свои модели, смогут либо в 2.4 раза быстрее получать готовые модели, либо вдвое сократить расходы на аренду GPU-кластеров. Для стартапов и исследовательских групп это критически важно — обучение больших моделей становится доступнее.
Открытое ядро: что именно опубликовали
В отличие от многих других компаний, которые обычно публикуют только научную статью или блог-пост, Cursor выложили в открытый доступ не только описание, но и конкретный код. Открытое ядро включает:
- Реализацию механизма низкоранговой аппроксимации для активаций (включая модули PyTorch).
- Скрипты для интеграции с популярными библиотеками обучения, такими как Hugging Face Transformers и DeepSpeed.
- Конфигурационные файлы, использованные в экспериментах, с точными гиперпараметрами.
- Бенчмарки и тесты, подтверждающие заявленные результаты.
Каждый компонент описан в документации, что позволяет другим разработчикам внедрить «котят» в свои проекты без длительного изучения внутренностей. По сути, это готовое решение «под ключ», которое можно использовать как есть или дорабатывать под свои задачи.
Практический разбор: как это работает изнутри
Чтобы понять, почему «котята» так эффективны, давайте взглянем на математику. Пусть во время прямого прохода у нас есть матрица активаций A размером (batch_size, features). Вместо того чтобы хранить её полностью, мы раскладываем её на произведение двух матриц меньшего ранга: A ≈ X·Y, где X имеет размер (batch_size, rank), а Y — (rank, features). Ранг rank выбирается значительно меньшим, чем features (например, 128 вместо 4096). Тогда для хранения этой аппроксимации требуется в features/rank раз меньше памяти.
При вычислении градиентов в обратном проходе нам нужно умножать градиент ошибки на транспонированную активацию. Заменив A на её аппроксимацию X·Y, мы получаем градиент относительно X и Y, которые легко вычислить, не разворачивая полную матрицу. Это даёт огромную экономию памяти.
Конечно, такая аппроксимация вносит шум. Однако, как показывает опыт Cursor, этот шум действует как форма регуляризации, делая модель более устойчивой к переобучению. Авторы также заметили, что точность аппроксимации можно адаптивно менять в процессе обучения: на начальных этапах, когда модель быстро меняется, можно использовать более точное представление, а на поздних — более агрессивно сжимать.
Выводы и перспективы
«Смесь котят» — это яркий пример того, как нестандартное мышление может решить давнюю проблему. Вместо того чтобы наращивать аппаратные ресурсы, Cursor обратили внимание на то, как эффективно использовать то, что уже есть. Результат впечатляет: 2.4-кратное ускорение обучения без потери качества.
Для индустрии это значит следующее:
- Обучение больших языковых моделей станет дешевле и доступнее. Это может привести к новому витку инноваций, так как больше компаний смогут экспериментировать.
- Открытые компоненты позволят исследователям воспроизвести результаты и развить идею. Возможно, появятся ещё более эффективные методы, использующие ту же концепцию.
- Методы «котят» применимы не только к языковым моделям, но и к другим типам глубоких нейронных сетей — например, к моделям компьютерного зрения или рекомендательным системам.
Конечно, у подхода есть и ограничения. Во-первых, он требует некоторой дополнительной настройки гиперпараметров (размера ранга, частоты адаптации). Во-вторых, аппроксимация может оказаться неприемлемой для задач, где критична каждая деталь представления. Но уже сейчас видно, что это важное достижение в области оптимизации обучения.
Полный текст статьи с техническими деталями и кодом доступен в блоге Cursor. Рекомендуем прочитать оригинал, чтобы погрузиться в детали. Источник
А если вы хотите научиться использовать современные инструменты для автоматизации своих задач — например, для обработки данных или интеграции с внешними сервисами, — на платформе ASI Biont есть курсы, которые рассказывают, как применять такие разработки на практике. Например, ASI Biont поддерживает подключение к популярным API для создания собственных ассистентов и пайплайнов.
Комментарии