Cadence je radno okruženje u kojem fino podešavamo i ocjenjujemo modele iza Oasis Speecha. Ljudi i programerski agenti u njemu rade preko istog API-ja, svaka je promjena verzionirana i nijedan model ne dolazi u produkciju bez prolaska kroz prag. Javni repozitorij, github.com/usunrise88/cadence, fork je sustava koji vodimo u produkciji, pod licencijom MIT.
Ova bilješka opisuje repozitorij. To nije bilješka o mjerenju.
| Ukratko | Što to znači |
|---|---|
| Fork produkcije | Javni repozitorij fork je sustava u kojem treniramo Oasis Speech |
| MIT | Licencija javnog repozitorija |
| Jedan ugovor | Jedna OpenAPI datoteka generira poslužitelj, web-klijent, alate za agente i naredbeni redak |
| Treniranje, evaluacija, prag | Model se registrira tek nakon što prođe svoj prag |
Zašto smo ga izgradili
Prepoznavač govora poboljšava se finim podešavanjem na zvuku kakav će čuti. Jednom to zahtijeva skriptu. Raditi to svakog mjeseca, za mnoge jezike, s timom i uz pomoć programerskih agenata, zahtijeva proces, a procesu treba mjesto na kojem živi. To mjesto bilježi odakle podaci dolaze, koji je recept proizveo koji model, kakav je bio evaluacijski skup i tko je odobrio izvođenje koje je koštalo dan GPU vremena.
Cadence je to mjesto. U njemu treniramo i uspoređujemo Oasis Speech. Pokriva cijeli život finog podešavanja: podatke, treniranje, evaluaciju, izvoz, uvođenje u rad i produkcijsku petlju koja vraća nove podatke.
Dvije ideje
Prilagođen agentima
Programerski agent u Cadenceu radi preko istog API-ja kao i sučelje. Njegove izmjene stižu kao nacrti pripisani sesiji agenta. Radnje koje troše novac ili mijenjaju zajednički resurs čekaju odobrenje osobe. Svaki panel u sučelju ažurira se uživo dok agent radi, pa osoba koja gleda vidi kako se mješavina skupova podataka mijenja dok je agent uređuje.
API na prvom mjestu
Postoji jedan OpenAPI ugovor. Poslužitelj u Gou, web-klijent, alati za agente (MCP) i naredbeni redak generiraju se iz njega, pa radnja posvuda ima isti naziv: mixes.edit je operacija, alat i naredba sučelja.
Cadence verzionira sve. Recepti žive u gitu. Skupovi podataka, modeli i zlatni evaluacijski skupovi nepromjenjive su verzije u registru. Svaka promjena ima izvršitelja, ključ idempotentnosti i redak u revizijskom tragu.
Što radi
Treniranje
- Radnici. GPU radnici prijavljuju što mogu izvoditi, preuzimaju poslove preko HTTP-a, šalju otkucaje, strujno šalju zapisnike i metrike te objavljuju kontrolne točke dok treniraju.
- Cjevovodi. Cjevovodi su YAML u git repozitoriju projekta, vezani uz verzije koraka i provjereni prije izvođenja. Cadence ponovno koristi rezultate prema sažetku ulaza, pa se nepromijenjen korak ne izvodi dvaput.
- Izvođenja. Izvođenje je faza treniranja nad cjevovodom, s kalibriranim procjenama vremena, najboljih k kontrolnih točaka, metrikama uživo te pauziranjem i nastavkom.
- Proračuni. Svaki projekt i svaka sesija agenta imaju GPU proračun. Radnja iznad proračuna čeka odobrenje, u panelu Approvals ili preko Telegrama. Proračun je siguran u slučaju kvara i ubraja poslove u redu, pa red jeftinih poslova ne može zbrojem premašiti ograničenje.
- Operacije. Pohrana sadržaja s mjeračem diska i istiskivanjem, noćne sigurnosne kopije s tjednim testom vraćanja, obavijesti i dnevni sažetak.
Evaluacija
- Zlatni skupovi. Cadence zamrzava zlatne skupove iz skupova podataka označenih samo za evaluaciju, uz odobrenje, i svaki veže uz normalizator ocjenjivanja. Provjerava svaki ulaz za treniranje u odnosu na zvuk svakog zlatnog skupa, pa evaluacijski isječak ne može procuriti u treniranje.
- Evaluacije. Evaluacija provodi kontrolnu točku i njezinu osnovicu kroz pravi dekoder za strujanje u svakom profilu latencije. Ocjenjuje stope pogrešaka, zamjene, brisanja i umetanja, ponašanje pri strujanju i metrike entiteta. Ćelije se pohranjuju u predmemoriju među projektima, a razlike nose uparene bootstrap intervale.
- Pragovi. Prag cijelu matricu pretvara u jednu presudu. Model koji prođe svoj prag može se registrirati. Onaj koji ne prođe ostaje izvan.
- Paneli. Izvještaj s grafikonima, razlika između izvođenja, prikaz zvuka (valni oblik, spektrogram, riječi), ručna testiranja transkripcije uživo s do tri modela jedan pored drugog (mikrofon, datoteka ili odsječak datoteke; Cadence iz njih ništa ne pohranjuje), eksperimenti i pretraživanja parametara, jezični paketi s popisima pojačanja i podrijetlo.
Što slijedi
Planirano sljedeće: montiranje, unos, zamrzavanje i anotacija. Nakon toga dolaze izvoz, sjenčano i kanarsko uvođenje, trijaža i rasporedi, koji zatvaraju petlju od produkcijskih poziva natrag do podataka za treniranje. Plan razvoja nalazi se u repozitoriju.
Gdje se uklapa
Cadence je strana treniranja u cijelom stogu. Oasis Speech je servis za prepoznavanje koji radi na modelima što ih Cadence proizvodi, Polygon ocjenjuje agente koji ih koriste, a test opterećenja mjeri poslužitelje na kojima rade.