RadixAttention
Il modo di SGLang di riutilizzare la KV cache tra richieste, conservando in un albero radix ogni prefisso già visto invece di buttare la cache a richiesta conclusa.
L'idea poggia su un'osservazione sul traffico reale: le richieste condividono quasi sempre l'inizio. Stesso system prompt, stessi esempi few-shot, stesso documento, stessa cronologia di conversazione fino al turno precedente. I sistemi di serving classici ricalcolano ogni volta quella parte. Qui i tensori di chiavi e valori in cache sono indicizzati in un albero radix in cui ogni arco è una sequenza di token, così una nuova richiesta può far corrispondere il prefisso comune più lungo e calcolare soltanto il resto. L'albero viene sfoltito con politica LRU quando la memoria si esaurisce, e lo scheduler ne è al corrente: raggruppa le richieste che condividono un prefisso in modo che un nodo non venga scartato proprio prima del colpo successivo. Nei carichi con forte condivisione di prefissi, come i cicli di agenti e l'output strutturato, l'effetto è un throughput di diverse volte superiore, non di qualche punto percentuale.