PagedAttention og vLLM
PagedAttention er en minnebehandlingsteknikk som lagrer en språkmodells oppmerksomhetsbuffer i små gjenbrukbare blokker i stedet for en stor sammenhengende del.
Oversikt
It powers vLLM, an open-source serving engine that dramatically boosts how many requests a single GPU can handle.
Dypdykk
Når en språkmodell genererer tekst, beholder den en 'KV-cache' (nøkkel- og verdivektorer) for hvert token den har sett, slik at neste token kan ivareta hele konteksten. Tradisjonelt har hver forespørsel reservert en stor sammenhengende skive med GPU-minne dimensjonert for dens maksimalt mulige lengde, og kastet bort enorme mengder når sekvenser var kortere eller varierte i lengde. PagedAttention, introdusert i 2023 vLLM-artikkelen fra UC Berkeley, låner ideen om virtuell minnesøking fra operativsystemer: den deler opp KV-bufferen i blokker med fast størrelse som kan leve hvor som helst i minnet og tildeles på forespørsel. En oppslagstabell kartlegger logiske tokenposisjoner til fysiske blokker. Dette eliminerer nesten minnefragmentering og lar blokker deles, for eksempel på tvers av flere utganger fra samme ledetekst.
Teknisk innsikt
KV-cachen er delt opp i sider med fast størrelse, som hver inneholder nøklene og verdiene for et bestemt antall tokens. En blokktabell per sekvens tilordner logiske posisjoner til fysiske sideplasseringer, så cachen til en sekvens trenger ikke være sammenhengende. Fordi identiske prefikser (en delt systemforespørsel eller strålesøk-grener) kan peke til de samme fysiske sidene via kopiering-på-skriving, gjenbrukes minnet i stedet for duplisert, noe som reduserer avfallet fra over 60 % til noen få prosent.
Strategisk innvirkning
Cost and budget
Arkitekturbeslutninger driver ytelse og driftskostnader i årevis.
Tydeligere avgjørelser
Teknisk utdanning hjelper team med å velge riktig stabel, ikke bare den nyeste.
Quality control
Bedre ingeniørvalg reduserer pålitelighetshendelser i produksjonen.
Fremtiden til PagedAttention og vLLM
vLLM har blitt en standard åpen kildekode-inferens-ryggrad, og PagedAttentions ideer vises nå på tvers av de fleste serverstabler. Forvent dypere prefiksbufring (gjenbruk av bufrede systemforespørsler på tvers av brukere), disaggregert forhåndsutfylling og dekoding på separate maskiner, smartere utkastelsespolicyer og tett integrasjon med kvantisering og spekulativ dekoding. Etter hvert som kontekstvinduer vokser til millioner av tokens, blir effektiv paged KV-administrasjon enda mer sentral for å holde serveringen rimelig.
Real-World Implementering
Å være vert for en åpen kildekode LLM API der vLLM betjener mange samtidige chat-brukere fra én GPU med høy gjennomstrømning
Deler en lang systemforespørsel på tvers av tusenvis av forespørsler via prefiksbufring, slik at den behandles én gang, ikke gjentatte ganger
Kjøre strålesøk eller flere samplede fullføringer som deler KV-blokker for den vanlige ledeteksten via copy-on-write
Kutter GPU-minneavfall fra fragmentering slik at en leverandør kan pakke flere samtidige økter på samme maskinvare
Risikoer og rekkverk
Optimalisering av ett benchmark kan skjule bredere systemsvakheter.
Infrastruktur- og vedlikeholdskostnader er ofte undervurdert.
Sikkerhets- og observerbarhetsgap kan vokse etter hvert som systemene blir mer komplekse.
Veikart for implementering
Definer ventetid, kvalitet og kostnadsmål før implementering.
Benchmark under realistiske belastnings- og dataforhold.
Instrumentovervåking for feil, drift og brukerpåvirkning.
Forbered tilbakerulling og hendelsesresponsbaner før skalering.
Fortsett å utforske
Free newsletter
Get the daily AI briefing
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Take the PagedAttention and vLLM quiz
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
Neste guide
Differensielt personvern
Ofte stilte spørsmål
What is PagedAttention and vLLM?
PagedAttention er en minnebehandlingsteknikk som lagrer en språkmodells oppmerksomhetsbuffer i små gjenbrukbare blokker i stedet for en stor sammenhengende del. Den driver vLLM, en åpen kildekode-serveringsmotor som dramatisk øker hvor mange forespørsler en enkelt GPU kan håndtere.
Hva lagrer 'KV-cachen' under tekstgenerering?
KV-cachen inneholder nøkkel- og verdivektorer for hvert tidligere token, og lar modellen ta hensyn til hele konteksten uten å beregne den på nytt hvert trinn.
Hvilket operativsystemkonsept inspirerte PagedAttention?
PagedAttention låner personsøking i virtuelt minne: KV-cachen er delt opp i sider med fast størrelse som kan leve hvor som helst, kartlagt av en blokktabell.
Hvilket problem med tradisjonell KV-buffertildeling løser PagedAttention?
Reservering av én stor sammenhengende plate per forespørsel, dimensjonert for maksimal lengde, kastet bort enorme mengder GPU-minne. Personsøking tildeler små blokker etter behov, og reduserer avfallet.
Hvordan lar PagedAttention flere utganger dele minne for en felles melding?
Identiske prefikser (delte meldinger eller strålesøk-grener) refererer til de samme fysiske KV-sidene, og kopierer bare når en gren divergerer.
Hvor ble vLLM og PagedAttention opprinnelig utviklet?
vLLM og PagedAttention-algoritmen kom ut av UC Berkeley i en artikkel fra 2023 og ble raskt en mye brukt åpen kildekode-serveringsmotor.