Синтетические задачи в стиле Codeforces для претрейна GigaChat

LLM

Доклад принят в программу конференции

Мнение Программного комитета о докладе

Поднимите руки, у кого детям LLMки домашку делают? А ведь, согласитесь, плохо пока делают, не все задачи правильно решают. А тут как раз история о том, как сделать шаг по пути прогресса!

Целевая аудитория

ML/LLM-инженеры и исследователи, которые готовят данные для обучения LLM; data-инженеры и специалисты по качеству данных; разработчики, интересующиеся олимпиадным программированием.

Тезисы

Качество больших языковых моделей сильно зависит от масштаба и качества данных, а объём “хорошего” естественного текста ограничен. Поэтому всё чаще для обучения LLM используют синтетические данные — но вместе с этим появляется новая проблема: синтетику легко “нагенерировать”, а вот надёжно проверить её качество гораздо сложнее.

В докладе я расскажу про то, как мы построили конвейер генерации полностью синтетических задач по олимпиадному программированию и их автоматической валидации. По ходу работы мы придумали как с помощью LLM писать тесты, выстроили массовую проверку решений (сотни миллионов прогонов кода) и нашли способ надёжно отбраковывать задачи и решения в условиях, когда нет эталонных ответов. Итоговые данные мы использовали в претрейне GigaChat Ultra.

Занимаюсь подготовкой синтетических данных для pretraining GigaChat: генерация и контроль качества. Закончил ШАД, интересуюсь тем, как данные и архитектурные решения влияют на поведение больших моделей. Люблю собирать сложные агентные системы и превращать идеи в работающие пайплайны. В свободное время пишу музыку.

Видео