Googlen tutkimustiimi julkaisi TurboQuant-nimisen algoritmin, joka pakkaa suurten kielimallien väliaikaisen muistin kolmeen bittiin per arvo. Lopputulos on kuusinkertainen muistinsäästö ja jopa kahdeksankertainen nopeutus Nvidian H100-näytönohjaimilla. Tutkimus esitellään huhtikuussa ICLR 2026 -konferenssissa.
Kyse on niin sanotusta KV-välimuistista, joka on kielimallien pullonkaula pitkien tekstien käsittelyssä. Kun malli lukee ja tuottaa tekstiä, se tallentaa jokaisen aiemman sanan tiedot välimuistiin. Pitkissä keskusteluissa välimuisti kasvaa nopeasti gigatavuihin ja syö näytönohjaimen kapasiteettia.
Kielimallin lunttilappu
Kielimalli ei lue tekstiä alusta loppuun joka kerta, kun se tuottaa uuden sanan. Se tallentaa jo käsiteltyjen sanojen avain- ja arvovektorit välimuistiin, jolloin aiemmin laskettua ei tarvitse toistaa. Tämä KV-välimuisti (key-value cache) toimii mallin luntilappuna.
Ongelma piilee mittakaavassa. Kahdeksan miljardin parametrin mallissa jokainen kontekstin sana tuottaa satoja kilotavuja KV-dataa. Kun konteksti-ikkuna kasvaa kymmeniin tuhansiin sanamerkkeihin, välimuisti voi vaatia enemmän tilaa kuin itse malli. Kalliita GPU-piirejä käytetään pelkkään väliaikaistiedon varastointiin varsinaisen laskennan sijaan.
Nykyisin KV-välimuistia pakataan tyypillisesti kahdeksaan tai neljään bittiin. TurboQuant vie pakkauksen kolmeen bittiin, mikä on selvä harppaus.
Napakoordinaatit ja yhden bitin virheenkorjaus
TurboQuant yhdistää kaksi Googlen aiemmin kehittämää menetelmää. Ensimmäinen on PolarQuant, joka muuttaa datavektorien esitystavan karteesisista koordinaateista napakoordinaateiksi. Käytännössä se tarkoittaa, että perinteisen 'mene kolme yksikköä itään ja neljä pohjoiseen' sijaan arvo kertoo 'mene viisi yksikköä 37 asteen kulmassa'. Napakoordinaateissa kulmat jakautuvat tasaisesti, mikä tekee pakkaamisesta tehokkaampaa ja poistaa perinteisen kvantisoinnin normalisointivaiheen.
Toinen osa on QJL eli Quantized Johnson-Lindenstrauss -muunnos. Se toimii virheenkorjaajana, joka käyttää vain yhden bitin per arvo. QJL vertaa tarkkoja kyselyvektoreita pakattuihin tallennettuihin arvoihin ja korjaa poikkeamat lennossa ilman ylimääräistä muistikuormaa.
Yhdessä nämä kaksi menetelmää muodostavat putken, jossa PolarQuant hoitaa varsinaisen pakkauksen ja QJL siistii jäljet. KV-välimuisti kutistuu kuudesosaan ilman, että mallin vastausten laatu kärsii.
Täydet pisteet viidellä vertailukokeella
Googlen tutkijat testasivat TurboQuantia Gemma-, Mistral- ja Llama 3.1 -malleilla, jotka ovat kahdeksan miljardin parametrin kokoluokkaa. Tulokset mitattiin viidellä eri vertailukokeella: LongBench, Needle In A Haystack, ZeroSCROLLS, RULER ja L-Eval.
Kolmen bitin pakkauksella tarkkuustappio oli nolla kaikissa testeissä, mukaan lukien kysymyksiin vastaaminen, koodin tuottaminen ja yhteenvetojen tekeminen. Needle In A Haystack -kokeessa, jossa mallin pitää löytää yksittäinen fakta massiivisesta tekstistä, TurboQuant sai täydet pisteet. Neljän bitin asetuksella laskenta nopeutui kahdeksankertaisesti H100-piireillä verrattuna 32-bittiseen perustasoon.
Rajoituksiakin on. Tutkimuksessa käytettiin ainoastaan kahdeksan miljardin parametrin malleja, joten toimivuus suuremmilla malleilla on vielä avoin kysymys. Google ei ole toistaiseksi julkaissut virallista koodia, vaikka yhteisö on jo tuottanut ensimmäisiä toteutuksia llama.cpp- ja MLX-ympäristöille. Menetelmää ei ole vielä integroitu suosittuihin päättelytyökaluihin kuten vLLM:ään.



