- BrainTools - https://www.braintools.ru -
Математические исследования всё чаще используют методы ИИ для анализа сложных задач, генерации решений и предоставления персонализированного обучения [1]. Однако эффективность таких моделей напрямую зависит от качества и структуры данных, на которых они обучаются. Несмотря на обилие математических текстов в интернете, существует заметный дефицит крупных, размеченных и многоязычных датасетов, специально ориентированных на олимпиадную математику [2]. В частности, для русскоязычных моделей остро не хватает материалов, сочетающих в себе авторитетность источника, сложность содержания и лингвистическое разнообразие.
Команда специалистов Doubletapp [3] создала такой ресурс — датасет задач American Invitational Mathematics Examination (AIME) мы перевели на русский язык. AIME представляет собой уникальный источник сложных, тщательно проработанных задач, которые идеально подходят для тренировки логических и алгоритмических способностей языковых моделей.

Нашей основной целью был не просто машинный перевод текстов, а создание комплексного набора данных, сохраняющего всю структурную и математическую целостность оригиналов.
Для чего нужен этот датасет:
Бенчмаркинг моделей. Математические задачи — признанный стандарт для оценки reasoning-способностей языковых моделей. ruAIME позволяет проводить такую оценку в русскоязычном контексте, где существующих бенчмарков практически нет.
Обучение и файнтюнинг. Датасет можно использовать для тренировки и тонкой настройки моделей, специализирующихся на генерации и анализе математических текстов на русском языке.
Образовательные инструменты. На основе датасета можно создавать чат-боты и обучающие системы, способные помогать русскоязычным студентам и любителям математики в решении нестандартных олимпиадных задач.
Расскажем, как проходил сбор, обработка и перевод задач AIME.
Содержание
Заключение [10]
Рассмотрим наиболее известные усилия в области создания математических датасетов, чтобы определить нишу, которую занимает наш русскоязычный датасет задач AIME.
MATH: бенчмарк является одним из наиболее известных и сложных для оценки способностей языковых моделей к решению математических задач уровня старшей школы и олимпиад. Он содержит задачи из AMC 10, AMC 12 и AIME с пошаговыми решениями.
Несмотря на высокое качество и сложность, его главным ограничением для русскоязычного сообщества является язык — все данные представлены исключительно на английском. Наш датасет напрямую дополняет MATH, предоставляя параллельный корпус для кросс-лингвистических исследований и позволяя обучать и тестировать модели для русскоязычной аудитории.
TheoremQA: сравнительно новый датасет, фокусирующийся на вопросах и доказательствах из высшей математики (теория вероятностей, матанализ, линейная алгебра). В то же время он нацелен на университетский уровень, а наш датасет сохраняет фокус на олимпиадных задачах среднего и старшего школьных уровней, что делает их комплементарными по охвату сложности.
GSM8K (Grade School Math 8K): широко известный датасет, состоящий из нескольких тысяч текстовых задач на элементарную арифметику уровня начальной и средней школы. Задачи в GSM8K обычно решаются за 2–8 шагов. AIME находится на качественно ином уровне сложности: его задачи требуют несравнимо более длинных цепочек рассуждений (десятки шагов), творческого подхода и часто нетривиальных озарений.
Онлайн-архивы и базы задач: в рунете существует несколько авторитетных ресурсов, посвященных олимпиадной математике, таких как problems.ru и цифровые архивы различных математических кружков. Эти ресурсы содержат огромное количество уникальных и сложных задач. Но как правило они представлены в виде неструктурированного HTML-контента, предназначенного для человеческого восприятия [11], а не для машинного обучения. Чтобы преобразовать их в чистый, структурированный, машиночитаемый формат нужна масса усилий по парсингу и нормализации. Наш датасет предлагает готовое, очищенное и структурированное решение.
Датасеты для генерации задач: существуют проекты, направленные на генерацию простых математических задач на русском языке для младших школьников. Однако они не охватывают уровень сложности олимпиадных задач, таких как AIME, который требует глубоких рассуждений и многошаговых решений.
Для создания датасета математических задач AIME мы разработали автоматизированный пайплайн на Python. Его целью были сбор, очистка и структурирование данных с общедоступного ресурса. Расскажем о каждом этапе процесса.
В качестве основного источника выступил архив вики-ресурса Art of Problems Solving (AoPS). Этот сайт содержит полную коллекцию задач AIME за все годы проведения, включая их условия и подробные решения. Особенностью данных является активное использование математической нотации LaTeX.
Управляющий цикл сбора
Главная функция скрипта организует процесс обхода страниц. Она последовательно итерируется по годам (от 1983 до 2025) и для каждого года определяет список доступных контестов (AIME, AIME I, AIME II). Для каждого контеста скрипт систематически генерирует URL-адреса предполагаемых страниц с задачами и проверяет их существование.
Парсинг и извлечение контента
Для каждого валидного URL вызывается функция парсинга. Её задача — извлечь с веб-страницы три ключевых элемента:
Условие задачи: текст проблемы, включая все математические формулы.
Решение: один или несколько вариантов решений, представленных на странице.
Ответ: конечный ответ к задаче, который автоматически извлекается из специальных тегов оформления (например, boxed{}, fbox{} и т. п.).
Очистка и структурирование текста
Для работы с текстовым содержимым реализовали специальную функцию, которая обрабатывает HTML-структуру, извлекает текстовые узлы и корректно обрабатывает встроенные математические формулы (теги LaTeX). Эта функция обеспечивает сохранение семантической целостности текста и формул, правильно расставляя пробелы и знаки препинания.
Сохранение данных
Все извлеченные данные сохраняются в структурированном виде. Для эффективного хранения и последующего использования выбрали формат Parquet. Он оптимально подходит для работы с табличными данными, содержащими текстовые поля и метаинформацию, благодаря высокой скорости чтения и сжатию. Скрипт реализует инкрементальное сохранение результатов через фиксированные интервалы, что минимизирует риск потери данных при длительном запуске.
В результате работы скрипта был создан датасет, где каждая запись содержит всю информацию о задаче: год проведения, тип контеста, текст условия, текст решения, конечный ответ и ссылку на источник.
Перед построением прогнозных моделей провели всесторонний анализ исходного датасета, направленный на оценку его объёма, качества, внутренней структуры и пригодности для решения задачи классификации. Анализ включал в себя статистическое исследование числовых ответов, оценку разнообразия условий задач и выявление потенциальных паттернов и аномалий.
Уникальность: высокий показатель уникальности ответов (~63%) свидетельствует о том, что датасет не перенасыщен повторяющимися задачами с идентичными ответами — это поможет обучить модель распознавать разнообразные паттерны.
Распределение и диапазон: ответы распределены в диапазоне от 0 до 997, что охватывает широкий спектр возможных результатов для задач олимпиадного уровня. Распределение близко к симметричному, со средним и медианным значениями, расположенными в нижней части диапазона, и умеренным стандартным отклонением, указывающим на сбалансированную изменчивость без выраженного перекоса.

Частотный анализ: распределение частот ответов является равномерным. Ни один ответ не доминирует; даже самый частотный встречается не более чем в 2-3% случаев. Топ-10 наиболее распространённых ответов покрывают менее 20% всех задач, что подтверждает отсутствие ярко выраженных шаблонных результатов и необходимость в сложной модели, а не простом частотном подходе.

Анализ выявил наличие в ответах значительного количества чисел со специальными свойствами, что отражает природу олимпиадных задач.
Специальные числа: в выборке часто встречаются степени двойки, полные квадраты, простые числа, палиндромы, а также числа с повторяющимися или последовательно возрастающими/убывающими цифрами. Это указывает на то, что модель должна уметь распознавать не только вычислительные, но и логико-математические паттерны.

Сумма цифр: средняя сумма цифр ответа составляет примерно 11, что является дополнительной характеристикой распределения целевых значений.

Мы проанализировали текстовое содержание условий задач.
Длина и сложность: средняя длина условия составляет 300 символов (95 токенов после обработки), что указывает на достаточно компактные, но содержательные формулировки, типичные для олимпиадных задач.

Структурное богатство: значительная часть задач содержит комбинацию текста, математических формул (LaTeX), специальных символов (но пока без мультимодальных данных). Это подтверждает необходимость использования моделей, способных работать со структурированной текстовой информацией.

Тематическое разнообразие: автоматическая кластеризация и анализ содержания позволили выделить основные тематические разделы: алгебра (~36%), геометрия, теория чисел, комбинаторика и другие. Высокие значения энтропии и низкий индекс Джини для тематических меток говорят о хорошем балансе между категориями, что исключает перекос обучения в сторону какой-либо одной темы.

В датасете не должно быть дубликатов и аномалий — для оценки чистоты датасета мы использовали следующие методы:
Семантические дубликаты: проверка с помощью метрики Левенштейна и анализа векторных представлений (эмбеддингов) показала практическое отсутствие полных дубликатов или синонимичных переформулировок одной и той же задачи. Каждая запись уникальна по своему содержанию.
Аномалии и выбросы: применение методов IQR, Z-score и Isolation Forest не выявило статистически значимых аномалий в распределении числовых ответов. Это свидетельствует о высоком качестве разметки данных и их внутренней согласованности.

По результатам анализа мы видим, что датасет обладает высоким качеством и пригоден для обучения моделей машинного обучения. Его ключевые характеристики: репрезентативность, сбалансированность, чистота, сложность.
После успешного сбора и структурирования датасета задач AIME мы перевели их на русский язык. Этот этап был критически важен для подготовки данных к обучению моделей, ориентированных на русскоязычную аудиторию.
Основной целью являлось создание высококачественного параллельного корпуса (английский-русский) математических текстов. Что было важно:
Сохранение точности. Все математические формулы, обозначения и структурные элементы должны остаться неизменными.
Естественность языка. Перевод математических рассуждений и пояснений должен быть выполнен грамотно, с использованием принятой в русскоязычной математической литературе терминологии.
Автоматизация процесса. Учитывая объем данных, мы автоматизировали перевод с использованием передовых языковых моделей.
Для выполнения перевода выбрали API модели DeepSeek Reasoner. Этот выбор был обусловлен несколькими факторами:
Способность работать с математическим контекстом. Модель демонстрирует высокие способности к пониманию и обработке сложных технических и математических текстов.
Управление длинным контекстом. Модель эффективно работает с длинными текстами, что важно для задач с развернутыми многошаговыми решениями.
Контролируемое выполнение инструкций. Модель надежно следует заданным инструкциям, что было ключевым для сохранения структуры исходных данных.
Мы разработали специальный скрипт, который последовательно обрабатывал каждый текстовый файл с задачей. Формировался специальный промпт, который явно инструктировал модель:
Перевести на русский язык только текст между маркерами ---BEGIN_PROBLEM---/---END_PROBLEM--- и ---BEGIN_SOLUTION---/---END_SOLUTION---.
Строго сохранить все оригинальные маркеры, формулы LaTeX, теги boxed{} и переносы строк.
Не добавлять в ответ никаких пояснений, нумерации или дополнительного текста, кроме самого перевода.
Сам промпт получился вот таким:
Переведи на русский только текст между маркерами. В ответе ОБЯЗАТЕЛЬНО оставь маркеры в точности такими, как ниже, и не добавляй ничего лишнего (никаких предисловий, пояснений, нумерации и т.д.). Сохрани все формулы и переносы строк.
<условие задачи с решением>
Скрипт читал файлы из исходной директории, отсортированные по номеру, и отправлял их содержимое на API DeepSeek. Для управления нагрузкой и соблюдением лимитов API между запросами добавлялась случайная задержка. Каждый успешно переведенный текст сохранялся в новой директории. Скрипт был разработан так, чтобы его можно было безопасно остановить и возобновить; он автоматически пропускал уже обработанные файлы, проверяя их наличие в выходной директории.
Хотя процесс был автоматическим, на этапе разработки мы выборочно проверяли перевод для оценки его качества и точности соблюдения инструкций. Это позволило убедиться, что модель корректно обрабатывает математические выражения и не вносит в них изменения.
В результате работы скрипта мы получили полный параллельный корпус оригинальных задач на английском языке и их качественных переводов на русский.
Для удобства использования датасета в качестве бенчмарка для оценки языковых моделей, исходные данные мы преобразовали в строго определенный формат. Этот процесс включил несколько ключевых этапов.
Данные храним в двух JSON-файлах:
test.json: содержит основные вопросы для тестирования моделей.
shots.json: содержит примеры задач для few-shot обучения, строго отделенных от основного теста; задачи не должны пересекаться.
Для приведения собранного датасета к целевому формату был запущен финальный скрипт преобразования, который выполнил следующие шаги:
Структурирование инструкции (instruction):
разработали набор промптов, чтобы внести разнообразие в формулировки и потенциально повысить устойчивость моделей к вариациям входных данных.
Формирование объекта inputs: поле question заполнялось текстом условия задачи на русском языке, полученным на этапе перевода.
Извлечение ответа (outputs):
в это поле помещался конечный ответ задачи (answer), который был ранее извлечен на этапе парсинга.
Наполнение метаданных (meta):
id: уникальный числовой идентификатор, присвоенный каждой задаче в исходном датасете.
url: URL-адрес исходной страницы на AoPS Wiki для обеспечения верифицируемости и атрибуции.
categories: словарь с метаданными о задаче — тип соревнования (contest_type), год (year), номер задачи (problem_id) и математическая область (math_domain), определенная на основе анализа содержания.
solutions: поле содержит одно или несколько решений задачи на русском языке. Это позволяет использовать датасет не только для оценки, но и для обучения моделей.
В результате преобразования каждый элемент датасета приобрел четкую и машиночитаемую структуру. Вот пример итоговой записи, демонстрирующий все ключевые поля:
{
"instruction": "ТОЛЬКО РЕЗУЛЬТАТ! Разберись с задачей: {question}. Выведи только числовой результат, комментариев и пояснений давать не нужно!",
"inputs": {
"question": "В окружности проведены две пересекающиеся хорды. Радиус окружности равен 5, BC=6, и AD делится пополам хордой BC. Найдите произведение mn, где m/n - несократимая дробь, представляющая синус центрального угла малой дуги AB."
},
"outputs": "175",
"meta": {
"id": 999,
"url": "https://artofproblemsolving.com/wiki/index.php/2024_AIME_Problems/Problem_0",
"categories": {
"contest_type": "AIME",
"year": 2024,
"problem_id": 0,
"math_domain": "Геометрия"
},
"solutions": {
"solution_1": {
"id": 1,
"text": "Пусть O - центр окружности. Поскольку BC=6, расстояние от O до BC равно 4. Рассмотрим геометрическое место середин хорд из A - это окружность с диаметром AO. Условие единственности означает, что эта окружность касается BC. Проведя необходимые вычисления, получаем sin(∠AOB) = 7/25. Таким образом, m=7, n=25, и их произведение равно 175."
}
}
}
}
Для объективной оценки математических способностей модели deepseek-reasoner мы провели тестирование с помощью фреймворка lm-evaluation-harness на собранном русскоязычном датасете.
Определить, насколько эффективно модель способна понимать сложные олимпиадные задачи на русском языке, содержащие текст, математическую нотацию (LaTeX), и выдавать точный конечный числовой ответ.
Настройка: модель deepseek-reasoner была интегрирована в harness в режиме инференса.
Задачи: модели последовательно предъявлялись задачи из тестового набора (test.json). Каждый пример включал условие задачи (поле inputs).
Промпт: для каждой задачи использовались стандартизированные инструкции (поле instruction), требующие от модели выдать только конечный числовой ответ без пояснений.
Метрика: основной метрикой оценки была точность (accuracy) — процент задач, для которых ответ модели точно совпал с эталонным ответом (outputs).
Модель успешно справилась с ~70% задач из тестового набора, продемонстрировав способность к сложным многошаговым рассуждениям и пониманию математического контекста на русском языке.
В ~30% случаев модель не смогла предоставить корректный ответ. Анализ этих ошибок показал две основные причины:
Неверное решение: модель выдавала ошибочный числовой ответ, что указывает на сбой в логике [12] или вычислениях.
Превышение лимита токенов: в ряде случаев модель запускала чрезмерно длинную цепочку рассуждений, превышая установленное ограничение на максимальное количество генерируемых токенов, и не успевала прийти к финальному ответу.
Наш проект — это не просто перевод AIME, а шаг к развитию математического AI на русском языке. Мы закрываем дефицит качественных русскоязычных данных и даём инструмент, который можно применять на практике.
Датасет подходит для обучения моделей, создания образовательных продуктов, кросс-лингвистических исследований и разработки бенчмарков для оценки ИИ. Его можно масштабировать: добавлять задачи из других олимпиад и использовать как основу для решений, где важны логика и точность рассуждений.
Мы создаём экспертные данные и AI-решения под задачи бизнеса — этот кейс лишь один из примеров.
Хотите повысить качество моделей, автоматизировать сложные процессы или запустить интеллектуальный продукт — напишите нам [3].
Автор: vladislav_dt
Источник [13]
Сайт-источник BrainTools: https://www.braintools.ru
Путь до страницы источника: https://www.braintools.ru/article/28731
URLs in this post:
[1] обучения: http://www.braintools.ru/article/5125
[2] математику: http://www.braintools.ru/article/7620
[3] Doubletapp: https://doubletapp.ai/datallm?utm_source=habr&utm_medium=article&utm_campaign=aime
[4] Обзор связанных работ: https://habr.com/ru/companies/doubletapp/articles/1022826/#1
[5] Методология сбора и обработки данных: https://habr.com/ru/companies/doubletapp/articles/1022826/#2
[6] Анализ и метрики исходного датасета: https://habr.com/ru/companies/doubletapp/articles/1022826/#3
[7] Этап перевода математических задач на русский язык: https://habr.com/ru/companies/doubletapp/articles/1022826/#4
[8] Адаптация датасета: https://habr.com/ru/companies/doubletapp/articles/1022826/#5
[9] Оценка с помощью lm-evaluation-harness: https://habr.com/ru/companies/doubletapp/articles/1022826/#6
[10] Заключение: https://habr.com/ru/companies/doubletapp/articles/1022826/#7
[11] восприятия: http://www.braintools.ru/article/7534
[12] логике: http://www.braintools.ru/article/7640
[13] Источник: https://habr.com/ru/companies/doubletapp/articles/1022826/?utm_source=habrahabr&utm_medium=rss&utm_campaign=1022826
Нажмите здесь для печати.