Tutkimus 🇺🇸 28.07.2026 15:06

KV-välimuisti LLM-malleissa: ymmärtäminen ja toteutus alusta alkaen

KV-välimuisti on tekniikka tehokkaaseen LLM-päätelmään, joka tallentaa välivaiheen avain- ja arvovektorit uudelleenkäyttöä varten, välttäen tarpeettomat laskennat. Artikkeli selittää käsitteen ja tarjoaa alusta alkaen kooditoteutuksen PyTorchissa, näyttäen, miten monipään tarkkaavaisuusmekanismia muokataan välimuistittamaan avaimet ja arvot tekstin generoinnin aikana.
KV-välimuisti tallentaa aiemmista attention-laskuista saadut avain- (K) ja arvovektorit (V), jotta niitä voidaan käyttää uudelleen seuraavien tokenien tuottamisessa, mikä nopeuttaa päättelyä välttämällä uudelleenlaskennan. Ilman KV-välimuistia jokainen generointivaihe laskee avaimet ja arvot uudelleen kaikille aiemmille tokeneille; välimuistin kanssa lasketaan ja liitetään välimuistiin vain uuden tokenin vektorit. Artikkeli tarjoaa kooditoteutuksen, joka perustuu kirjoittajan kirjan GPT-tyyppiseen malliin. Keskeiset muutokset ovat: välimuistipuskurien (cache_k ja cache_v) lisääminen MultiHeadAttention-luokkaan, forward-metodin muokkaaminen käyttämään välimuistia ehdollisesti, reset-metodin lisääminen ja use_cache-lippujen välittäminen mallin läpi. Generoinnissa, kun use_cache on tosi, malli käsittelee vain uuden tokenin alkuperäisen kehotteen jälkeen, kun taas ilman välimuistia se käsittelee koko sekvenssin jokaisessa vaiheessa. Yksinkertainen suorituskykyvertailu osoittaa, että KV-välimuisti noin kaksinkertaistaa generointinopeuden testatussa esimerkissä.
Lähde: Sebastian Raschka — Alkuperäinen
Aiemmat aiheeseen liittyvät kirjoituksemme ↓
Tuoreet uutiset