Riset
Mengintip Dataset di Balik Mapper osu! mania AI
ManiaGAI v2 belajar dari 150.622 chart osu! mania buatan manusia oleh sekitar 14.500 mapper — jauh melampaui bagian ranked. Isi korpusnya per jumlah key, difficulty, dan sumber, serta alasannya.
Sebagian besar kerja dalam generator beatmap AI bukan di modelnya. Melainkan di datanya: memutuskan chart mana yang layak dipelajari, memastikan setiap contoh training ter-timing dengan benar, dan merepresentasikan chart dalam bentuk yang menangkap apa yang membuatnya bisa dimainkan. Tulisan ini mengintip isi korpus yang dipelajari model-model ManiaGAI v2 — apa isinya, dan kenapa bentuknya seperti itu.
Sekilas tentang korpusnya
- Chart
- 150.622
- Lagu
- 86.255
- Mapper
- ~14.500
- Audio unik
- 4.227 jam
Artinya 150.622 chart osu! mania buatan manusia dari 86.255 lagu, ditulis oleh sekitar 14.500 mapper berbeda — 4.227 jam audio unik. Awalnya tidak sebesar itu: set training tumbuh dari sekitar 83.000 chart hingga ukurannya sekarang selama pengerjaan yang kemudian menjadi versi 2.
Bukan cuma map ranked
Pilihan yang paling jelas adalah melatih hanya dengan map ranked — map itu sudah direview, timing-nya sudah dicek, dan mewakili standar kualitas komunitas. Kami sengaja tidak melakukannya. Map ranked hanyalah irisan kecil dan sempit secara gaya dari apa yang sebenarnya di-map dan dimainkan orang: di korpus ini, hanya satu dari enam chart yang ranked.
| Status di osu! | Chart | Porsi |
|---|---|---|
| Ranked / Qualified | 24.896 | 16,5% |
| Loved | 2.530 | 1,7% |
| Pending, WIP & Graveyard | 114.212 | 75,8% |
| Tidak pernah di-submit ke osu! (kebanyakan konversi BMS / O2Jam) | 8.984 | 6,0% |
Status dari osu! per Oktober 2026.
Tiga perempat chart berstatus pending, work-in-progress, atau graveyard — map yang tidak pernah melewati proses ranking, dan itu tidak sama dengan map yang jelek: artinya tidak ada yang mereviewnya, bukan berarti map itu gagal direview. Model yang hanya belajar dari map ranked akan mempelajari kebiasaan bagian ranked; model yang belajar dari seluruh komunitas melihat keseluruhan ragam cara orang membuat map.
Di luar osu!: BMS dan O2Jam
Korpus ini sudah mencakup lebih dari satu ekosistem rhythm game vertical scrolling. 21.379 chart — 14% dari set, di semua status — ditandai berasal dari BMS atau O2Jam: 16.188 dari BMS dan 5.491 dari O2Jam, dengan 300 ditandai sebagai keduanya. Game-game itu punya tradisi charting sendiri, dan memperluas apa yang dilihat model.
Berdasarkan jumlah key
| Key | Chart | Porsi |
|---|---|---|
| 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 dan 7K mendominasi — bersama-sama sekitar 80% dari korpus. 8K dan 9K jarang: masing-masing hanya beberapa ribu chart. Ketidakseimbangan itu penting untuk training, jadi sampel diseimbangkan antar jumlah key (dan level difficulty) selama training, supaya chart 8K dan ★10 tidak tenggelam oleh 4K dan ★4.
Berdasarkan difficulty
Star rating diukur dengan algoritma osu! sendiri; median ★4,2, rentang ★0,5–13.
Sebagian besar korpus berada di antara ★1 dan ★7, dengan ekor panjang chart sulit di atas ★9. Rentang difficulty ManiaGAI, ★1 sampai ★10, berada di tempat contoh-contohnya ada: setiap bintang di bawah ★10 punya lebih dari seribu chart; di atasnya, jumlahnya cepat menipis. Dan 15,8% chart berubah tempo di tengah lagu, jadi tempo yang berubah-ubah adalah bagian dari yang dipelajari model, bukan kasus pinggiran.
Apa yang kami tinggalkan
Cakupan luas bukan berarti mengambil semuanya. Sebagian chart dikecualikan karena akan mengajarkan hal yang salah:
- Chart yang belum selesai — lagu yang baru di-map setengah akan mengajari model untuk berhenti mapping di tengah jalan.
- Duplikat hasil rate-edit — chart yang sama yang dipercepat atau diperlambat akan menghitung pola satu mapper berkali-kali.
- Chart buatan AI, termasuk buatan kami sendiri — model yang dilatih dengan map hasil generate belajar meniru generator, bukan mapper.
Satu grid timing untuk semuanya
Setiap chart di korpus di-timing ulang ke jenis grid timing yang sama dengan yang dihasilkan generator dari audio. Kedengarannya seperti detail kecil; padahal ini salah satu keputusan terpenting di dataset ini. Saat generate, model menaruh not berdasarkan timing yang dideteksi ManiaGAI, bukan berdasarkan timing manusia — jadi model harus belajar menaruh not pada jenis grid yang sama. Melatih dengan timing milik mapper lalu generate dengan timing hasil deteksi berarti mengajari model satu grid lalu memberinya grid lain. (Seberapa akurat timing hasil deteksi itu dibahas di artikelnya sendiri: benchmark timing.)
Apa yang dibutuhkan untuk belajar darinya
Audio di-encode sekali menjadi fitur musikal yang diselaraskan dengan grid — sekitar 0,7 TB di disk. Seluruh training berjalan di satu NVIDIA RTX 4070 Ti SUPER dengan memori 16 GB. Alih-alih melatih ulang dari nol setiap kali ada perubahan, model not di-fine-tune secara berkelanjutan seiring data dan grid timing berkembang; saat kami mengubah cara grid dimulai, kedua model dilatih ulang dengannya. Seluruh garis keturunan model not v2 tercatat sekitar 540 jam GPU — run terakhirnya saja memakan sekitar empat hari dan sekitar lima kali putaran atas 16,9 juta window training — dan planner menambah sekitar 40 lagi.
Tidak ada yang dinilai hanya dari training loss. Setiap perubahan dicek pada chart hasil generate itu sendiri: akurasi timing, difficulty terukur dibandingkan targetnya, dan playability.
Apa yang didapat dari data yang luas — dan apa yang tidak
Cakupan luas itulah yang memungkinkan satu model menulis 4K dan 9K, ★1 dan ★10, chart yang penuh long note maupun yang penuh jack, serta mengikuti gaya yang kamu minta: pola-polanya ada di suatu tempat di korpus. Yang tidak diberikan oleh cakupan luas adalah standar kualitas yang seragam — sebagian chart di korpus komunitas lebih bagus dari yang lain, dan model belajar dari semuanya.
Kami memublikasikan apa isi datanya dan alasannya; kami tidak memublikasikan secara detail bagaimana data itu dikumpulkan, disaring, dan disusun. Halaman Teknologi menjelaskan posisi data dalam keseluruhan sistem, dan artikel Planner + Noter membahas dua model yang belajar darinya.