Исследования
Внутри датасета ИИ-маппера для 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! | Чарты | Доля |
|---|---|---|
| Ranked / Qualified | 24 896 | 16,5 % |
| Loved | 2 530 | 1,7 % |
| Pending, WIP и Graveyard | 114 212 | 75,8 % |
| Никогда не загружались в osu! (в основном конверты из BMS / O2Jam) | 8 984 | 6,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 помечены как и то, и другое. У этих игр свои традиции чартинга, и они расширяют то, что видят модели.
По количеству клавиш
| Клавиши | Чарты | Доля |
|---|---|---|
| 4K | 72 362 | 48,0 % |
| 5K | 8 442 | 5,6 % |
| 6K | 13 235 | 8,8 % |
| 7K | 49 129 | 32,6 % |
| 8K | 5 090 | 3,4 % |
| 9K | 2 364 | 1,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 рассказывает о двух моделях, которые на них учатся.