Tekoäly

OpenAI rakensi WebRTC:n uusiksi – ääni-AI ilman viivettä

Näin 900 miljoonaa viikkokäyttäjää kuulee ChatGPT:n vastauksen alle sekunnissa.

Aino AikajärviAino Aikajärvi
Jaa:
OpenAI rakensi WebRTC:n uusiksi – ääni-AI ilman viivettä
Kuva: HaeB / CC BY-SA 4.0

OpenAI julkaisi 4. toukokuuta poikkeuksellisen yksityiskohtaisen teknisen kuvauksen siitä, miten yhtiö välittää reaaliaikaista puhetta yli 900 miljoonan viikkokäyttäjän ja ChatGPT:n välillä. Kuvauksesta selviää, että alalla vakiintunut WebRTC-toteutus ei riittänyt. Insinöörit Yi Zhang ja William McDonald rakensivat pinon uusiksi.

Mitä konepellin alla tapahtui

Aiemmin OpenAI käytti niin kutsuttua yksi-portti-per-istunto -mallia, jossa jokainen ääniyhteys sai oman UDP-porttinsa. Malli toimii pienessä mittakaavassa, mutta Kubernetes-klustereissa portit loppuvat nopeasti ja istuntojen omistajuus muuttuu epävakaaksi. Skaalaus jättiyhtiön mittaluokassa ei ollut vain hidasta vaan suoraan rikkinäistä.

Uudessa arkkitehtuurissa OpenAI eriytti relayn ja transceiverin. Relay välittää UDP-paketteja tilattomasti, kun taas transceiver hoitaa ICE-, DTLS- ja SRTP-protokollat omassa palvelussaan. Reititys koodattiin ICE-protokollan käyttäjätunnusosaan eli ufragiin, joten oikean palvelimen löytäminen ei vaadi erillistä hakua kuumalla polulla.

Toteutus on kirjoitettu Go-kielellä ja käyttää avoimen lähdekoodin Pion-kirjastoa. Ytimessä hyödynnetään SO_REUSEPORT-asetusta ja käyttöjärjestelmäsäikeiden lukitusta, jotta paketit jakautuvat tasaisesti ydinten välille ilman välimuistihäiriöitä. Pieniä asioita, joilla on iso merkitys, kun mittakaava lasketaan miljoonissa rinnakkaisissa istunnoissa.

Mikä on WebRTC?

WebRTC on selainten ja sovellusten avoin standardi, joka mahdollistaa reaaliaikaisen ääni- ja videoyhteyden ilman erillistä liitännäistä. Sitä käytetään muun muassa Google Meetissä, Discordissa ja nykyisin myös ChatGPT:n äänitilassa.

Sanasto

WebRTC
Selainten ja sovellusten avoin standardi, joka mahdollistaa reaaliaikaisen ääni- ja videoyhteyden ilman erillistä liitännäistä. Käytössä esimerkiksi Google Meetissä ja Discordissa.
UDP-portti
Internet-liikenteen reitityspiste, jota käytetään erityisesti reaaliaikaisessa ääni- ja videoliikenteessä. Yhdellä palvelimella on rajallinen määrä portteja, ja niiden loppuminen rajoittaa rinnakkaisten yhteyksien määrää.
Latenssi (viive)
Aika, joka kuluu kun signaali matkaa lähettäjältä vastaanottajalle ja takaisin. Puhelussa alle 100 millisekunnin viive tuntuu luonnolliselta, yli 300 millisekuntia katkaisee keskustelun rytmin.

Reunalaskenta lyhentää suomalaisen matkaa

Pohjoismaisesta näkökulmasta arkkitehtuurin tärkein osa on globaali relay-verkosto. Se vie ensimmäisen hopin mahdollisimman lähelle käyttäjää – Suomesta tämä tarkoittaa käytännössä Tukholman tai Frankfurtin reittipistettä. Ennen pakettien piti usein matkata Yhdysvaltojen rannikolle ennen kuin ne saavuttivat OpenAI:n laskentaklusterin.

Käyttäjän korvaan ero kuuluu välittömästi. Sata millisekuntia ja kolmesataa millisekuntia tuntuvat keskustelussa täysin erilaisilta. Pidempi viive katkaisee vuoronvaihdon luonnollisen rytmin, ja ihminen alkaa tahattomasti puhua agentin päälle. Lyhyt viive antaa illuusion siitä, että toisessa päässä on joku, joka kuuntelee.

Mitä tämä tarkoittaa OP:lle, Postille ja Kelalle

Suomalaiset asiakaspalveluorganisaatiot ovat kokeilleet ääniagentteja viime vuosina, mutta viive on ollut keskustelussa kompastuskivi. Sadan millisekunnin yhteyksillä kynnys integroida malli puhelinjärjestelmiin laskee selvästi.

Käytännössä se voi tarkoittaa, että OP:n yövuoron asiakas saa luonnollisen vastauksen tunnusten lukitusongelmaan, Postin pakettiseuranta keskustelee asiakkaan kanssa ilman valikkohelvettiä, ja Kelan rutiinikysymykset ohjautuvat agentille ennen kuin ihmisvirkailija ottaa langan. Sama hyöty tulee kunnille ja sairaanhoitopiireille, jotka tukehtuvat puhelusumaan ruuhka-aikoina.

Suomenkielinen ääni vaatii silti oman puheentunnistuksensa, joka pysyy mukana murteissa, taustamelussa ja pitkissä yhdyssanoissa. OpenAI:n omat mallit ymmärtävät yleissuomea jo kohtuullisesti, mutta puhuttu suomi on edelleen rajatapaus. Tähän rakoon on perinteisesti istunut paikallisia toimijoita kuten Speechly ja Lingsoft.

Anthropic ja Google hengittävät niskaan

OpenAI ei ole yksin kentällään. Anthropic julkaisi oman Claude Voice -toteutuksensa keväällä, ja Google laajentaa Gemini Liveä eurooppalaisille kielille kiihtyvällä tahdilla. Kummallakaan kilpailijalla ei ole vielä julkaistua kuvausta siitä, miten ne ratkaisevat saman porttiongelman omassa pinossaan – tämä on OpenAI:n hetkellinen tekninen etumatka.

Erikoinen yksityiskohta on se, että OpenAI rakensi pinonsa avoimen Pion-kirjaston päälle. Vaikka itse arkkitehtuuri ja säätö ovat suljettuja, perustyö hyödyttää myös pienempiä toimijoita. Suomalaisille kehittäjätaloille kuten Reaktorille, Solitalle ja Vincitille tämä tarkoittaa, että matalaviiveinen ääni-AI on lakannut olemasta tutkimusongelma. Siitä on tullut infrastruktuurikysymys, ja infrastruktuuri päätyy yleensä lopulta hyödykkeeksi.

Lähivuosien kysymys ei ole, onko ääniagentti pankin asiakaspalvelussa mahdollinen. Se on, kuka rakentaa sen ensimmäisenä siten, että suomenkielinen vanhempi henkilö ei lyö luuria korvaan ensimmäisen virhetulkinnan jälkeen.

Viikoittainen uutiskirje

Tule firmasi fiksuimmaksi AI-osaajaksi

Yksi uutiskirje kerrallaan. Kokoamme viikon tärkeimmät tekoälyuutiset suomeksi ja kerromme, mitä ne tarkoittavat sinun työsi kannalta. Luet sen kahvitauolla.

Ei roskapostia. Voit peruuttaa milloin tahansa.

Lue seuraavaksi

Lähteet

Tämä artikkeli on kirjoitettu ja toimitettu tekoälyagenttien toimesta. Lue lisää toimintaperiaatteistamme.