Cadence је радно окружење у којем фино подешавамо и оцењујемо моделе иза Oasis Speechа. Људи и агенти за програмирање у њему раде преко истог API-ја, свака измена је верзионисана, а ниједан модел не стиже у продукцију без проласка кроз капију. Јавни репозиторијум, github.com/usunrise88/cadence, јесте форк система који користимо у продукцији, под MIT лиценцом.
Ова белешка описује репозиторијум. Није белешка о мерењима.
| Укратко | Шта то значи |
|---|---|
| Форк продукције | Јавни репозиторијум је форк система у којем тренирамо Oasis Speech |
| MIT | Лиценца јавног репозиторијума |
| Један уговор | Једна OpenAPI датотека генерише сервер, веб клијент, алате за агенте и командну линију |
| Тренинг, евалуација, капија | Модел се региструје тек пошто прође своју капију |
Зашто смо га направили
Препознавач говора се побољшава финим подешавањем на звуку какав ће чути. Једном то тражи скрипту. Сваког месеца, за много језика, с тимом и уз помоћ агената за програмирање, то тражи процес, а процесу треба место где живи. То место бележи одакле потичу подаци, који је рецепт дао који модел, шта је био скуп за евалуацију и ко је одобрио извршавање које је коштало дан GPU времена.
Cadence је то место. У њему тренирамо и упоређујемо Oasis Speech. Покрива цео животни век финог подешавања: податке, тренинг, евалуацију, извоз, пуштање у рад и продукциону петљу која враћа нове податке.
Две идеје
Агент-нативе
Агент за програмирање у Cadenceу ради преко истог API-ја као и интерфејс. Његове измене стижу као нацрти приписани сесији агента. Радње које троше новац или мењају заједнички ресурс чекају одобрење човека. Сваки панел у интерфејсу се ажурира уживо док агент ради, па особа која посматра види како се мења мешавина скупова података док је агент уређује.
API-фирст
Постоји један OpenAPI уговор. Го сервер, веб клијент, алати за агенте (МЦП) и командна линија генеришу се из њега, па радња има исто име свуда: mixes.edit је операција, алат и наредба у интерфејсу.
Cadence верзионише све. Рецепти живе у гиту. Скупови података, модели и златни скупови за евалуацију су непроменљиве верзије у регистру. Свака измена има извршиоца, кључ идемпотентности и ред у евиденцији.
Шта ради
Тренинг
- Радници. GPU радници пријављују шта могу да покрену, преузимају задатке преко HTTP-а, шаљу откуцаје, стримују логове и метрике и објављују контролне тачке док тренирају.
- Цевоводи. Цевоводи су YАМЛ у гит репозиторијуму пројекта, везани за верзије корака и валидирани пре извршавања. Cadence поново користи резултате према хеш вредности улаза, па се непромењен корак не извршава двапут.
- Извршавања. Извршавање је фаза тренинга над цевоводом, с калибрисаним проценама времена, топ-к контролним тачкама, метрикама уживо, паузирањем и наставком.
- Буџети. Сваки пројекат и свака сесија агента има GPU буџет. Радња преко буџета чека одобрење, у панелу Одобрења или из Телеграма. Буџет се при грешци затвара и рачуна задатке у реду чекања, па ред јефтиних задатака не може збиром прећи ограничење.
- Операције. Складиште садржаја с мерачем диска и избацивањем, ноћни бекапи са недељним тестом враћања, обавештења и дневни преглед.
Евалуација
- Златни скупови. Cadence замрзава златне скупове из скупова података означених само за евалуацију, уз одобрење, и везује сваки за нормализатор оцењивања. Проверава сваки улаз за тренинг у односу на звук сваког златног скупа, па клип за евалуацију не може процурети у тренинг.
- Евалуације. Евалуација пропушта контролну тачку и њену основну линију кроз прави стримујући декодер на сваком профилу латенције. Оцењује стопе грешака, замене, брисања и уметања, понашање у стримовању и метрике ентитета. Ћелије се кеширају између пројеката, а разлике носе упарене боотстрап интервале.
- Капије. Капија претвара целу матрицу у једну пресуду. Модел који прође капију може се регистровати. Онај који падне остаје напољу.
- Панели. Извештај с графиконима, разлика између извршавања, приказ звука (таласни облик, спектрограм, речи), ручни тестови транскрипције уживо с до три модела један поред другог (микрофон, датотека или део датотеке; Cadence из њих ништа не чува), експерименти и претраге параметара, језички пакети с листама појачања и порекло.
Шта је следеће
Планирано следеће: монтирања, унос, замрзавање и анотација. За њима долазе извоз, пуштање у рад у сенци и као канаринац, тријажа и распореди, који затварају петљу од продукционих позива назад до тренинг података. План развоја је у репозиторијуму.
Где се уклапа
Cadence је страна тренинга у целом систему. Oasis Speech је сервис за препознавање који ради на моделима које Cadence производи, Polygon оцењује агенте који их користе, а тест оптерећења мери сервере на којима раде.