vLLM — produkciona inferencija sa više paralelnih zahteva
Ollama i llama.cpp su pisani za scenario u kome jedan korisnik čeka jedan odgovor. Kada na isti server krene deset ljudi ili skripta koja obrađuje hiljade zapisa, ta pretpostavka pada — i pada skupo, jer kartica najveći deo vremena stoji. vLLM je pisan za suprotan slučaj. Ovaj tekst pokazuje kako se instalira, po čemu se razlikuje i kada prelazak zaista ima smisla. Odakle razlika Dva mehanizma nose gotovo sve. Continuous batching. Umesto da čeka da se jedan odgovor završi pa uzme sledeći zahtev, vLLM ubacuje nove zahteve u obradu čim se oslobodi mesto. Pošto je inferencija ograničena propusnošću memorije — kako pokazuje tekst o CPU i GPU inferenciji — težine se ionako čitaju za svaki token. Obraditi osam zahteva u istom prolazu košta jedva više nego obraditi jedan. PagedAttention. KV keš se ne rezerviše unapred u komadu, nego u blokovima, kao stranice u virtuelnoj memoriji. Nema praznog prostora rezervisanog za kontekst koji možda nikad neće biti iskorišćen, a zajednički d...