Badania

Zbiór danych stojący za AI mapperem osu! mania

ManiaGAI v2 uczył się na 150 622 mapach osu! mania stworzonych przez około 14 500 mapperów — daleko poza sekcją rankingową. Co jest w korpusie według liczby klawiszy, trudności i źródła, i dlaczego tak go zbudowaliśmy.

Większość pracy nad generatorem beatmap z AI to nie model. To dane: decyzja, z których map warto się uczyć, dopilnowanie, żeby każdy przykład treningowy miał poprawny timing, i zapisanie mapy w formie, która oddaje to, co czyni ją grywalną. Ten wpis zagląda do korpusu, na którym uczyły się modele ManiaGAI v2 — co w nim jest i dlaczego wygląda tak, a nie inaczej.

Korpus w skrócie

Mapy
150 622
Piosenki
86 255
Mapperzy
~14 500
Unikalne audio
4227 h

To 150 622 mapy osu! mania stworzonych przez ludzi, do 86 255 piosenek, napisanych przez około 14 500 różnych mapperów — 4227 godzin unikalnego audio. Nie od początku był taki duży: zbiór treningowy urósł z około 83 000 map do obecnego rozmiaru w trakcie prac, z których powstała wersja 2.

Nie tylko mapy rankingowe

Oczywistym wyborem byłby trening wyłącznie na mapach rankingowych — są recenzowane, ich timing jest sprawdzony i wyznaczają poprzeczkę jakości społeczności. Celowo tego nie zrobiliśmy. Mapy rankingowe to mały i stylistycznie wąski wycinek tego, co ludzie faktycznie mapują i grają: w tym korpusie to jedna mapa na sześć.

Mapy treningowe według statusu w osu!
Status w osu!MapyUdział
Ranked / Qualified24 89616,5%
Loved25301,7%
Pending, WIP i Graveyard114 21275,8%
Nigdy nie przesłane do osu! (głównie konwersje z BMS / O2Jam)89846,0%

Status według osu! na październik 2026.

Trzy czwarte map to pending, work-in-progress albo graveyard — mapy, które nigdy nie przeszły przez ranking, co nie znaczy, że są złe: znaczy to, że nikt ich nie zrecenzował, a nie że oblały recenzję. Model, który uczy się tylko z map rankingowych, przejmuje nawyki sekcji rankingowej; model, który uczy się z całej społeczności, widzi pełen zakres tego, jak ludzie mapują.

Poza osu!: BMS i O2Jam

Korpus już teraz obejmuje więcej niż jeden ekosystem gier rytmicznych z pionowym przewijaniem. 21 379 map — 14% zbioru, we wszystkich statusach — jest oznaczonych jako pochodzące z BMS lub O2Jam: 16 188 z BMS i 5491 z O2Jam, przy czym 300 ma oba oznaczenia. Te gry mają własne tradycje mapowania i poszerzają to, co widzą modele.

Według liczby klawiszy

Mapy treningowe według liczby klawiszy
KlawiszeMapyUdział
4K72 36248,0%
5K84425,6%
6K13 2358,8%
7K49 12932,6%
8K50903,4%
9K23641,6%

Dominują 4K i 7K — razem około 80% korpusu. 8K i 9K są rzadkie: po kilka tysięcy map. Ta nierównowaga ma znaczenie dla treningu, dlatego próbki są podczas treningu równoważone między liczbami klawiszy (i poziomami trudności), żeby mapy 8K i ★10 nie ginęły w masie map 4K i ★4.

Według trudności

Ocena gwiazdkowa mierzona algorytmem samego osu!; mediana ★4,2, zakres ★0,5–13.

Większość korpusu mieści się między ★1 a ★7, z długim ogonem trudnych map powyżej ★9. Zakres trudności ManiaGAI, od ★1 do ★10, leży tam, gdzie są przykłady: każdy poziom gwiazdek poniżej ★10 ma ponad tysiąc map; powyżej ich liczba szybko spada. A 15,8% map zmienia tempo w trakcie piosenki, więc zmienne tempo to część tego, czego uczą się modele, a nie przypadek brzegowy.

Czego nie bierzemy

Szeroki zakres nie oznacza brania wszystkiego. Niektóre mapy są wykluczone, bo uczyłyby złych rzeczy:

  • Niedokończone mapy — w połowie zmapowana piosenka uczy model przerywać mapowanie w połowie.
  • Duplikaty z rate-editami — ta sama mapa przyspieszona lub zwolniona liczyłaby patterny jednego mappera wielokrotnie.
  • Mapy wygenerowane przez AI, łącznie z naszymi — model trenowany na wygenerowanych mapach uczy się naśladować generatory, a nie mapperów.

Jedna siatka timingu dla wszystkiego

Każda mapa w korpusie jest ponownie timingowana na ten sam rodzaj siatki timingu, jaki generator tworzy z audio. Brzmi to jak szczegół; to jedna z najważniejszych decyzji w całym zbiorze danych. Podczas generowania modele stawiają nuty względem timingu wykrytego przez ManiaGAI, a nie timingu ustawionego przez człowieka — więc powinny uczyć się rozmieszczania nut względem tego samego rodzaju siatki. Trening na timingu mapperów i generowanie na wykrytym timingu nauczyłyby modele jednej siatki, a potem dały im inną. (To, jak dokładny jest wykryty timing, ma własny artykuł: benchmark timingu.)

Czego wymaga nauka na tych danych

Audio jest raz kodowane do cech muzycznych wyrównanych do siatki — zajmują około 0,7 TB na dysku. Cały trening odbywa się na jednej karcie NVIDIA RTX 4070 Ti SUPER z 16 GB pamięci. Zamiast trenować od zera przy każdej zmianie, model nut jest stale dostrajany (fine-tuning) w miarę, jak zmieniają się dane i siatka timingu; kiedy zmieniliśmy sposób, w jaki zaczyna się siatka, oba modele zostały na niej wytrenowane od nowa. Cała linia rozwoju modelu nut v2 to około 540 zalogowanych godzin GPU — sam ostatni przebieg trwał około czterech dni i około pięciu przejść przez 16,9 miliona okien treningowych — a planner dokłada około 40 kolejnych.

Nic z tego nie jest oceniane wyłącznie po stracie treningowej. Każda zmiana jest sprawdzana na samych wygenerowanych mapach: dokładność timingu, zmierzona trudność względem docelowej, grywalność.

Co dają szerokie dane — a czego nie dają

Szeroki zakres sprawia, że jeden model potrafi pisać 4K i 9K, ★1 i ★10, mapy pełne długich nut i mapy pełne jacków, a także podążać za stylem, o który prosisz: te patterny gdzieś w korpusie istnieją. Czego szeroki zakres nie daje, to jednolity poziom jakości — niektóre mapy w korpusie społeczności są lepsze od innych, a model uczy się ze wszystkich.

Publikujemy, co jest w danych i dlaczego; nie publikujemy szczegółów tego, skąd pochodzą, jak są filtrowane i budowane. Strona Technologia wyjaśnia, gdzie dane mieszczą się w całym systemie, a artykuł o Planner + Noter opisuje dwa modele, które się na nich uczą.