Sari la conținut
Toate articolele
Infrastructură AI

Câți oameni poate susține de fapt un singur server AI?

Nu există un număr universal, iar un furnizor care îți dă unul fără alte patru numere citează un benchmark pe care nu îl poți reproduce. Iată de ce depinde cifra și cum arată o ofertă care poate fi folosită.

De Bastion, Cluj-NapocaPublicat 7 min de citit

„Câți utilizatori susține?” seamănă cu întrebarea câte mașini duce un drum. Drumul nu știe. Depinde de trafic.

Trei companii, câte douăzeci de utilizatori, trei mașini diferite

Compania A are douăzeci de oameni care scriu emailuri scurte, câteva sute de token-uri la intrare și câteva sute la ieșire, în rafale. Compania B are douăzeci de oameni care trec contracte de o sută de pagini prin model toată după-amiaza. Compania C are douăzeci de dezvoltatori ale căror editoare trimit cereri automate, fără ca cineva să aștepte răspunsul.

Toate trei au douăzeci de utilizatori. Nu au aceeași activitate și nu se dimensionează la același aparat.

Cuvântul care contează este concurent

O companie cu o sută de angajați are rareori o sută de oameni care așteaptă un model în aceeași secundă. Dimensionarea pornește de la concurența de vârf, nu de la statul de plată.

O greșeală în direcția optimistă face sistemul lent exact când lucrează toată lumea. O greșeală în cealaltă direcție înseamnă că organizația plătește o mașină care stă.

Unde se duce de fapt memoria

Greutățile se încarcă o singură dată. Ce crește odată cu numărul de utilizatori este cache-ul cheie-valoare, memoria de lucru a modelului pentru fiecare conversație aflată în desfășurare. Crește cu lungimea contextului și cu numărul de secvențe servite în același timp.

Proiectul vLLM a pus o cifră pe asta la 20 iunie 2023: cache-ul KV „Takes up to 1.7GB for a single sequence in LLaMA-13B”. O singură secvență. Înmulțit cu numărul de utilizatori concurenți, calculul încetează să fie abstract.

Aceeași publicare arată cât de prost era folosită acea memorie înainte de PagedAttention: sistemele de inferență risipeau „60% – 80% of memory due to fragmentation and over-reservation”, față de „near-optimal memory usage, with a mere waste of under 4%” după.

Aceeași placă, același model și aceiași utilizatori pot servi o parte din sarcină sau aproape toată, în funcție de motorul de servire. Capacitatea este o proprietate a întregului stack.

Ce conține o ofertă utilizabilă

O cifră de capacitate cu un singur număr în ea nu este o specificație. Una utilizabilă numește patru lucruri deodată, iar al cincilea dacă vrei să fii riguros:

  • Câți utilizatori concurenți, nu câte licențe
  • La ce lungime a contextului, pentru că un context de 32k nu este un context de 8k
  • La ce viteză de generare per utilizator, în token-uri pe secundă
  • Cu ce tip de date pentru cache-ul KV, pentru că fp8 și bf16 nu sunt interschimbabile
  • Și, ideal, pe ce model și pe ce placă

Patru dintre ele formează oferta. Dacă lipsește oricare, numărul poate fi făcut să spună aproape orice.

Cum se dimensionează corect

Se pornește de la utilizatori, se estimează concurența de vârf, se numără cererile per utilizator în ora aglomerată, se estimează token-urile de intrare și de ieșire pentru documentele reale și abia apoi se trece la hardware. Apoi se testează cu activitatea reală, nu cu un benchmark generic. Un benchmark care nu seamănă cu munca nu prezice nimic despre muncă.

Cu Bastion

Ce schimbă Bastion

Bastion este un sistem AI privat, livrat ca un singur echipament sigilat care funcționează în clădirea ta. Un singur abonament lunar acoperă echipamentul, modelul, sistemul de operare securizat și suportul, iar nimic din ce scrie echipa ta nu părăsește clădirea.

Bastion declară capacitatea cu toți termenii atașați. Un nod Reasoning susține 35 de utilizatori concurenți, la 8k tokens de context, la 30 de tokens pe secundă fiecare, cu cache KV în fp8. Aceasta este oferta completă și din ea se construiește dimensionarea.

O activitate mai grea pe oricare dintre aceste dimensiuni, documente mai lungi sau mai mulți oameni simultan, înseamnă alt nod sau mai multe. Care anume rezultă din discuția de dimensionare, nu din numărul de angajați.

Sursele

  1. 1