Comparațiile între acceleratoare se poartă de obicei pe debit: operații pe secundă, frecvențe, generația arhitecturii. Pentru modelele lingvistice locale, specificația care decide dacă activitatea rulează sau nu este memoria.
Trei lucruri concurează pentru același spațiu
Primul, greutățile. Un model cu miliarde de parametri are nevoie de miliarde de numere rezidente înainte să răspundă la ceva, iar dimensiunea depinde de precizia în care sunt stocate.
Al doilea, cache-ul cheie-valoare, memoria de lucru a modelului pentru fiecare conversație în desfășurare. Proiectul vLLM a măsurat că „Takes up to 1.7GB for a single sequence in LLaMA-13B”. O singură secvență.
Al treilea, activările și costurile de rulare efectivă a calculului.
Greutățile sunt un cost fix. Cache-ul este cel care crește odată cu numărul de oameni care folosesc sistemul și cu lungimea documentelor lor și este cel care lasă o mașină fără loc.
Lungimea contextului este un multiplicator, nu o funcție
Se compară două cereri. „Scrie un răspuns de trei rânduri la acest email.” Și: „Citește aceste o sută de pagini și răspunde la întrebare.”
Folosesc același model și nu sunt aceeași activitate. A doua ține mult mai mult în cache și pentru mult mai mult timp. Un sistem promovat cu o fereastră de context lungă trebuie să aibă memoria necesară pentru a o folosi cu mai mult de o persoană simultan, altfel numărul rămâne teoretic.
Ce aduce quantizarea și ce costă
Greutățile și cache-ul pot fi stocate la o precizie numerică mai mică. Asta reduce memoria și face posibilă implementarea locală pe mașini mai mici, motiv pentru care fp8 în loc de bf16 pentru cache-ul KV este o specificație reală, nu un detaliu.
Este un compromis, nu un câștig gratuit. Precizia mai mică poate afecta calitatea, iar suportul diferă de la model la model și de la motor la motor. Poziția onestă este că acest compromis merită de obicei făcut și trebuie declarat, nu ascuns.
Motorul decide cât din memorie păstrezi
Memoria care există nu este memoria care se folosește. Aceeași publicare vLLM consemnează că sistemele de inferență dinaintea PagedAttention risipeau „60% – 80% of memory due to fragmentation and over-reservation”, iar după rezultatul a fost „near-optimal memory usage, with a mere waste of under 4%”.
Cumpărarea unei plăci mai mari ca să rezolvi o problemă de fragmentare este un mod scump de a evita citirea configurației de servire.
Întrebarea care trebuie pusă în schimb
Nu „cât de rapid este GPU-ul?”, ci: poate acest sistem să ruleze acest model, la această lungime a contextului, pentru atâția utilizatori concurenți, la această viteză de generare, cu acest tip de date pentru cache-ul KV?
Această întrebare are un răspuns de tip da sau nu și poate fi testată. Prima nu poate.
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 este specificat exact în acești termeni, nu prin numele plăcii. 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.
Tipul de date al cache-ului KV apare în ofertă pentru că schimbă semnificativ aritmetica memoriei, iar o afirmație de capacitate fără el nu poate fi verificată.
Întrebări la care răspunde articolul
- Câtă memorie GPU cere un model AI local?
- Întâi greutățile, apoi memoria de lucru pentru fiecare conversație în desfășurare. vLLM a măsurat cache-ul cheie-valoare la până la 1,7 GB pentru o singură secvență pe LLaMA-13B, deci totalul depinde de model, de lungimea contextului și de câți oameni folosesc sistemul simultan.
- Contează mai mult memoria sau viteza plăcii?
- Pentru modele lingvistice locale, de obicei memoria. O placă rapidă rămâne alegerea greșită dacă nu poate ține modelul, contextul și conversațiile concurente, pentru că activitatea nu va rula deloc.
- Ce schimbă tipul de date al cache-ului KV?
- Schimbă semnificativ aritmetica memoriei. Stocarea cache-ului la precizie mai mică, fp8 în loc de bf16, face diferența dintre o capacitate care încape și una care nu, iar o afirmație de capacitate fără acest termen nu poate fi verificată.
Sursele
- 1
Citește mai departe
- Câți oameni poate susține de fapt un singur server AI?Utilizatorii concurenți nu sunt angajații. Capacitatea este decisă de model, de lungimea contextului, de cache-ul KV și de motorul de servire, iar proiectul vLLM a măsurat un caz în care doar motorul schimba memoria utilizabilă cu un ordin de mărime.Citește articolul
- Ce rulează de fapt un model AI: cele cinci straturi din spatele ferestrei de chatUn ghid simplu de infrastructură AI pentru oamenii care trebuie să aprobe achiziția și motivul pentru care „avem nevoie de un server AI” nu este niciodată o propoziție completă.Citește articolul