Autocompletamento Pianoforte su Dispositivo: Modello da 125M Raggiunge 108 Note/Sec
AI News

Autocompletamento Pianoforte su Dispositivo: Modello da 125M Raggiunge 108 Note/Sec

3 min
21/08/2026
on-device AIMIDI generationtransformeriOS app

TL;DR

Simon Edwardsson, sviluppatore e ricercatore, ha rilasciato RollTab, un'app iOS gratuita che trasforma un pianoforte MIDI in uno strumento musicale generativo. L'app esegue un trasformatore da 125 milioni di parametri interamente sul dispositivo, prevedendo continuazioni pianistiche a circa 108 note al secondo su un iPhone 15. Il progetto, che ha raggiunto la vetta di Hacker News con 434 punti, dimostra che con una progettazione attenta della rappresentazione e un post-addestramento, modelli piccoli possono generare musica in tempo reale convincente.

I maggiori balzi prestazionali non sono derivati dallo scaling, ma da tre decisioni: una tokenizzazione composta delle note che riduce i passaggi autoregressivi di 5x, una pulizia aggressiva dei dati rispetto al volume puro e l'ottimizzazione diretta delle preferenze (DPO) dopo il pre-addestramento. Il resoconto dettagliato di Edwardsson offre una rara trasparenza sui fallimenti e sul processo iterativo alla base di un'IA musicale funzionante su dispositivo.

La Sfida: Tokenizzare la Musica per i Trasformatori

I file MIDI memorizzano la musica come eventi discreti—note-on, note-off, pitch, velocity, cambi di pedale sustain—piuttosto che come forme d'onda audio. L'approccio ingenuo di tokenizzare ogni evento separatamente porta a un'esplosione del vocabolario (ad esempio, 128 pitch × 128 velocity) e a modelli che 'derivano', dimenticando di emettere eventi note-off e lasciando note sospese.

La svolta di Edwardsson è stata una rappresentazione composta delle note: ogni token rappresenta una nota completa con cinque campi categorici—tipo di evento, pitch, delta onset (tempo dalla nota precedente), durata e velocity. Gli accordi sono codificati come più note con delta=0, ordinate per pitch. Ciò significa che il trasformatore avanza di una nota completa per passaggio in avanti, anziché quattro o più passaggi per attributi, ottenendo un aumento di velocità di 5x.

Internamente, il token della nota è la somma di embedding specifici per campo, con teste di output separate per ogni campo e un piccolo decodificatore annidato per il condizionamento dei campi. Il timing è quantizzato a 24 passaggi per semiminima, bilanciando la risoluzione per il gioco dal vivo con una dimensione del vocabolario gestibile.

continua a leggere sotto...

Dati: Qualità Sopra Quantità

Il dataset di addestramento comprendeva poche centinaia di migliaia di file MIDI (~300 milioni di eventi di nota) da fonti classiche di pubblico dominio. Edwardsson ha scritto estesi script di pulizia per filtrare materiale incentrato sul pianoforte, deduplicare tramite impronte digitali invarianti per trasposizione/tempo e raggruppare versioni alternative della stessa composizione nella stessa suddivisione.

Scalare il dataset di 5x ha in realtà peggiorato le prestazioni—un risultato controintuitivo che sottolinea quanto siano rumorose le collezioni MIDI pubbliche. 'Pulire e selezionare i dati è stato più importante che semplicemente aggiungerne di più', osserva.

Addestramento e il Salto DPO

Il modello base è stato addestrato con entropia incrociata sulle cinque teste di output, con campionamento programmato tra i campi (alimentando il pitch previsto dal modello fino al 50% delle volte) per mitigare la discrepanza tra addestramento e inferenza. Sebbene ciò abbia aumentato la loss di validazione, ha migliorato significativamente la qualità del rollout.

La fase più impattante è stata il DPO (Direct Preference Optimization). Edwardsson ha utilizzato Gemini 3.5 Flash per la valutazione pairwise—chiedendo 'quale continuazione è migliore?' piuttosto che punteggi assoluti—e ha costruito un dataset di preferenze. Il DPO con β=0.03 su un dataset filtrato per consenso ha portato a un tasso di preferenza di vittoria del 69% rispetto al modello base, contro il 24,55% del base.

Fallimenti chiave documentati: deriva note-on/off, flussi mascherati grammaticalmente lenti, Mirostat che causa incoerenza e la sola loss di validazione che non coglie le differenze di qualità del rollout.

Distribuzione su Dispositivo e Futuro

Il modello (tre dimensioni addestrate: piccolo, medio, grande) è stato esportato in Core ML e quantizzato in INT8. Il modello medio è in fase di ottimizzazione per avvicinarsi alla qualità del modello grande con un ingombro ridotto. La gestione del contesto utilizza una finestra scorrevole di 384 note con ricostruzione della cache KV.

RollTab è gratuita sull'App Store, con un aggiornamento in sospeso che aggiunge opzioni di campionamento (top-k, top-p, min-p, XTC, top-h, Mirostat v2). Il lavoro di Edwardsson offre un modello per altri che affrontano l'IA generativa su dispositivo, mostrando che rappresentazione attenta e cura dei dati possono prevalere sul calcolo grezzo.

Ricerca correlata citata: Aria, Moonbeam, MIDI-GPT, Anticipatory Music Transformer, PianoBART, MIDI-LLM.