PagedAttention e vLLM
PagedAttention è una tecnica di gestione della memoria che memorizza la cache dell'attenzione di un modello linguistico in piccoli blocchi riutilizzabili invece che in un grande blocco contiguo.
Panoramica
It powers vLLM, an open-source serving engine that dramatically boosts how many requests a single GPU can handle.
Immersione profonda
Quando un modello linguistico genera testo, mantiene una "cache KV" (vettori di chiave e valore) per ogni token che ha visto in modo che il token successivo possa occuparsi dell'intero contesto. Tradizionalmente ogni richiesta riservava una grande porzione contigua di memoria GPU dimensionata per la massima lunghezza possibile, sprecando enormi quantità quando le sequenze erano più brevi o di lunghezza variabile. PagedAttention, introdotto nel documento vLLM del 2023 dell'UC Berkeley, prende in prestito l'idea del paging della memoria virtuale dai sistemi operativi: divide la cache KV in blocchi di dimensione fissa che possono vivere ovunque nella memoria ed essere allocati su richiesta. Una tabella di ricerca mappa le posizioni dei token logici sui blocchi fisici. Ciò elimina quasi la frammentazione della memoria e consente la condivisione dei blocchi, ad esempio su più output dallo stesso prompt.
Approfondimento tecnico
La cache KV è suddivisa in pagine di dimensione fissa, ciascuna contenente le chiavi e i valori per un determinato numero di token. Una tabella di blocchi per sequenza associa le posizioni logiche alle posizioni delle pagine fisiche, quindi non è necessario che la cache di una sequenza sia contigua. Poiché prefissi identici (un prompt di sistema condiviso o rami di ricerca del raggio) possono puntare alle stesse pagine fisiche tramite copia su scrittura, la memoria viene riutilizzata anziché duplicata, riducendo gli sprechi da oltre il 60% a una piccola percentuale.
Impatto strategico
Costo e budget
Le decisioni relative all'architettura determinano prestazioni e costi operativi per anni.
Decisioni più chiare
La formazione tecnica aiuta i team a scegliere lo stack giusto, non solo quello più nuovo.
Controllo di qualità
Migliori scelte ingegneristiche riducono gli incidenti legati all’affidabilità nella produzione.
Il futuro di PagedAttention e vLLM
vLLM è diventato un backbone di inferenza open source predefinito e le idee di PagedAttention ora appaiono nella maggior parte degli stack di servizio. Aspettatevi una memorizzazione nella cache dei prefissi più profonda (riutilizzo dei prompt di sistema memorizzati nella cache tra gli utenti), precompilazione e decodifica disaggregate su macchine separate, politiche di eliminazione più intelligenti e una stretta integrazione con quantizzazione e decodifica speculativa. Man mano che le finestre di contesto crescono fino a raggiungere milioni di token, una gestione KV efficiente tramite paginazione diventa ancora più centrale per mantenere il servizio accessibile.
Implementazione nel mondo reale
Hosting di un'API LLM open source in cui vLLM serve molti utenti di chat simultanei da una GPU a velocità effettiva elevata
Condivisione di un lungo prompt di sistema tra migliaia di richieste tramite memorizzazione nella cache del prefisso in modo che venga elaborato una volta, non ripetutamente
Esecuzione della ricerca di travi o di completamenti multipli campionati che condividono blocchi KV per il prompt comune tramite copia su scrittura
Riduzione degli sprechi di memoria della GPU dovuti alla frammentazione in modo che un provider possa raggruppare più sessioni simultanee sullo stesso hardware
Rischi e guardrail
L'ottimizzazione di un benchmark può nascondere debolezze di sistema più ampie.
I costi delle infrastrutture e della manutenzione sono spesso sottostimati.
Le lacune in termini di sicurezza e osservabilità possono aumentare man mano che i sistemi diventano più complessi.
Tabella di marcia per l'implementazione
Definire obiettivi di latenza, qualità e costi prima dell'implementazione.
Benchmark in condizioni di carico e dati realistiche.
Monitoraggio dello strumento per errori, deriva e impatto sull'utente.
Preparare percorsi di rollback e risposta agli incidenti prima della scalabilità.
Continua a esplorare
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
Prossima guida
Privacy differenziale
Domande frequenti
What is PagedAttention and vLLM?
PagedAttention è una tecnica di gestione della memoria che memorizza la cache dell'attenzione di un modello linguistico in piccoli blocchi riutilizzabili invece che in un grande blocco contiguo. Alimenta vLLM, un motore di servizio open source che aumenta notevolmente il numero di richieste che una singola GPU può gestire.
Cosa memorizza la "cache KV" durante la generazione del testo?
La cache KV contiene vettori di chiavi e valori per ogni token precedente, consentendo al modello di occuparsi dell'intero contesto senza ricalcolarlo a ogni passaggio.
Quale concetto di sistema operativo ha ispirato PagedAttention?
PagedAttention prende in prestito il paging della memoria virtuale: la cache KV è suddivisa in pagine di dimensione fissa che possono vivere ovunque, mappate da una tabella di blocchi.
Quale problema con l'allocazione della cache KV tradizionale risolve PagedAttention?
Prenotare una grande porzione contigua per richiesta, dimensionata per la lunghezza massima, ha comportato uno spreco enorme di memoria della GPU. Il paging assegna piccoli blocchi su richiesta, riducendo drasticamente gli sprechi.
In che modo PagedAttention consente a più output di condividere la memoria per un prompt comune?
Prefissi identici (prompt condivisi o rami di ricerca del raggio) fanno riferimento alle stesse pagine KV fisiche, copiando solo quando un ramo diverge.
Dove sono stati originariamente sviluppati vLLM e PagedAttention?
vLLM e l'algoritmo PagedAttention sono usciti dalla UC Berkeley in un documento del 2023 e sono diventati rapidamente un motore di servizio open source ampiamente utilizzato.