Pesquisa
Por dentro do dataset de um mapper de osu! mania com IA
O ManiaGAI v2 aprendeu com 150.622 charts de osu! mania feitos por cerca de 14.500 mappers, muito além dos ranqueados. O que há no corpus e por que ele é assim.
A maior parte do trabalho em um gerador de beatmaps com IA não é o modelo. São os dados: decidir de quais charts vale a pena aprender, garantir que cada exemplo de treinamento tenha o timing correto e representar um chart de uma forma que capture o que o torna jogável. Este post mostra por dentro o corpus com que os modelos do ManiaGAI v2 aprenderam — o que tem nele e por que ele é assim.
O corpus em números
- Charts
- 150.622
- Músicas
- 86.255
- Mappers
- ~14.500
- Áudio único
- 4.227 h
São 150.622 charts de osu! mania feitos por pessoas, em 86.255 músicas, escritos por cerca de 14.500 mappers diferentes — 4.227 horas de áudio único. E ele não começou tão grande: o conjunto de treinamento cresceu de cerca de 83.000 charts até o tamanho atual durante o trabalho que virou a versão 2.
Não só mapas ranqueados
A escolha óbvia seria treinar só com mapas ranqueados — eles são revisados, o timing é conferido e eles representam o padrão de qualidade da comunidade. Decidimos não fazer isso. Os mapas ranqueados são uma fatia pequena e estilisticamente estreita do que as pessoas realmente mapeiam e jogam: neste corpus, são um chart em cada seis.
| Status no osu! | Charts | Porcentagem |
|---|---|---|
| Ranked / Qualified | 24.896 | 16,5% |
| Loved | 2.530 | 1,7% |
| Pending, WIP e Graveyard | 114.212 | 75,8% |
| Nunca enviados ao osu! (na maioria conversões de BMS / O2Jam) | 8.984 | 6,0% |
Status no osu! em outubro de 2026.
Três quartos dos charts estão em pending, work-in-progress ou no graveyard — mapas que nunca passaram pelo ranqueamento, o que não é o mesmo que mapas ruins: significa que ninguém os revisou, não que foram reprovados na revisão. Um modelo que aprende só com mapas ranqueados aprende os hábitos da seção ranqueada; um modelo que aprende com a comunidade inteira vê toda a variedade de jeitos de mapear.
Além do osu!: BMS e O2Jam
O corpus já abrange mais de um ecossistema de jogos de ritmo de rolagem vertical. 21.379 charts — 14% do conjunto, em todos os status — estão marcados como vindos de BMS ou O2Jam: 16.188 de BMS e 5.491 de O2Jam, com 300 marcados como ambos. Esses jogos têm as suas próprias tradições de charting, e ampliam o que os modelos veem.
Por número de teclas
| Teclas | Charts | Porcentagem |
|---|---|---|
| 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 e 7K dominam — juntos, cerca de 80% do corpus. 8K e 9K são raros: alguns milhares de charts cada. Esse desequilíbrio importa para o treinamento, por isso as amostras são balanceadas entre números de teclas (e níveis de dificuldade) durante o treinamento, para que os charts de 8K e ★10 não sejam abafados pelos de 4K e ★4.
Por dificuldade
Star rating medida com o próprio algoritmo do osu!; mediana ★4,2, faixa ★0,5–13.
A maior parte do corpus fica entre ★1 e ★7, com uma cauda longa de charts difíceis acima de ★9. A faixa de dificuldade do ManiaGAI, de ★1 a ★10, fica onde os exemplos estão: cada estrela abaixo de ★10 tem mais de mil charts; acima disso, eles rareiam rápido. E 15,8% dos charts mudam de tempo no meio da música, então o tempo variável faz parte do que os modelos aprendem, não é um caso raro.
O que deixamos de fora
Abrangência não significa pegar tudo. Alguns charts ficam de fora porque ensinariam a coisa errada:
- Charts inacabados — uma música mapeada pela metade ensina o modelo a parar de mapear no meio.
- Duplicatas com rate edit — o mesmo chart acelerado ou desacelerado contaria os padrões de um mapper muitas vezes.
- Charts gerados por IA, incluindo os nossos — um modelo treinado com mapas gerados aprende a imitar geradores, não mappers.
Uma única grade de timing para tudo
Cada chart do corpus tem o timing refeito no mesmo tipo de grade de timing que o gerador produz a partir do áudio. Parece um detalhe; é uma das decisões mais importantes do dataset. Na hora de gerar, os modelos posicionam as notas em relação ao timing que o ManiaGAI detectou, não ao timing de uma pessoa — então eles devem aprender a posicionar notas nesse mesmo tipo de grade. Treinar com o timing dos próprios mappers e gerar com o timing detectado ensinaria uma grade aos modelos e depois entregaria outra. (A precisão desse timing detectado tem um artigo próprio: o benchmark de timing.)
O que é preciso para aprender com ele
O áudio é codificado uma única vez em features musicais alinhadas à grade — cerca de 0,7 TB delas em disco. Todo o treinamento roda em uma única NVIDIA RTX 4070 Ti SUPER com 16 GB de memória. Em vez de retreinar do zero a cada mudança, o modelo de notas passa por fine-tuning contínuo conforme os dados e a grade de timing evoluem; quando mudamos a forma como a grade começa, os dois modelos foram retreinados com ela. A linhagem completa do modelo de notas da v2 soma cerca de 540 horas de GPU registradas — só a execução final levou cerca de quatro dias e cerca de cinco passadas por 16,9 milhões de janelas de treinamento — e a do planejador soma cerca de 40 a mais.
Nada disso é avaliado só pela loss de treinamento. Cada mudança é conferida nos próprios charts gerados: precisão de timing, dificuldade medida em relação ao alvo, jogabilidade.
O que dados abrangentes trazem — e o que não trazem
A abrangência é o que permite que um único modelo escreva 4K e 9K, ★1 e ★10, charts cheios de long notes e charts cheios de jacks, e siga o estilo que você pedir: os padrões existem em algum lugar do corpus. O que a abrangência não dá é um padrão de qualidade uniforme — alguns charts de um corpus da comunidade são melhores que outros, e um modelo aprende com todos eles.
Publicamos o que há nos dados e por quê; não publicamos em detalhe como eles são obtidos, filtrados e construídos. A página de Tecnologia explica onde os dados entram no sistema como um todo, e o artigo sobre o Planner + Noter fala dos dois modelos que aprendem com eles.