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ść.
| Status w osu! | Mapy | Udział |
|---|---|---|
| Ranked / Qualified | 24 896 | 16,5% |
| Loved | 2530 | 1,7% |
| Pending, WIP i Graveyard | 114 212 | 75,8% |
| Nigdy nie przesłane do osu! (głównie konwersje z BMS / O2Jam) | 8984 | 6,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
| Klawisze | Mapy | Udział |
|---|---|---|
| 4K | 72 362 | 48,0% |
| 5K | 8442 | 5,6% |
| 6K | 13 235 | 8,8% |
| 7K | 49 129 | 32,6% |
| 8K | 5090 | 3,4% |
| 9K | 2364 | 1,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ą.