
Салют! Время летит незаметно. Будто совсем недавно мы знакомили вас с GigaChat MAX, но мы не стоим на месте и сегодня готовы представить вам обещанный апгрейд. За полгода мы значительно улучшили обучающие данные, поработали над инфраструктурой обучения моделей, а также уделили особое внимание всему процессу Alignment-а, в том числе RLHF.
Представляем вам GigaChat 2 — полностью обновлённую линейку моделей в версиях Lite, Pro и Max. Все модели серьёзно улучшены: мы обновили pretrain’ы, улучшили большинство метрик по сравнению с предыдущими версиями, добавили поддержку контекста в 128 тысяч токенов, улучшили вызовы функций, и в целом повысили понимание инструкций.
GigaChat 2 — не просто сухие числа и технические улучшения. Теперь это надёжный помощник в повседневных задачах. Например, он легко оформит отчёт для работы, напишет чистый и эффективный код, поздравит с днём рождения или даст мудрый совет. Мы уверены: с ним вы сможете делать больше, быстрее и лучше как на работе, так и в жизни. Попробуйте GigaChat 2 уже сейчас в Playground — пользовательском интерфейсе для продвинутой работы с промптами!
Сценарии работы
Модель отлично справляется с задачами, в которых требуется сложное агентное поведение. Мы проверили агентное поведение GigaChat 2 в GPT Researcher, Aider, а также в нескольких своих мультиагентных решениях на основе LangChain.
GPT Researcher
GPT Researcher (20 тыс. ) — open-source альтернатива режиму deep search у ChatGPT. Система может написать статью на заданную пользователем тему. Для этого она делит вопрос на подзадачи, затем создаёт мини-агентов, каждый из которых ищет в интернете информацию и пишет часть статьи по своей подзадаче, а затем система сводит всё в единый текст. Кстати, проект принял наш PR и нативно поддерживает работу с GigaChat!

Примеры генерации GigaChat 2 MAX:
-
Так он сравнивает аудитории Хабра и Пикабу (ссылка на PDF)
-
А так анализирует фреймворки для создания AI-агентов на базе LLM (ссылка на PDF)
Aider
Aider — агент, заменяющий разработчика, open-source аналог Claude Coder. Работая в режиме диалога с пользователем, он умеет создавать и дорабатывать проекты, состоящие из нескольких файлов, работать с историей git, анализировать и исправлять ошибки, возникшие в процессе запуска, и многое другое. Подчеркну, что это не просто генератор кода. От агента требуется уметь вносить правки в уже имеющиеся проекты, что несколько сложнее.
Вот такие забавные приложения мы сделали с помощью нового GigaChat 2 Max:
Совместимость с агентами на langchain
Для создания агентов мы в Сбере активно применяем langchain на Python и JS/TS. Этот фреймворк нативно поддерживает работу с GigaChat API и отлично подходит для наших задач. С примерами агентов, а также другими LLM-приложениями можно ознакомиться в нашем репозитории на GitVerse, где мы собрали основные примеры применения GigaChat в рамках этого SDK.
Что мы улучшили в GigaChat
Обновления pre-train-а
Современные языковые модели требуют масштабных и разнообразных данных для предобучения. Мы собрали корпус текстов, обеспечивающий баланс между лингвистическим разнообразием, специфическими знаниями из различных сфер и высоким качеством данных. В корпус вошли веб-тексты, материалы из качественных источников, программный код и синтетические данные — каждая из этих категорий играет ключевую роль в обучении модели.
Веб-данные
Для формирования высококачественного корпуса текстов мы использовали Common Crawl, обработав дампы веб-данных за 2017–2023 годы. С помощью легковесной модели классификации извлекли тексты на русском, английском, казахском, узбекском, португальском и арабском языке.
Для обеспечения целостности корпуса тщательно дедуплицировали тексты на всех языках, а для англоязычных данных применили MinHash-дедупликацию, которая уменьшает количество семантически повторяющихся текстов. Затем мы классифицировали тексты при помощи LLM и специализированных классификаторов, оценивающих образовательную и информационную ценность. В итоге веб-данные составили 4,4 трлн токенов.
Качественные текстовые источники
Помимо веб-данных, мы включили в корпус текстов книги и научные статьи с открытыми лицензиями. Для их обработки применяли передовые методы оптического распознавания текста (OCR), что позволило сохранить структуру и точность извлеченного контента. Этот сегмент данных добавил в корпус 630 млрд токенов.
Ещё добавили материалы из научных и энциклопедических источников, включая arXiv, Wikipedia и PubMed. Эти ресурсы позволили улучшить структурированность знаний модели, повысить точность фактической информации и логичность выводов.
Программный код
Для совершенствования кодовых компетенций модели мы использовали набор данных StarCoder2, дополненный специально отобранными репозиториями с открытым исходным кодом. Это позволило строго соблюдать лицензионные требования, обеспечивая при этом разнообразие языков программирования и задач.
Программный код пропустили через MinHash-дедупликацию, устранив семантически дублирующиеся фрагменты, а затем отфильтровали при помощи ML-моделей, аналогично обработке веб-данных. На выходе мы получили 230 млрд токенов качественного программного кода.
Синтетические данные
Реальные данные обеспечивают языковое и контекстуальное разнообразие, но имеют ограничения из-за возможной предвзятости, конфиденциальной информации и недостатка данных по специализированным темам. Этих недостатков лишены синтетические данные, представляя собой контролируемый источник обучающей информации.
Хотя синтетические данные традиционно используются на этапе дообучения, авторы статьи Phi-4 показали, что их применение в предобучении даёт значительное улучшение метрик в задачах, связанных с рассуждениями и STEM-дисциплинами.
Мы разработали собственный pipeline на основе подходов из Numina, собирая математические задачи в качестве seed-данных. Далее мы варьировали условия задач с помощью LLM, после чего решали их с использованием механизма голосования для устранения некорректных или избыточно сложных примеров.
Для генерации кода использовали структурированный prompting: создавали сложные задачи по Python на основе открытых учебников, генерировали решения с пояснениями и тестами для валидации. Для увеличения разнообразия применяли персонажей и липограммы. Внутренние эксперименты, проведённые в рамках сетапа статьи Phi-1, показали, что использование липограмм повысило качество модели.
Хотя доля синтетических данных в предобучающем корпусе мала (<100 млрд токенов), после их добавления эксперименты показали значительное улучшение метрик на математических и программных бенчмарках.
Итоговое распределение данных

Сбалансированное распределение различных типов данных позволило нам создать мощный предобучающий корпус для GigaChat, способный обеспечивать качественное понимание текстов, решение логических задач и генерацию программного кода.
Обновления SFT
Следование инструкции
Точное выполнение инструкций пользователя — важнейшая способность при решении задач с помощью LLM. В этом обновлении мы сделали особый акцент на улучшении instruction-following.
Инструктивность наших моделей существенно повысилась благодаря тщательно подобранным и разнообразным диалоговым данным, демонстрирующим корректное поведение модели в различных сценариях. Мы обучили GigaChat на высококачественных диалогах, включающих требования по:
-
соблюдению заданных форматов ответа, JSON- и pydantic-схем;
-
использованию функций при определенных условиях;
-
формированию ответов в определённом стиле;
-
и другие распространённые типы инструкций.
Всё это позволяет модели точнее понимать задачи, четко следовать указаниям пользователей в реальных повседневном и рабочем применении.
Для оценки качества следования инструкциям модели мы используем тестовые наборы IFEVAL и IFEVAL-ru, которые состоит из заданий с заранее определённым форматом ответа. После обучения модели GigaChat 2 на описанных выше данных мы наблюдаем значительный рост этих метрик, подтверждающий улучшение инструктивности.
Персонажность
В новом релизе GigaChat улучшил навыки общения, научившись вести диалог как живой собеседник с заданным характером и стилем общения.
Персонажность модели настраивается через системное сообщение и задаёт различные коммуникативные роли. Для развития этих способностей в GigaChat мы создали конвейеры получения и валидации высококачественных диалогов с разнообразными персонажами. Эти диалоги включают в себя демонстрацию соблюдения тона и стиля речи, формата ответов, выражения эмоций и учёт биографии персонажа, задаваемого пользователем.
В role-play важно использовать имеющиеся знания модели. Для известных личностей, паттернов поведения и образов (учитель, блогер, журналист) базовая информация уже заложена в GigaChat на этапе pre-training, что позволяет естественно включать биографические факты, цитаты и характерные идеи без дополнительного перечисления в системном сообщении — достаточно просто указать имя человека, его профессию или задачи, чтобы остальные характеристики встроились в персонажа автоматически.
Особую ценность представляет включение эмоциональных ремарок в ответы («улыбается», «задумчиво потирает подбородок»). Наш анализ показывает, что такие элементы значительно увеличивают длину диалога пользователя с персонажем и повышают воспринимаемую эмпатию модели — ремарки делают общение с персонажем естественным, при этом их всегда можно отключить, сделав соответствующие настройки в системном сообщении.
Работа над развитием персонажности GigaChat позволила значительно улучшить несколько ключевых характеристик базовой модели:
-
Повышение инструктивности: модель стала точнее и внимательнее следовать указаниям пользователя.
-
Улучшение контекстности: GigaChat стал лучше поддерживать беседу даже в очень длительных диалогах.
-
Расширение агентных возможностей: создана технологическая основа для разработки продвинутых цифровых двойников и виртуальных агентов.
Эти улучшения делают GigaChat оптимальной платформой для создания эмпатичных собеседников и интеллектуальных агентов, способных естественно и эффективно взаимодействовать с пользователем, следуя заданными вами инструкциям.
Использование функций
Одно из наиболее перспективных направлений развития современных LLM — умение работать с внешними сервисами. Как мы уже рассказывали, GigaChat может напрямую вызывать внешние функции и сервисы, сразу выдавая структурированный ответ без дополнительной обработки.
В новой версии модели мы сделали это умение ещё более удобным и эффективным. Теперь GigaChat поддерживает:
-
Множественные вызовы: модель может последовательно вызвать несколько функций в рамках одного запроса, решая таким образом более сложные задачи.
-
Контекстные вызовы: модель учитывает контекст диалога при вызове функций и понимает, когда и какую функцию нужно вызвать.
Например, пользователь может попросить модель забронировать целое путешествие — подобрать авиабилеты, найти подходящий отель и взять автомобиль в аренду. GigaChat сможет решить такую задачу в одном диалоге, последовательно вызвав все необходимые сервисы.

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

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

На этих тестовых сетах GigaChat 2 показывает значительный прирост в метриках относительно моделей предшествующего поколения:

Работа с кодом
Еще одно направление, над которым мы активно работали в новом релизе GigaChat, — это улучшение генерации кода. Теперь модель уверенно решает не только алгоритмические задачи, но и практически полезные задачи пользователей, создавая понятный и качественный код на Python, а также других популярных языках.
В новой версии GigaChat использует системный подход к написанию кода. Теперь модель способна:
-
Создавать точные сигнатуры функций с подробной типизацией;
-
Быстро предлагать предварительные решения (bruteforce) для проверки основной логики;
-
Разрабатывать и автоматически запускать тесты для проверки корректности кода;
-
Оптимизировать и отлаживать код с учетом результатов тестирования.
Перед написанием кода модель анализирует задачу, определяет возможные проблемы и планирует оптимальный способ решения.
Для обучения новой линейки моделей мы подготовили большой набор данных с примерами решения различных алгоритмических и практических задач. Благодаря этому GigaChat научился разбивать сложные задачи на понятные шаги; выносить повторяющийся код в отдельные функции и создавать полноценные тестовые сценарии, включающие краевые случаи.
В результате код, генерируемый моделью, стал более надёжным и читаемым, а при необходимости сопровождается автоматически подготовленными тестами. Кроме того, эти изменения позволили значительно улучшить результаты GigaChat на популярных кодовых бенчмарках.


Обновления DPO
Этот релиз стал для нас первым, в котором мы представляем модели с использованием широко известного метода DPO (Direct Preference Optimization). Мы прошли довольно долгий путь, набили много шишек и выдвинули огромное количество безумных теорий, прежде чем смогли уговорить DPO не ломать наши модели.
Напомним, что DPO — это метод, при использовании которого для каждого вопроса (контекста) есть два возможных ответа (генерации модели): хороший y_w и плохой y_l. Суть DPO сводится к обучению модели генерировать хороший ответ с бо́льшей вероятностью, чем плохой.
Ни для кого не секрет, что DPO иногда приводит к деградации модели. В научной среде известны способы регуляризации DPO, но классические методы народной медицины нам не помогли. И после долгих бессонных ночей мы смогли прописать верное лечение. Для описания найденных нами особенностей напомним формулу DPO и перепишем её в иной форме:

В этой форме мы выделили три основных свойства, из-за которых наша модель деградировала:
Свойства
-
DPO стремится увеличить зазор, а не улучшить вероятности. Наше ожидание от DPO было вполне простое: мы хотели увеличить вероятность хорошего ответа и уменьшить вероятность плохого. Однако в формуле функции потерь нет требования увеличивать вероятность хорошего ответа, есть лишь требование увеличить зазор между лог-вероятностями. И модель с огромным энтузиазмом шла к этой цели! К примеру, если лог-вероятность хорошего ответа уменьшалась на 10, а лог-вероятность плохого — на 110, то зазор увеличивался аж на 100! Этот результат кажется отличным для DPO модели, но для нас он был катастрофой: вместо единственно верного ответа y_w модель начинала галлюцинировать, выдумывать странные ответы и иногда даже зацикливаться. Но при анализе такой модели всё выглядело справедливо: зазор между хорошим и плохим ответами действительно становился больше.
-
DPO слеп к общим префиксам хорошего и плохого ответов. Как мы писали выше, DPO оптимизирует разность лог-вероятностей, что можно представить в виде суммы логарифмов вероятностей токенов
и
. И тут мы подходим к ещё одному неприятному свойству: если в начале
и
одинаковые последовательности токенов, то из-за их разности для DPO этих токенов просто… нет! В таких случаях DPO не смог бы качественно увеличить вероятность генерации хороших ответов, ведь начальная часть токенов просто выпадает из области его полномочий.
-
DPO стремится увеличить зазор, даже если он и так большой. Последнее свойство, которое также следует из этой формулы — DPO стремится увеличить зазор относительно референсной модели, даже если изначально он и так был достаточно большим. И какой ценой это достигалось? Ценой всего…
Использование коэффициента NLL
На практике DPO часто используют в паре с NLL хорошего ответа, что вынуждает модель увеличивать соответствующую вероятность. Какие-то тексты приходили к нам из простых наборов данных, и ответы модели на них были достаточно неожиданными для нашей модели (NLL был большим). Таким образом, соотношение между DPO и NLL функциями потерь было очень непостоянным.
В результате мы пришли к следующей формуле DPO, которую использовали для наших моделей:

Такая формула помогает решить следующие проблемы:
-
Использование различных
и
позволяет приоритизировать увеличение вероятности хорошего ответа над уменьшением вероятности плохого ответа. Кроме того, когда
>
, токены из общего префикса не обнуляются, а остаются с небольшим положительным коэффициентом, что убеждает оптимизатор обратить на них внимание
-
Дополнительное слагаемое, которое мы прибавляем к функции потерь от DPO — отношение NLL обучаемой модели и референсной. Таким несложным образом мы добиваемся нормализации значения NLL, что помогло нам сбалансировать два коэффициента для всех образцов независимо от их происхождения.
В результате использования DPO нам удалось не только улучшить метрики арен для моделей, но и повысить точность на ключевых для нас наборах данных.
Метрики
Примечание
Все замеры выполнены нашим внутренним программным кодом. Метрики модели Yandex GPT 5 были взяты с официального сайта, за исключением метрики Math. При тестировании Yandex GPT 5 мы обнаружили расхождение в показателе Math с официальными результатами, представленными на сайте. Модель игнорировала инструкцию по форматированию ответа в формате bboxed. После применения LLM-валидации мы получили скорректированное значение метрики (указано в скобках).
Автоматические метрики



* Science Crowd Math/Biology/Chemistry — бенчмарки формата MMLU c четырьмя few‑shot‑примерами. Содержат системное сообщение с описанием задачи и области знаний, в которой будет задаваться вопрос. Few‑shot‑примеры оформлены различными репликами в виде контекста, формат позаимствовали из cookbook OpenAI.
Все замеры проводили с жадными параметрами генерации.
На различных тестах мы видим явный прогресс линейки моделей GigaChat 2.0 по сравнению с предыдущими версиями. Новое поколение показывает хороший рост и конкурирует по качеству с опенсорсом и не только во всех ключевых доменах.
Модель GigaChat 2 Lite по качеству сопоставима с GigaChat Pro. Аналогично, GigaChat 2 Pro демонстрирует уровень качества, сопоставимый с GigaChat MAX, благодаря чему она отлично подходит для задач, требующих высокой точности. При этом GigaChat 2 MAX является флагманской моделью линейки, ранее не имевшей аналогов по уровню производительности, глубине проработки ответов и качеству взаимодействия с пользователем.
В русскоязычных тестах GigaChat 2.0 существенно улучшил показатели на задачах типа MMLU-ru и специализированных внутренних STEM-датасетах (биология, химия и математика). Особенно заметно качество ответов выросло в области точных и естественных наук, что подчёркивает надёжность новой модели при решении сложных задач. Также стоит отметить, что ответы моделей стали более естественными и близкими к живому общению, что улучшает общее впечатление пользователей.
Метрики с LLM-as-a-judge
Отдельно стоит подчеркнуть качественный рывок на judge-метриках:

-
В тесте ru_llm_arena GigaChat 2 MAX набирает 82,5 балла, значительно опережая Max модель предыдущего поколения (72,5 балла).
-
На более сложном тесте arena_hard_ru результат ещё выше: 83,5 балла против 67,0 у предыдущей версии.
На международных англоязычных тестах типа MMLU-eng, математике и генерации кода каждая модель из новой линейки демонстрирует стабильно высокие результаты и успешно конкурирует с лучшими open-source аналогами. Все это указывает на универсальность новых моделей и их способность эффективно справляться с самыми разными задачами.
MERA

По таблице видно, что GigaChat 2 Max показывает наилучший результат среди всех протестированных моделей, в том числе превосходя GPT4o, на бенчмарке MERA. Это особенно значимо, поскольку MERA считается сложным, открытым и легко воспроизводимым тестовым набором, а наш продукт впервые достигает лидерства в открытом бенчмарке. Данное достижение подчёркивает высокий уровень проработки GigaChat 2 Max в рамках русского языка и демонстрирует её потенциал для эффективного решения широкого спектра задач.
Playground
Чтобы попробовать, воспользуйтесь нашей инструкцией: мы обсудим, как сделать из GigaChat очень креативного Dungeon Master’а для игры в Подземелья и Драконы (DnD) без других людей!
-
Заходите по ссылке и регистрируетесь по номеру телефона.
-
Выбирайте «Перейти в Playground»
-
Выберете модель — лучше всего будет работать GigaChat-2‑Max. Генерации ограничены лишь балансом токенов, для моделей Pro и MAX баланс общий, а для Lite — отдельный.
-
Введите промпт в «Системные инструкции» и получите GigaChat'a-dungeon-master!
Промпт
Ты выступаешь в роли dungeon master. Твоя задача придумать приключение для пользователя, основывайся на уже существующих сюжетах и приключениях, чтобы упростить задачу.
Правила игры — стандартный Dungeon and Dragons 5e с возможными упрощениями на твой выбор. Первым сообщением поприветствуй пользователя и предложи несколько вариантов приключения на выбор. После опиши несколько персонажей первого уровня и предложи выбрать, за какого пользователь будет играть.
Следующее сообщение — описание места, где начинается приключение (стандартный выбор — таверна). Дальше каждое новое сообщение должно описывать что происходит в мире в ответ на действия пользователя.
Постарайся делать все описания очень живыми и красочными. Постарайся вовлечь пользователя в жизнь мира и решение его проблем с помощью своего персонажа.
В конце каждого ответа пиши текущее здоровье, доступные слоты заклинаний и содержимое инвентаря пользователя. Во время боя также добавляй в конце список имеющихся заклинаний.
Самое главное никогда не выходить из роли и не ломать у пользователя ощущение того, что он действительно находится в этом мире. Это значит, что на любые провокации необходимо отвечать в рамках правил воображаемого мира.
В самом конце ответа пользователю, после описания происходящего в мире, ты можешь предложить интересные варианты, какие действия дальше может предпринять персонаж.
Четыре шага — и бот готов! Попробуйте создать своих персонажей или использовать GigaChat в более рабочих сценариях. Важно помнить, что сейчас функция всё ещё находится в стадии Beta, поэтому к составлению промпта надо подходить внимательно: он должен содержать подробную и чёткую инструкцию к действиям, иначе GigaChat может выйти из роли. Лучше всего в качестве базовой модели использовать GigaChat-2 MAX, однако даже с младшими моделями линейки можно добиться отличных результатов, если уделить внимание качеству инструкции.
GigaChat 2.0: вместо заключения
Релиз GigaChat 2 является серьёзным шагом вперёд для нас: качество новых моделей значительно опережает предыдущие версии, а также уверенно конкурирует с ведущими open-source моделями на всех ключевых метриках.
Мы благодарны всем, кто помог в создании GigaChat 2.0 и подготовке статьи в частности: @runfme, @Shakirov_Emil, @vorobeevich, @Hypercomplex, @jserdyuk, @evgenijkkk, @cassowary, @EldarDamirov75, @danny_smirnov, @AIFrauch, @Rai220, @Mikelarg, @VladimirKarlov01, @Pauseferg, @d_khomich, @fedorov97, @Sergeya41, @FatMaNikita, @vltnmmdv, @Mikelarg, @GVRQ, @oulenspiegel

Автор: vorobeevich