Исследования

Внутри датасета ИИ-маппера для osu! mania

ManiaGAI v2 учился на 150 622 чартах osu! mania от примерно 14 500 мапперов — далеко не только ranked. Что в корпусе по клавишам, сложности и источникам и почему так.

Основная работа в ИИ-генераторе beatmap — не модель. Это данные: решить, на каких чартах стоит учиться, убедиться, что каждый обучающий пример затаймлен правильно, и представить чарт в форме, которая передаёт то, что делает его играбельным. В этой статье мы заглядываем внутрь корпуса, на котором учились модели ManiaGAI v2: что в нём есть и почему он устроен именно так.

Корпус в цифрах

Чарты
150 622
Песни
86 255
Мапперы
~14 500
Уникальное аудио
4 227 ч

Это 150 622 чартов osu! mania, сделанных людьми, на 86 255 песен, написанных примерно 14 500 разными мапперами, — 4 227 часов уникального аудио. Таким большим он был не с самого начала: за время работы, которая превратилась в версию 2, обучающий набор вырос примерно с 83 000 чартов до нынешнего размера.

Не только ranked-карты

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

Обучающие чарты по статусу в osu!
Статус в osu!ЧартыДоля
Ranked / Qualified24 89616,5 %
Loved2 5301,7 %
Pending, WIP и Graveyard114 21275,8 %
Никогда не загружались в osu! (в основном конверты из BMS / O2Jam)8 9846,0 %

Статус в osu! на октябрь 2026 года.

Три четверти чартов — pending, work-in-progress или graveyard: карты, которые никогда не проходили ранкинг, а это не то же самое, что плохие карты. Это значит, что их никто не проверял, а не что они проверку провалили. Модель, которая учится только на ranked-картах, перенимает привычки ranked-раздела; модель, которая учится на всём сообществе, видит весь спектр того, как люди маппят.

Не только osu!: BMS и O2Jam

Корпус уже охватывает больше одной экосистемы ритм-игр с вертикальной прокруткой. 21 379 чартов — 14 % набора, во всех статусах, — помечены как происходящие из BMS или O2Jam: 16 188 из BMS и 5 491 из O2Jam, причём 300 помечены как и то, и другое. У этих игр свои традиции чартинга, и они расширяют то, что видят модели.

По количеству клавиш

Обучающие чарты по количеству клавиш
КлавишиЧартыДоля
4K72 36248,0 %
5K8 4425,6 %
6K13 2358,8 %
7K49 12932,6 %
8K5 0903,4 %
9K2 3641,6 %

Доминируют 4K и 7K — вместе около 80 % корпуса. 8K и 9K редки: по несколько тысяч чартов каждого. Для обучения этот перекос важен, поэтому во время обучения примеры балансируются по количеству клавиш (и уровням сложности), чтобы чарты 8K и ★10 не тонули среди 4K и ★4.

По сложности

Звёздный рейтинг измерен собственным алгоритмом osu!; медиана ★4,2, диапазон ★0,5–13.

Основная масса корпуса лежит между ★1 и ★7, плюс длинный хвост сложных чартов выше ★9. Диапазон сложности ManiaGAI, от ★1 до ★10, находится там, где есть примеры: на каждую звезду ниже ★10 приходится больше тысячи чартов, а выше их число быстро падает. И 15,8 % чартов меняют темп посреди песни, так что переменный темп — часть того, чему учатся модели, а не редкий крайний случай.

Что мы исключаем

Широта не означает, что брать нужно всё. Некоторые чарты исключены, потому что научили бы не тому:

  • Незаконченные чарты — песня, замапленная наполовину, учит модель бросать маппинг на полпути.
  • Дубликаты с rate-edit — один и тот же чарт, ускоренный или замедленный, засчитал бы паттерны одного маппера много раз подряд.
  • Чарты, созданные ИИ, включая наши собственные — модель, обученная на сгенерированных картах, учится подражать генераторам, а не мапперам.

Одна сетка тайминга для всего

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

Что нужно, чтобы на этом учиться

Аудио один раз кодируется в музыкальные признаки, выровненные по сетке, — около 0,7 ТБ на диске. Всё обучение идёт на одной NVIDIA RTX 4070 Ti SUPER с 16 ГБ памяти. Вместо того чтобы при каждом изменении обучать заново с нуля, модель нот непрерывно дообучается по мере того, как меняются данные и сетка тайминга; когда мы изменили то, как начинается сетка, обе модели переобучили на ней. Вся родословная модели нот v2 — это около 540 залогированных GPU-часов: один только её финальный запуск занял около четырёх дней и примерно пять проходов по 16,9 миллиона обучающих окон, — а Planner добавляет ещё около 40.

Ничего из этого не оценивается только по функции потерь на обучении. Каждое изменение проверяется на самих сгенерированных чартах: точность тайминга, измеренная сложность в сравнении с целевой, играбельность.

Что даёт широта данных — и чего не даёт

Именно широта позволяет одной модели писать 4K и 9K, ★1 и ★10, чарты с обилием длинных нот и чарты с обилием jack’ов, а также следовать стилю, который вы просите: эти паттерны где-то в корпусе есть. Чего широта не даёт — так это единой планки качества: одни чарты в корпусе сообщества лучше других, а модель учится на всех.

Мы публикуем, что есть в данных и почему; мы не публикуем, как именно они собираются, фильтруются и строятся. На странице «Технология» объясняется, какое место данные занимают во всей системе, а статья о Planner + Noter рассказывает о двух моделях, которые на них учатся.