Всем привет! На связи Толя Потапов, MLE в Т-Банке. Мы продолжаем развивать собственную линейку моделей GEN-T и внутренние продукты на основе своих моделей: агенты в саппорте, внутренние копилоты для сотрудников и Вселенную ассистентов.

Мы уже делились большими языковыми моделями T-lite 0.1, T-lite 1.0 и T-pro 1.0. Модели завоевали популярность и скачиваются суммарно более 15к раз в месяц. 

Сегодня делимся новой моделью T-pro 2.0, обученной на основе модели Qwen3 32B, но с более плотной токенизацией на русском языке. Модель поддерживает гибридный ризонинг и позволяет сгенерировать рассуждение перед тем как отвечать. Это помогает в сложных задачах, где требуется несколько последовательных выводов, таких как математика. 

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

Расскажу общие детали процесса обучения модели, основные характеристики и результаты замеров качества. Поделюсь, какие сложности у нас возникали и на чем планируем сосредоточиться. 

Процесс дообучения

Cоздание нового токенизатора и его адаптация: мы получили улучшенный токенизатор для мультилингвальных моделей с фокусом на кириллические языки, взяв за основу токенизатор Qwen3 и расширив его кириллическую часть более чем в пять раз. 

При этом некириллические и нелатинские токены сократили на основании оценки частотности по нашему корпусу предобучения. Такой подход позволяет модели лучше работать с малоресурсными кириллическими языками при сохранении размера словаря как у оригинальной модели. Итоговый токенизатор на 30% более эффективен для русского языка.

Ускорение инференса за счет токенизатора. Мы замерили ускорения инференса за счет более плотного токенизатора на двух доменах — чатовые запросы из ru-arena-hard и олимпиадные математические задачи из T-Math

Получили ускорения от 1,5 до 3 раз в зависимости от домена и сложности промпта
Получили ускорения от 1,5 до 3 раз в зависимости от домена и сложности промпта
Как мы считали ускорение

В качестве фреймворка генерации мы использовали SGLang с параметрами генерации temperature=0.9 и presence_penalty=1.0 для обеих моделей. В результате оценили медианное количество токенов генерации для обеих моделей и медианную задержку (latency) при пакетной обработке запросов с max_concurrent_workers=100. Как видно из графиков, на более длинных ответах получается значительно большее ускорение, связанное с квадратичной сложностью вычисления механизма внимания.

Дообучение на большом русскоязычном инструктивном корпусе: в первом релизе наш рецепт состоял из нескольких стадий продолжающегося предобучения с суммарным токен-бюджетом 140B. Дообучение гибридно-ризонинговых моделей потребовало существенной переработки рецепта: датамикс второй стадии теперь состоит из 40B инструктивных данных, где треть составляют ризонинг данные.


Дообучение на более чистом SFT-сете: SFT-датасет сформирован из разнообразных промптов, собранных из открытых источников и качественных переводов англоязычных наборов данных. 

Основная цель — усилить ключевые способности модели: от решения алгоритмических задач и математики до диалоговости, логического мышления и режима рассуждений. 

Общий размер датасета составляет около 500 тысяч инструкций на русском языке. Мы применяли многоэтапный пайплайн фильтрации, чтобы обеспечить высокое качество и разнообразие.

General-данные:

  • Устранение дубликатов. Мы удалили дубликаты в близких по смыслу сэмплах, рассматривая схожесть на основе эмбеддингов и LSH.

  • Контроль разнообразия с #InsTag — использовали теги инструкций для балансировки тем и стилей, избегая доминирования одних типов данных над другими.

  • Фильтрация по RM-score — оценивали качество инструкций с помощью reward model (RM), отсеивая низкокачественные примеры.

  • IFD для фокуса на сложности — на финальном этапе применяли Instruction-Following Difficulty (IFD) для отбора примеров со сбалансированной сложностью, чтобы избежать как слишком простых и неинформативных, так и чрезмерно сложных и шумных случаев.

  • Финальный выбор ответа. В завершение мы генерировали по 8 вариантов ответа на каждый запрос с помощью более мощной модели и выбирали лучший вариант по RM-score.

В general-часть мы добавили 1% семплов с длинным контекстом до 32к токенов.

Дополнительно для reasoning-данных:

  • Отбор на основе KL-дивергенции. Мы оценили KL-дивергенцию между распределениями RM-score генераций учителя и ученика и сохраняли только те запросы, у которых значения KL находились в среднем диапазоне. Это позволило нам выбрать примеры, сбалансированные по сложности.

  • Финальный выбор ответа. Для верифицируемых запросов мы проверили верность ответа. Окончательным ответом выбирался самый короткий по длине рассуждений среди топ-3 вариантов, полученных от модели-учителя и отсортированных по RM-score. Таким образом мы достигли баланса между краткостью и качеством.

Для формирования итогового датасета ответы на инструкции генерировались с помощью более мощных моделей, таких как DeepSeek-V3 0324 и Qwen3-235B-A22B, что обеспечивает высокий уровень точности и релевантности.

Preference tuning. Для обучения DPO сформировали набор данных — с фильтрацией по длине и типу для general-инструкций и сохранением баланса доменов для reasoning-инструкций. 

Для создания обучающих пар из 16 генераций выбирались лучший и худший кандидаты по оценке качества. При этом неполные генерации исключались, а среди трех лучших по качеству выбирался самый короткий ответ.

Для оценки качества генераций обучили собственную reward-модель на базе Qwen3 32B. Обучение проводилось по турнирной схеме, где модели сравнивались попарно как в плей-офф, при этом модели схожего уровня ставились рядом друг с другом. Такой подход позволил reward-модели научиться различать тонкие различия между похожими по качеству ответами, а не только очевидные случаи.

Speculative decoding. В качестве драфт-модели выбрали EAGLE 1 с генерацией драфта во время инференса с помощью tree attention согласно EAGLE 2

Обучили одну эпоху на семпле SFT-сета с инкрементом ризонинга, который использовался для обучения T-Pro 2.0, как результат получили ускорение до двух раз на распределении внутренних данных при использовании нулевой температуры и батча размера 1. При увеличении размера батча прирост становился менее ощутимым и при размере батча 8 пропадал. 

Драфт-модель с более подробной информацией и рекомендуемые настройки с примерами использования выложили на нашу страницу в huggingface.

Диалоговые бенчмарки

Для оценки способностей моделей к ведению диалога, следованию инструкциям и решению задач мы использовали LLM-as-a-judge-арены: Arena Hard Ru, Arena Hard 2 и арену, основанную на данных, отобранных автором репозитория WildChat Hard Ru из реальных запросов пользователей. В последней мы использовали в качестве бейзлайна ответы модели o3-mini. В качестве судьи для всех арен используется DeepSeek V3 0324.

Результаты замеров на аренах. Для моделей, поддерживающих режим рассуждений, представлены замеры в /think- и /no_think-режимах. Рекомендованные параметры генерации можно посмотреть в карточке модели.

Model

Arena Hard Ru

Arena Hard 2 (Hard)

Arena Hard 2  (Creative)

WildChat Hard Ru

T-pro 2.0

87.6 / 86.28

64.3 / 56.8

83.1 / 82.2

75 / 76.6

Claude 4 Sonnet *

81.04

44.9

61.8

60.4

Claude 3.7 Sonnet *

82.58

36.7

61.8

56.5

Claude 3.5 Sonnet *

69.12

29.8

26.5

39.6

DeepSeek V3

91.32

50.9

77.4

76

DeepSeek R1

90.88

67.8

95.1

83

Qwen3 32B

83.6 / 82.58

56.4 / 42

73.6 / 63.6

66.1 / 59.2

T-pro 1.0

64.78

14.6

26.8

35.4

RuadaptQwen3-32B-Instruct-v2

65.01 / 65.99

17 / 19.1

31.2 / 26.4 

47.5 / 50.4

Gemma3-27B

75.88

25.6

78.6

52.7

* Claude замерены в режиме без рассуждений

Common-knowledge-бенчмарки. В качестве бенчмарков для оценки знаний о мире и общим логическим способностям моделей на русском языке мы использовали следующие бенчмарки: MERA, MaMuRAMu, ruMMLU, ruMMLU-Pro.

Все замеры представлены в /no_think-режиме.

Модель

MERA

MaMuRAMu

ruMMLU

ruMMLU-Pro

T-pro 2.0

0.66

0.851

0.790

0.697

Claude 3.7 Sonnet

0.682

0.89

0.845

-

DeepSeek V3

0.677

0.882

0.8

-

Qwen3 32B 

0.584

0.833

0.740

0.677

DeepSeek-R1-Distill-Qwen-32B

0.508

0.787

0.702

0.537

T-pro 1.0

0.629

0.841

0.769

0.663

RuadaptQwen3-32B-Instruct-v2

0.574

0.823

0.737

0.652

Gemma3-27B

0.577

0.797

0.695

0.665

Mistral Small 3.1 24B

0.526

0.813

0.714

0.617

Reasoning-бенчмарки. Мы взяли несколько популярных академических и индустриальных бенчмарков, чтобы объективно оценить способности модели к рассуждениям и решению сложных задач: AIME, MATH-500, GPQA Diamond, Vikhr Math, Vikhr Physics, LiveCodeBench v4_v5. 

Для Vikhr Math и Vikhr Physics замеры производились кодом на основе Math-Verify. Англоязычные бенчмарки были целиком локализованы на русский язык ИИ-тренерами: ruAIME, ruMATH-500, ru GPQA Diamond, ruLCB. 

Мы собрали свой бенчмарк Т-Math, чтобы расширить оценку математических способностей на русском языке.


Для составления T-Math мы использовали математические задачи из Всероссийской и Московской олимпиад школьников. Все задачи автоматически извлечены и проверены людьми на корректность. В итоге собрали 331 задачу с 1998 по 2025 год. Подробное описание процесса сбора данных можно найти в карточке бенчмарка на huggingface.


Датасет

Область

Размер

Метрика

AIME2024, AIME2025
ruAIME2024, ruAIME2025

Олимпиадная математика

2 × 30

Acc avg@16

MATH-500
ruMATH-500

Олимпиадная математика

500

pass@1

GPQA Diamond
ruGPQA Diamond

Химия, биология, физика (уровень эксперта)

198

pass@1

LCB, ruLCB

Код

268

pass@1

Vikhr Math

Олимпиадная математика

199

pass@1

Vikhr Physics

Олимпиадная физика

98

pass@1

T-MATH

Олимпиадная математика

331

pass@1

Метрики на английском языке. Для ризонинг-моделей все замеры производились в think-режиме.

Модель

AIME2024

AIME2025

MATH-500

GPQA Diamond

LCB

T-pro 2.0

0.765

0.679

0.966

0.641

0.556

DeepSeek V3

0.52

0.285

0.942

0.655

0.405

DeepSeek R1

0.914

0.875

0.983

0.813

0.77

Qwen3 32B

0.808

0.725

0.961

0.668

0.546

DeepSeek-R1-Distill-Qwen-32B

0.706

0.573

0.950

0.621

0.572

T-pro 1.0

0.085

0.052

0.744

0.530

0.243

RuadaptQwen3-32B-Instruct-v2

0.692

0.604

0.948

0.596

0.489

Gemma 3 27B

0.260

0.221

0.882

0.515

0.246

Метрики на русском языке. Для ризонинг-моделей все замеры производились в think-режиме.

Модель

ruAIME
2024

ruAIME
2025

ruMATH-500

ru GPQA Diamond

ruLCB

T-Math

Vikhr Math

Vikhr Physics

T-pro 2.0

0.704

0.646

0.94

0.591

0.563

0.541

0.799

0.51

DeepSeek V3

0.319

0.285

0.882

0.657

0.444

0.278

0.613

0.367

DeepSeek R1

0.8

0.8

0.972

0.763

0.69

0.619

0.864

0.469

Qwen3 32B

0.706

0.625

0.938

0.606

0.537

0.529

0.809

0.531

DeepSeek-R1-Distill-Qwen-32B

0.510

0.402

0.898

0.631

0.493

0.254

0.462

0.286

T-pro 1.0

0.144

0.133

0.788

0.465

0.235

0.163

0.422

0.316

RuadaptQwen3-32B-Instruct-v2

0.575

0.450

0.926

0.591

0.500

0.444

0.528

0.337

Gemma 3 27B

0.248

0.231

0.860

0.439

0.261

0.208

0.548

0.276

Зачем мы этим занимаемся

За последний год open-source-модели проделали большой путь; разрыв между проприетарными и открытыми моделями сокращается. По крайней мере пока. 

Модели Deepseek V3/R1 и Qwen3 235B A22B сделали возможным запуск модели уровня gpt4 локально в контуре.

Для нас важно уметь дообучать самые продвинутые (в том числе ризонинговые) LLM и не терять в общих способностях моделей, в то же время решая важные для нас задачи:

  • Управление стоимостью инференса и скоростью генерации.

  • Дообучение на важные для нас домены. Например, домен саппорта или распределение внутреннего промптинга.

  • Уменьшение количества артефактов и проблем с русским языком.

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


Внутренние линейки моделей, которые мы используем в своих продуктах, проходят похожий на T-Pro 2.0 процесс дообучения, но с использованием различных внутренних данных, которыми мы по понятным причинам поделиться не можем.

Модель T-pro 2.0 дообучена только на открытых данных и является для нас результатом работы над рецептом дообучения и артефактом, которым мы можем поделиться с комьюнити. Модель можно использовать как для решения задач в промптинге, так и для дообучения на свои задачи.

Мы впервые решили поделиться большим инструктивным датасетом T-Wix, датасет содержит около 500k примеров, включает в себя ризонинговую и неризонинговую часть. Примеры в датасете прошли многостадийный процесс очистки и балансировки. Его можно использовать для дообучения открытых и внутренних LLM как самостоятельно, так и с домешиванием доменных или внутренних данных. 

Надеемся, что наличие такого датасета в открытом доступе позволит большему числу энтузиастов и компаний делать свои крутые продукты на основе LLM!

Ограничения модели

Длина контекста. Все стадии обучения модель прошла с длиной контекста, равной 32к токенов, как и оригинальная модель Qwen, поэтому контекст до 128k токенов должен нормально работать с RoPE scaling. 

Function calling и MCP. Мы не занимались улучшением function calling и работой с MCP, поэтому это должно работать на уровне оригинальной модели Qwen или несколько хуже — планируем сосредоточиться на этом в следующих релизах.

Выводы

T-pro 2.0:

  • Гибридно-ризонинговая модель, лидирующая среди открытых моделей ≤35B параметров в русскоязычных бенчмарках.

  • Генерирует текст до 2 раз быстрее, чем оригинальная модель Qwen, за счет более плотной токенизации и спекулятивного декодирования. 

Как и любая LLM, T-pro 2.0 может допускать галлюцинации, поэтому для production-сценариев рекомендуем RAG, тонкий fine-tune и внешние механизмы безопасности.

Детальный разбор пайплайна дообучения будет в следующей статье. А пока нам важно ваше мнение — открывайте репозиторий, заводите issues и делитесь кейсами использования.

Полезные ссылки: 

Комментарии (0)