Tekoälyn päivälehti — mallit, työkalut ja hardware
llama.cpp b10369 · vetopyyntö 26871 · Media
Kyutai Labsin pocket-tts on tekstistä puheeksi -malli, joka on niin pieni, ettei näytönohjain nopeuta sitä lainkaan. Nyt se on llama.cpp:n multimodaalisessa mtmd-kehyksessä. Lisenssi on CC-BY-4.0, ja sama malli pyörii selaimessa WebAssemblynä.
Tänään aamuyöllä kello 04.52 UTC julkaistu llama.cpp:n build b10369 tekee yhden asian: se lisää pocket-tts-tuen mtmd-kehykseen. Vetopyyntö on 26871. mtmd on llama.cpp:n multimodaalinen osa, se sama, joka hoitaa kuvasyötteen ja äänen — ja nyt sitä kautta kulkee myös puhesynteesi.
Pocket-tts on Kyutai Labsin projekti, ja sen oma kuvaus on lyhyt ja tarkka: tekstistä puheeksi -malli, joka mahtuu suorittimeesi ja taskuusi. Malli on niin pieni, ettei näytönohjaimen käyttö nopeuta sitä lainkaan verrattuna suorittimeen — tämä lukee projektin omassa dokumentaatiossa. Se on epätavallinen väite tekoälymallista vuonna 2026, ja se on juuri se syy, miksi tämä malli kuuluu tähän lehteen: se on ensimmäinen puhemalli pitkään aikaan, joka ei kysy mitään raudalta.
Kokoluokan seuraus on, että malli pyörii myös selaimessa. Kyutai on kääntänyt sen WebAssemblyksi ja JavaScriptiksi, ja Hugging Facessa on kaksi eri demotilaa, joissa tekstin voi syöttää, äänen valita ja puheen kuunnella ilman mitään asennusta. Painot ovat Kyutain omalla tilillä, ja lisäksi on olemassa avoin peilivarasto, joka jakaa englanninkieliset äänikloonauspainot CC-BY-4.0-lisenssillä — sama lisenssi kuin alkuperäisessä. Malli tukee äänikloonausta ja useampaa kieltä.
Vetopyynnön tekninen sisältö on kiinnostavampi kuin pelkkä "tuki lisätty". Toteutuksessa pocket-tts:n transponoidut konvoluutiot rakennettiin uudelleen matriisikertolaskuina, joihin liitettiin col2im-muunnos. Transponoitu konvoluutio on se operaatio, jolla dekooderi kasvattaa tiiviin esityksen takaisin ääniaalloksi, ja se on naiivisti toteutettuna hidas. Kun sama laskenta kirjoitetaan matriisikertolaskuna, se osuu samoihin optimoituihin ytimiin, joita koko muu malli jo käyttää. Vetopyynnön mukaan aika kehystä kohti putosi kahdeksankymmentä prosenttia CUDA:lla ja viisikymmentä prosenttia suorittimella, ja tulos vastaa aiempaa toteutusta näyte näytteeltä korrelaatiolla 0,999994.
Se viimeinen luku ansaitsee huomion. Kun laskentaa järjestetään uudelleen nopeuden takia, riskinä on aina, että lopputulos muuttuu hieman — ja äänessä pieni muutos kuuluu. Korrelaatio 0,999994 tarkoittaa käytännössä, ettei muutosta ole. Se on juuri se tarkistus, jonka pitäisi olla jokaisessa optimointivetopyynnössä ja joka useimmista puuttuu.
Käytännön merkitys paikallisajajalle on suurempi kuin miltä näyttää. Puhesynteesi on ollut se paikallisen tekoälyn palanen, joka on jäänyt jälkeen: kielimallit ovat pyörineet omalla koneella jo vuosia, mutta laadukas puhe on tarkoittanut joko isoa mallia näytönohjaimella tai pilvipalvelua. Kun sama pino — llama.cpp, yksi binääri, ei erillisiä Python-ympäristöjä — hoitaa nyt sekä tekstin että puheen, kokonaan paikallinen ääniassistentti on yhtäkkiä viikonlopun projekti eikä tutkimushanke.
Yksi varaus. Pocket-tts:n oma Python-paketti on PyPI:ssä yhä versiossa 2.1.0, joka on julkaistu neljäntenä toukokuuta — uusin versio kolmeen kuukauteen. Uutinen on siis kokonaan llama.cpp:n puolella: malli ei muuttunut, sen ajoympäristö muuttui. Ja jos haluat saman puhepinon Applen koneelle Pythonista, illan Koodi-palsta käsittelee juuri sitä.