Перейти к содержанию
Новое AiManual теперь в MAX Подписаться
Публикация AiManual

Обзор датасета SupraLabs/reasoning-corpus-4K-5M-v1: 5 миллионов примеров для обучения рассуждению маленьких моделей

Детальный обзор открытого датасета SupraLabs с 5 млн примеров Chain-of-Thought в формате ChatML. Идеален для supervised fine-tuning компактных SLM. Разбираем ст

Коротко

Что будет в материале

  1. 01

    Что такое SupraLabs/reasoning-corpus-4K-5M-v1 и зачем он нужен

  2. 02

    Структура данных: как устроен каждый пример

  3. 03

    Почему 5000 токенов: оптимизация для маленьких моделей

  4. 04

    Практическое применение: сценарии файнтюнинга с датасетом

Что такое SupraLabs/reasoning-corpus-4K-5M-v1 и зачем он нужен

SupraLabs/reasoning-corpus-4K-5M-v1 - открытый датасет на Hugging Face, содержащий 5 миллионов примеров с цепочками рассуждений (Chain-of-Thought, CoT). Каждый пример упакован в формат ChatML и обрезан до 5000 токенов. Основное назначение - supervised fine-tuning (SFT) компактных Small Language Models (SLM).

Маленькие модели обычно проигрывают флагманам в логике и многошаговых рассуждениях. Этот датасет решает проблему: он даёт готовые трассировки мысли, на которых SLM учатся рассуждать, не требуя кластеров GPU. 5 миллионов примеров - достаточный объём, чтобы модель освоила паттерн «подумал - ответил» без переобучения под конкретный домен.

Фактически вы получаете готовый корпус для SFT, где каждый пример уже содержит промт пользователя, внутренний монолог модели и финальный ответ. Обрезание до 5000 токенов гарантирует, что данные поместятся в контекстное окно большинства SLM - от Phi-3 до Gemma-2B. Датасет открыт, доступен через библиотеку datasets и совместим с основными фреймворками для файнтюнинга: transformers, axolotl, llama.cpp.

Структура данных: как устроен каждый пример

Каждая запись датасета состоит из трёх логических полей: промт пользователя, трассировка мысли (CoT) и финальный ответ. Все три компонента упакованы в единый диалог в формате ChatML с явным разделением ролей. Трассировка мысли вставляется как внутренний монолог ассистента перед выдачей ответа - модель учится сначала рассуждать, потом отвечать.

Пример записи в формате ChatML:

<|im_start|>user
Реши задачу: в коробке 12 яблок, 5 забрали, сколько осталось?
<|im_end|>
<|im_start|>assistant
Давайте подумаем. В коробке было 12 яблок. Забрали 5 яблок. Значит, осталось 12 - 5 = 7 яблок.
Ответ: 7 яблок.
<|im_end|>

Парсить такие данные просто: достаточно разделить текст по токенам <|im_start|> и <|im_end|>, извлечь реплики пользователя и ассистента. Библиотека Hugging Face datasets загружает датасет одной строкой:

from datasets import load_dataset

dataset = load_dataset("SupraLabs/reasoning-corpus-4K-5M-v1", split="train")
print(dataset[0])

Обрезание до 5000 токенов обеспечивает единообразие примеров. Вам не нужно фильтровать длинные диалоги или беспокоиться, что модель упрётся в лимит контекста во время SFT. Это особенно важно для SLM с окном 4K–8K токенов.

Формат ChatML: почему это удобно для файнтюнинга

ChatML явно разделяет роли: system, user, assistant. Для задач рассуждения это принципиально лучше, чем Alpaca-формат с тремя полями (instruction, input, output). В Alpaca нет места для внутреннего монолога - модель видит только вопрос и ответ, пропуская этап размышления.

ChatML позволяет вставить трассировку мысли прямо в реплику assistant перед финальным ответом. Модель учится генерировать цепочку рассуждений и только потом выдавать результат. Это формирует навык пошагового решения, а не угадывания ответа. После SFT на таком формате модель начинает автоматически выводить промежуточные шаги даже на незнакомых задачах.

Стандартные chat template'ы в transformers и vLLM нативно поддерживают ChatML. Достаточно указать tokenizer.apply_chat_template() с соответствующей конфигурацией - и данные готовы к обучению. Никакой кастомной предобработки не требуется.

Почему 5000 токенов: оптимизация для маленьких моделей

Большинство компактных моделей - Phi-3-mini, Gemma-2B, Qwen2-1.5B - имеют контекстное окно от 4096 до 8192 токенов. Если датасет содержит примеры длиннее этого лимита, при SFT они обрезаются на лету, часто с потерей финального ответа или ключевых шагов рассуждения. Модель учится на обрывках, качество падает.

SupraLabs решили эту проблему превентивно: все 5 миллионов примеров обрезаны до 5000 токенов ещё на этапе подготовки. Это даёт три практических преимущества:

  • Гарантированная совместимость. Пример помещается в контекстное окно любой SLM с запасом, без риска обрезания важной информации.
  • Снижение требований к памяти GPU. Короткие последовательности требуют меньше VRAM, что позволяет использовать больший batch size и ускоряет SFT в 1.5–2 раза по сравнению с датасетами, где примеры достигают 8K–16K токенов.
  • Единообразие. Все примеры одной длины, не нужно писать логику динамической паддинговки или фильтрации. Загрузили - обучаете.

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

Практическое применение: сценарии файнтюнинга с датасетом

Датасет закрывает три основных сценария использования. Первый - улучшение логических способностей небольшой модели для чат-ботов и ассистентов. После SFT на reasoning-corpus-4K-5M-v1 модель начинает отвечать не односложно, а с пояснением хода мыслей, что повышает доверие пользователя.

Второй сценарий - обучение пошаговому решению задач. Математика, генерация кода, анализ данных требуют цепочки промежуточных шагов. Принудительное включение рассуждений через chat template работает, но модель должна быть обучена этому паттерну. Датасет даёт 5 миллионов готовых примеров такого поведения.

Третий сценарий - создание специализированной «думающей» SLM для доменных приложений. Например, юридический или медицинский консультант, где важна не скорость, а обоснованность вывода. Вы берёте базовую SLM, дообучаете её на reasoning-corpus для общего навыка рассуждения, затем файнтюните на доменных данных. Промежуточный этап с CoT-датасетом не даёт модели «разучиться думать» при специализации - проблема, хорошо описанная в руководстве по Self-Distilled Reasoning для SFT-кастомизации.

Датасет совместим с transformers, axolotl и llama.cpp. Для быстрого старта можно использовать скрипты из Language Model Builder - они поддерживают загрузку кастомных датасетов в ChatML и обучение на Mac.

Пример кода для запуска SFT с использованием датасета

Минимальный пример файнтюнинга Gemma-2B на reasoning-corpus с использованием transformers и LoRA:

from transformers import AutoModelForCausalLM, AutoTokenizer, Trainer, TrainingArguments
from datasets import load_dataset
from peft import LoraConfig, get_peft_model

model_name = "google/gemma-2b"
model = AutoModelForCausalLM.from_pretrained(model_name, device_map="auto")
tokenizer = AutoTokenizer.from_pretrained(model_name)

lora_config = LoraConfig(r=16, lora_alpha=32, target_modules=["q_proj", "v_proj"], lora_dropout=0.05)
model = get_peft_model(model, lora_config)

dataset = load_dataset("SupraLabs/reasoning-corpus-4K-5M-v1", split="train")

def format_chatml(example):
    text = tokenizer.apply_chat_template(
        [{"role": "user", "content": example["prompt"]},
         {"role": "assistant", "content": example["cot"] + "\n" + example["answer"]}],
        tokenize=False
    )
    return {"text": text}

dataset = dataset.map(format_chatml)
dataset = dataset.map(lambda x: tokenizer(x["text"], truncation=True, max_length=5000), batched=True)

training_args = TrainingArguments(
    output_dir="./gemma-2b-reasoning",
    per_device_train_batch_size=4,
    gradient_accumulation_steps=8,
    learning_rate=2e-5,
    num_train_epochs=1,
    bf16=True,
    logging_steps=50,
    save_strategy="epoch"
)

trainer = Trainer(model=model, args=training_args, train_dataset=dataset)
trainer.train()

Рекомендуемые гиперпараметры для SLM: learning rate 2e-5, batch size 4–8 с gradient accumulation, одна эпоха. Полный проход по 5 миллионам примеров на одной A100 занимает около 40 часов. При использовании LoRA и 4-битной квантизации можно обучить модель на GPU с 24 ГБ VRAM.

Ограничения и о чем стоит знать перед использованием

Датасет новый, и с этим связаны четыре риска, которые нужно учитывать.

Обрезание до 5000 токенов. Для 90% задач этого достаточно, но если ваша модель должна рассуждать над длинными документами или вести многошаговые дебаты, обрезанные примеры могут не покрывать нужный паттерн. Проверьте среднюю длину рассуждений в вашей целевой задаче перед использованием датасета.

Неизвестные источники данных. SupraLabs не раскрывают, откуда взяты 5 миллионов примеров. Возможны смещения: если данные сгенерированы одной моделью-учителем, SLM унаследует её ошибки и стилистику. Если собраны из разных источников без фильтрации, часть примеров может содержать неверные рассуждения. Проблема синтетических данных в претрейнинге разбирается в статье о чистом претрейнинге на человеческих данных - аналогичные риски применимы и к SFT.

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

Нет бенчмарков. На июль 2026 года отсутствуют независимые тесты, показывающие прирост качества на GSM8K, MATH или других эталонных задачах после SFT на этом датасете. Эффективность подтверждена только логикой дизайна, но не экспериментами. Проведите собственное A/B-тестирование на целевых метриках.

Сравнение с аналогами: в чем уникальность датасета

На рынке открытых датасетов для SFT доминируют три категории. Общие инструктивные датасеты - OpenOrca, Alpaca-GPT4, Dolly - содержат пары «вопрос-ответ» без цепочек рассуждений. После файнтюнинга на них модель отвечает быстро, но не умеет объяснять ход мыслей.

Специализированные CoT-датасеты - GSM8K (8.5K примеров), MATH (12.5K примеров) - содержат качественные цепочки рассуждений, но их объём мал для полноценного SFT. Модель либо переобучается под конкретный домен, либо не успевает освоить паттерн рассуждения.

Крупные синтетические датасеты - UltraChat, OpenHermes - достигают миллионов примеров, но не оптимизированы под SLM: средняя длина диалога часто превышает 8K токенов, что приводит к обрезанию или требует дорогого оборудования для обучения с длинным контекстом.

SupraLabs/reasoning-corpus-4K-5M-v1 занимает уникальную нишу на пересечении трёх характеристик:

  • Объём: 5 миллионов примеров - на два порядка больше специализированных CoT-датасетов.
  • Формат: ChatML с внутренними рассуждениями, а не просто пары «вопрос-ответ».
  • Оптимизация под SLM: жёсткое обрезание до 5000 токенов, что исключает проблемы с контекстным окном и снижает требования к железу.

Это первый открытый датасет такого масштаба, нацеленный именно на обучение рассуждению в компактных моделях. Аналоги либо меньше, либо не содержат CoT, либо требуют GPU с 80 ГБ VRAM.

Выводы: стоит ли использовать датасет в ваших проектах

Датасет решает реальную проблему: нехватку качественных CoT-данных для SFT маленьких моделей. 5 миллионов примеров, ChatML, обрезание до 5000 токенов - это продуманный дизайн, который экономит время на предобработку и снижает порог входа в файнтюнинг рассуждающих SLM.

Риски - новизна, отсутствие валидации и бенчмарков - не делают датасет бесполезным. Они означают, что его нужно использовать осознанно: как дополнительный источник данных в комбинации с проверенными датасетами, а не как единственный корпус для SFT. Выборочная проверка примеров и A/B-тестирование на целевых задачах обязательны.

Практическая рекомендация: начните с файнтюнинга на смеси reasoning-corpus-4K-5M-v1 (70%) и вашего доменного датасета (30%). Это даст модели общий навык рассуждения и сохранит специализацию. Для ускорения экспериментов используйте потоковую загрузку - оптимизации Hugging Face datasets позволяют обрабатывать такие объёмы без загрузки всего корпуса в память.

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

Подписаться на канал