Trénink 125M modelu pro automatické doplňování klavírních výkonů

Autor popisuje, jak trénoval model s 125 miliony parametry pro generaci klavírní hudby v reálném čase.

21. srpna 2026

V nedávném příspěvku autor sdílí svůj projekt, ve kterém trénoval model s 125 miliony parametry pro automatické doplňování klavírních výkonů. Tento model dokáže generovat přibližně 108 not za sekundu na iPhonu 15, což je zajímavé z hlediska výkonu a použitelnosti na mobilních zařízeních.

Co je to MIDI soubor?

MIDI (Musical Instrument Digital Interface) soubory se liší od běžných audio formátů, jako je MP3. Místo ukládání zvuku obsahují sekvenci událostí, které popisují, kdy a jak byly klávesy stisknuty, uvolněny a další akce, jako například změny hlasitosti nebo přepínání nástrojů. Tento projekt se zaměřuje na klavírní doplňování, takže autor se soustředil především na klavírní materiál a ostatní stopy buď odstranil, nebo je minimalizoval.

Jak tokenizovat hudbu?

Pro trénink transformátorového modelu bylo nutné převést MIDI události na sekvenci, kterou model dokáže číst a předpovídat. Autor zvolil tokenizaci, kde každá MIDI událost je reprezentována jako token. Například tokeny pro stisknutí klávesy zahrnují informace o výšce tónu a rychlosti. Tímto způsobem se vytvořila struktura, která modelu umožňuje lépe se orientovat v hudebních událostech.

Konečná reprezentace

Konečná reprezentace noty zahrnuje čtyři klíčové atributy: pitch (výška tónu), delta_onset (časový posun od předchozí noty), duration (délka trvání) a velocity (síla stisku). Tato struktura umožňuje modelu generovat noty efektivněji, protože každá nota je reprezentována jako kompletní entita, což zjednodušuje generaci a zrychluje proces.

Dataset

Model byl trénován na datasetu, který obsahoval několik set tisíc MIDI souborů, což představuje přibližně 300 milionů událostí not. Tato rozsáhlá databáze byla důkladně vyčištěna a filtrovaná, což je klíčové pro zajištění kvality tréninkových dat a následného výkonu modelu.

Trénování a augmentace

Trénink modelu probíhal pomocí cross-entropy ztráty přes pět výstupních hlav. Autor také použil techniky augmentace, jako je globální transpozice a uniformní tempo, aby zlepšil výkon modelu. Tyto techniky pomáhají modelu lépe generalizovat a adaptovat se na různé hudební styly a struktury.

DPO: Direct Preference Optimization

Jedním z nejvýznamnějších vylepšení bylo použití techniky Direct Preference Optimization (DPO), která zlepšila kvalitu generovaných pokračování o více než 69 % ve srovnání s původním modelem. Tato technika se zaměřuje na optimalizaci preferencí generovaných not, což vede k přirozenějším a muzikálnějším výsledkům.

Co nefungovalo

I přes úspěchy má model své limity. Autor zmiňuje, že model občas generuje smyčky v notách a má potíže s generací kvalitních pokračování při krátkých promtech. Tyto problémy ukazují na výzvy, které stále zůstávají v oblasti generativní hudby, a naznačují, že další vylepšení jsou nutná pro dosažení vyšší kvality.

Závěr

Tento projekt ukazuje, jak lze efektivně využít AI pro automatické doplňování hudebních výkonů. Klíčové faktory úspěchu zahrnují správnou reprezentaci MIDI dat a důkladné čištění tréninkových dat. Vývojáři, kteří se zajímají o generaci hudby, mohou čerpat inspiraci z použitých technik a přístupů, které vedly k úspěchu tohoto modelu.