GigaChat 3.5 — меньше, быстрее, сильнее
Никита
ML engineer
Сегодня мы выкладываем в open source GigaChat 3.5 Ultra — нашу новую 432B-модель. В этом релизе мы впервые для нашей линейки масштабировали собственную гибридную архитектуру на сотни миллиардов параметров, ускорили инференс и усилили модель в коде, агентных сценариях и сложных областях.
GigaChat 3.5 Ultra компактнее прошлого флагмана: 432 млрд параметров вместо 700 млрд у GigaChat 3.1 Ultra. Но это не компромисс «меньше, зато дешевле»: за счёт новых данных, обновлённого рецепта обучения и архитектурных изменений модель стала сильнее, а также эффективнее по памяти и скорости генерации.

Что нового?
GigaChat 3.5 — результат более чем 1500 экспериментов с данными, архитектурой, пайплайном обучения и гиперпараметрами. Главное:
- Собственная гибридная архитектура. Мы с нашими коллегами из команды RnD совместили MLA-слои с GatedDeltaNet и добавили стабилизирующие механизмы, чтобы всё это устойчиво обучалось на масштабе сотен миллиардов параметров.
- Более дешёвый инференс. В 432B-модели используется примерно в четыре раза меньше KV-кеша на токен, в ту же память помещается более чем в два раза больше контекста, а throughput вырос примерно на 20%.
- Меньше параметров, больше качества. Модель стала компактнее 700B-флагмана, но за счёт новых данных и рецепта обучения выросла в коде, агентных сценариях и сложных областях.
- Ускорение генерации через MTP. Мы добавили дополнительные MTP-головы для self-speculative decoding: основной выигрыш дают первые две, ускоряя greedy decoding в 2,2 раза.
- FP8 на всех этапах обучения. Пониженная точность ускорила обучение на десятки процентов и снизила потребление памяти без потери качества относительно bf16.
- Online RL в alignment. Новый этап после Pretrain → Stage 1.5 → SFT → DPO улучшил Instruction Following, математику и качество модели на аренах.
Как мы его делали?
Данные для pretrain
В прошлых релизах фундамент pretrain мы во многом строили на синтетике: модель сама генерировала данные. На небольших моделях это работает отлично, но при сотнях миллиардов параметров и триллионах токенов синтетика со временем «схлопывается» в однотипность: разнообразие падает, покрытие реальных сценариев неполное. Поэтому в 3.5 мы переосмыслили подход, и для основы pretrain-данных используем органические, натуральные тексты.
Главный прорыв — веб. Мы прогнали HTML-документы через LLM-парсинг (да, это огромный объём вычислений), и на выходе получили чистый Markdown с сохранением формул, таблиц и структуры вместо привычной мешанины из тегов и мусора. В экспериментах это дало значительный прирост MMLU, MATH и других метрик.
Сильно прокачали код: было 16 языков программирования, стало больше 600.
Чтобы добывать математику и код из веба (форумы, разборы алгоритмов, руководства), мы обучили отдельные классификаторы. Сначала прогоняем легкий fasttext с высоким recall, он дёшево отсекает основную массу мусора, а уже отобранное докручиваем LLM-классификатором.
Мы продолжаем осваивать наш YT-кластер, и нагружаем его все активнее. На YT мы перенесли наш модуль детекции ликов, который гарантированно вычищает из обучающих данных утечки бенчмарков. Туда же переехала вся обработка веба: LLM-парсинг HTML, дедупликация, фильтрация эвристиками и классификаторами. По сути, все тяжелые операции над данными теперь крутятся на YT, и профит от этого мы получаем колоссальный.
Раньше мы итерировались по данным на небольших сетапах (3 млрд на 200 млрд токенов, 7 млрд на 40 млрд). Для 3.5 мы от этого не отказались – но для экспериментов с заваркой всего датасета мы перешли на значительно большие размеры моделей – 120 млрд MoE на 2 трлн токенов. У такого сетапа заметно выше разрешающая способность, и на нём видны эффекты, которые на маленьких моделях просто не достигаются. На новом датасете по сравнению с прошлым мы получили +6% MMLU-PRO, +6% MATH и рост по остальным pretrain-метрикам.
Несмотря на органический pretrain, синтетика никуда не делась, она по-прежнему нужна на стадии midtrain в конце обучения, чтобы прокачать сложные метрики и понимание формата. Но мы сместили фокус с генерации «с нуля» в сторону обогащения органических источников: LLM теперь не столько выдумывает задачи, сколько достраивает решения, объяснения и ответы к вопросам, извлечённым из различных датасетов, статей, веба. Мы дополнительно клали в промпт исходный текст, из которого был получен вопрос. Например, в книгах вопрос идёт сразу после параграфа, и тогда вместе с вопросом мы передавали LLM сам параграф. Это повышало достоверность: модель опиралась не только на свои знания, но и на конкретный источник.
Итоговый pretrain-корпус состоит из ~52% веба, ~16% кода, ~6% математики, ~26% качественных источников (научные статьи и пр.). На midtrain состав другой — там доля синтетики заметно выше.
Пока что в качестве основного источника сырых данных мы используем Common Crawl, но хотим скачивать интернет самостоятельно — это даст кратно больше данных. Также планируем проводить больше экспериментов в сетапе 120B/2T (это довольно дорого) и прокачивать дальше математику и код.
Этап pretrain
Зачем менять архитектуру и рецепт претрейна
Со стороны может показаться, что качество большой языковой модели определяется в первую очередь её размером и объёмом данных. Увеличили количество параметров, дольше обучали, добавили хороший датасет — получили более сильную модель.
На практике этого недостаточно, особенно когда речь идёт о MoE-системах с сотнями миллиардов параметров, длинным контекстом и высокими требованиями к скорости инференса. При таком масштабе архитектура и рецепт обучения становятся не менее важны, чем данные и compute.
Ускорение генерации почти всегда требует компромиссов. Линейное внимание, Multi-Token Prediction и другие подходы помогают быстрее генерировать текст и эффективнее использовать память, но они меняют путь сигнала внутри модели, влияют на масштаб активаций и могут сделать обучение менее стабильным.

Дополнительная проблема — перенос чужого рецепта. Даже если архитектура описана в статье или техническом отчёте, её нельзя просто взять и безболезненно запустить на своих данных, своём пайплайне и своем масштабе. Меняются данные, подробности реализации, баланс экспертов, гиперпараметры и режим mixed precision.