A Cadence az a munkapad, ahol az Oasis Speech mögötti modelleket finomhangoljuk és értékeljük. Emberek és kódoló ügynökök ugyanazon az API-n keresztül dolgoznak benne, minden módosítás verziózott, és egyetlen modell sem kerül élesbe anélkül, hogy átmenne egy kapun. A nyilvános tároló, a github.com/usunrise88/cadence, az éles rendszerünk elágazása, MIT licenc alatt.
Ez a jegyzet a tárolót írja le. Nem mérési jegyzet.
| Röviden | Mit jelent |
|---|---|
| Az éles rendszer elágazása | A nyilvános tároló annak a rendszernek az elágazása, amelyben az Oasis Speechet tanítjuk |
| MIT | A nyilvános tároló licence |
| Egy szerződés | Egyetlen OpenAPI-fájlból készül a szerver, a webes kliens, az ügynökeszközök és a parancssor |
| Tanítás, értékelés, kapu | A modellt csak akkor regisztráljuk, ha átment a kapuján |
Miért építettük
A beszédfelismerő azzal javul, hogy olyan hanganyagon finomhangoljuk, amilyet hallani fog. Egyszer ezt egy szkript is megoldja. Havonta, sok nyelvre, csapattal és segítő kódoló ügynökökkel már folyamat kell, a folyamatnak pedig hely, ahol él. Ez a hely rögzíti, honnan jött az adat, melyik recept melyik modellt hozta létre, mi volt az értékelési készlet, és ki hagyta jóvá azt a futtatást, amely egy napnyi GPU-időbe került.
A Cadence ez a hely. Az Oasis Speechet ebben tanítjuk és hasonlítjuk össze. Egy finomhangolás teljes életútját lefedi: adat, tanítás, értékelés, exportálás, üzembe helyezés, és az éles hurok, amely az új adatot visszatáplálja.
Két alapgondolat
Ügynökbarát
Egy kódoló ügynök ugyanazon az API-n keresztül dolgozik a Cadence-ben, mint a felület. Módosításai az ügynök munkamenetének tulajdonított piszkozatként érkeznek. A pénzt költő vagy közös erőforrást módosító műveletek az ember jóváhagyására várnak. A felület minden panelje élőben frissül, amíg az ügynök dolgozik, így aki figyeli, látja, hogyan változik egy adatkészlet-keverék, miközben az ügynök szerkeszti.
API-első
Egyetlen OpenAPI-szerződés van. Ebből készül a Go-szerver, a webes kliens, az ügynökeszközök (MCP) és a parancssor, így egy műveletnek mindenhol ugyanaz a neve: a mixes.edit a művelet, az eszköz és a felületi parancs is.
A Cadence mindent verziózik. A receptek gitben élnek. Az adatkészletek, a modellek és az aranykészletek (golden set) a nyilvántartásban változtathatatlan verziók. Minden módosításnak van végrehajtója, idempotenciakulcsa és auditsora.
Mit csinál
Tanítás
- Munkagépek. A GPU-s munkagépek bejelentik, mit tudnak futtatni, HTTP-n bérelnek feladatokat, szívverést küldenek, naplót és metrikákat streamelnek, és tanítás közben ellenőrzőpontokat tesznek közzé.
- Folyamatok. A folyamatok YAML-fájlok a projekt git-tárolójában, lépésverziókhoz rögzítve és futtatás előtt ellenőrizve. A Cadence a bemenet hash-e alapján újrahasznosítja az eredményeket, így egy változatlan lépés nem fut le kétszer.
- Futtatások. A futtatás egy folyamat feletti tanítási szakasz, kalibrált időbecsléssel, legjobb k ellenőrzőponttal, élő metrikákkal, szüneteltetéssel és folytatással.
- Költségkeretek. Minden projektnek és minden ügynökmunkamenetnek van GPU-kerete. A kereten túli művelet jóváhagyásra vár a Jóváhagyások panelen vagy Telegramról. A keret zárva marad hiba esetén, és a sorban álló munkát is beszámítja, így olcsó feladatok sora sem adódhat össze a határ fölé.
- Üzemeltetés. Tartalomtár lemezmérővel és kiürítéssel, éjszakai mentések heti visszaállítási teszttel, értesítések és napi összefoglaló.
Értékelés
- Aranykészletek. A Cadence a „csak értékelésre” jelölésű adatkészletekből, jóváhagyással fagyasztja be az aranykészleteket, és mindegyiket egy pontozási normalizálóhoz köti. Minden tanítóbemenetben megkeresi az összes aranykészlet hangját, így egy értékelési klip nem szivároghat a tanításba.
- Értékelések. Az értékelés egy ellenőrzőpontot és az alapvonalát a valódi streaming dekódoláson futtatja át minden késleltetési profilnál. Pontozza a hibaarányokat, a cseréket, a törléseket és a beszúrásokat, a streaming viselkedést és az entitásmetrikákat. A cellák projektek között gyorsítótárazódnak, a különbségekhez páros bootstrap-intervallum tartozik.
- Kapuk. A kapu az egész mátrixot egyetlen ítéletté sűríti. Az a modell, amely átmegy a kapuján, regisztrálható. Amelyik megbukik, kívül marad.
- Panelek. A jelentés diagramokkal, futtatások közötti különbség, hangnézet (hullámforma, spektrogram, szavak), élő kézi átírási tesztek legfeljebb három modellel egymás mellett (mikrofon, fájl vagy egy fájl szakasza; a Cadence ezekből semmit nem tárol), kísérletek és paraméterfésülések, nyelvi csomagok erősítőlistákkal, valamint származás.
Mi jön ezután
Következőnek tervezett: csatolások, betöltés, befagyasztás és annotálás. Ezek után jön az exportálás, az árnyék- és kanári-üzembe helyezés, a triázs és az ütemezések, amelyek bezárják a kört az éles hívásoktól a tanítóadatig. Az ütemterv a tárolóban található.
Hová illeszkedik
A Cadence a rendszer tanítási oldala. Az Oasis Speech a felismerőszolgáltatás, amely a Cadence által előállított modelleken fut, a Polygon az ezeket használó ügynököket értékeli, a terhelési teszt pedig a futtató szervereket méri.