Modelli linguistici su hardware fisico · Primcast LLC · dal 2004

Il modello determina la quantità di memoria. Nessun altro parametro del modulo d'ordine è determinante.

Gli utenti arrivano a questa pagina credendo che la decisione si basi su quale acceleratore sia il più veloce. Non è così. I pesi o entrano nella memoria della scheda o non ci entrano: una scheda con due gigabyte in meno non è più lenta, semplicemente non riesce a caricare i dati. Quindi, questa pagina segue l'ordine in cui si prende effettivamente la decisione: quanto è grande il modello, con quale precisione lo si eseguirà, quanto spazio richiede la conversazione e solo allora quale scheda soddisfa i requisiti. I prezzi sono riportati nella pagina successiva, volutamente.

Quale scheda esegue il mio modello Cosa ci installo sopra

Un solo tenant per macchina. La scheda viene passata al sistema operativo e le versioni di runtime, driver e framework sono a tua disposizione per essere scelte e bloccate.

Primo passo

Quanto pesano effettivamente i pesi.

I parametri vengono moltiplicati per il numero di byte per parametro, e questo è tutto il calcolo. I pesi a sedici bit occupano due byte ciascuno, quelli a otto bit uno, quelli a quattro bit la metà. Un modello con sette miliardi di parametri a sedici bit occupa quattordici gigabyte di pesi; lo stesso modello a quattro bit ne occupa tra tre e quattro.

La quantizzazione è ciò che trasforma una macchina incapace di memorizzare un modello in una in grado di farlo. Questo processo incide sulla qualità, e l'entità di tale impatto dipende molto più dal modello e dal metodo utilizzato che dal solo numero di bit: un modello a quattro bit ben quantizzato è solitamente più vicino alla sua versione a precisione completa di quanto ci si aspetti, mentre un modello a otto bit mal quantizzato può risultare peggiore. Se l'obiettivo è la precisione, è consigliabile testare entrambi i modelli prima di procedere con l'hardware; è più economico scoprire la differenza ora che dopo la consegna.

Queste cifre rappresentano i pesi e nient'altro. Sono il valore minimo, non il requisito obbligatorio. La sezione successiva è quella che tende a trarre in inganno.

Weights only — the runtime, the activations and the conversation are extra, and are the subject of the next section.
Model16-bit8-bit4-bit
7-8 billion parameters16 GB8 GB5 GB
13-14 billion parameters28 GB14 GB8 GB
30-34 billion parameters68 GB34 GB19 GB
70 billion parameters140 GB70 GB38 GB

Fase due

Perché un modello che si adatta non è comunque sufficiente.

Questo è il modo più comune in cui un acquisto di una GPU può andare storto, e si ripete sempre allo stesso modo: qualcuno legge che il suo modello ha una capacità di trentotto gigabyte, acquista una scheda da quaranta gigabyte, la installa correttamente e poi scopre che può contenere a malapena una breve conversazione.

  • Il tempo di esecuzione è incluso anche lì

    Il caricamento di un modello non è l'unica operazione che occupa la scheda. Il runtime stesso, i suoi buffer e le attivazioni di qualsiasi operazione di calcolo risiedono nella stessa memoria dei pesi.

  • La conversazione è lì dentro e cresce

    Ogni token già presente in una conversazione lascia una traccia nella cache chiave-valore, in modo da non doverla ricalcolare. Questa cache cresce con la lunghezza del contesto e ulteriormente con ogni richiesta gestita simultaneamente. Un contesto lungo o un endpoint molto occupato possono richiedere la stessa quantità di memoria di un modello di piccole dimensioni.

  • Quindi: da un quarto a metà ancora

    Prevedi almeno un quarto di memoria in più sulla scheda rispetto ai pesi, e una volta e mezza se il contesto è lungo o l'endpoint è occupato. Questa è la regola che la tabella nella sezione successiva applica per te: ogni scheda indicata contiene i pesi una volta e mezza.

  • E se la differenza è minima, ditelo prima di acquistare.

    Indicaci il modello, la quantizzazione, la lunghezza del contesto di cui hai bisogno e approssimativamente quante richieste contemporaneamente. Preferiremmo convincerti ad acquistare una scheda più grande ora, o un modello più piccolo, piuttosto che accettare un ordine che ti delude nella prima settimana e si trasforma in una richiesta di rimborso.

Terzo passo

Quale scheda supporta quale modello.

Leggete dall'alto verso il basso fino alla dimensione del vostro modello e orizzontalmente fino alla precisione con cui intendete eseguire la stampa. Ogni cella indica la scheda più piccola che possiamo inserire in grado di contenere quei pesi con spazio sufficiente per altri utilizzi, e fornisce un link alla macchina in cui è inserita. Qualora il catalogo non offra un prodotto compatibile singolarmente, la cella lo specifica chiaramente, anziché lasciare uno spazio vuoto.

The smallest card we fit that holds the weights with room left to serve — that is 1.5× the weights, the generous end of the quarter-to-a-half head-room rule below. No prices here on purpose: GPU dedicated servers holds every one.
If you want to runat 16-bitat 8-bitat 4-bit
7-8 billion parametersTESLA P40 / QUADRO P600024 GB16 GB of weightsTITAN V12 GB HBM28 GB of weightsTESLA P48 GB GDDR55 GB of weights
13-14 billion parametersRTX A600048 GB GDDR6 ECC28 GB of weightsTESLA P40 / QUADRO P600024 GB14 GB of weightsTITAN V12 GB HBM28 GB of weights
30-34 billion parametersMore than one cardNothing we fit holds it alone68 GB of weightsInstinct MI21064 GB HBM2e34 GB of weightsTesla V100 32GB32 GB HBM219 GB of weights
70 billion parametersMore than one cardNothing we fit holds it alone140 GB of weightsMore than one cardNothing we fit holds it alone70 GB of weightsInstinct MI21064 GB HBM2e38 GB of weights

Tre cose che il tavolo non può dirti

  • La scheda più piccola che si adatta non è sempre quella che si desidera. La memoria determina se un modello funziona; tutto il resto della scheda determina la sua velocità e il numero di utenti che può gestire contemporaneamente. La tabella ottimizza per il primo aspetto perché il primo rappresenta un limite invalicabile, mentre il secondo è una questione di preferenze. Se la velocità di trasmissione è più importante del budget, passate al modello successivo nell'elenco sottostante.
  • Le schede più vecchie non supportano i formati numerici più recenti. Diverse schede del nostro catalogo sono precedenti a FP8 e bfloat16, quindi un runtime che le prevede utilizzerà formati più lenti o rifiuterà la scheda. È opportuno porre questa domanda prima di effettuare l'ordine, e risponderemo nel caso specifico di una determinata scheda e di un determinato runtime, piuttosto che in generale.
  • Una scheda AMD esegue ROCm, non CUDA. Le schede Instinct offrono un eccellente rapporto qualità-prezzo per gigabyte e rappresentano la soluzione ideale in più di un caso, ma il tuo stack deve supportare ROCm. La maggior parte dei runtime attuali lo supporta; alcuni strumenti correlati, tuttavia, non lo supportano ancora. Verifica la tua configurazione oppure chiedici e la verificheremo insieme a te.

Quando la risposta è "più di una scheda", si tratta di una configurazione che proponiamo come preventivo, non di un'opzione di acquisto. La pagina dedicata alle configurazioni multi-GPU e multi-nodo spiega in dettaglio di cosa si tratta e quali sono i suoi limiti. Il costo mensile di ciascuna scheda e del relativo server dedicato alla GPU è indicato da GPU dedicate : ogni cifra si riferisce alla specifica macchina a cui appartiene, motivo per cui questa pagina non le ripete.

A memoria, il più grande per primo

Ogni scheda che installiamo pubblica una cifra di memoria.

Lo stesso catalogo dei prezzi delle GPU, ma ordinato al contrario: quella pagina inizia dal computer completo più economico perché risponde alla domanda "quanto costa?", mentre questa inizia dalla scheda più potente perché risponde alla domanda "qual è il programma più potente che posso eseguire?". Le schede di cui il produttore non pubblica i dati di memoria vengono omesse anziché indicate con uno spazio vuoto, perché una riga non confrontabile è inutile ai fini di un confronto.

Molte di queste appaiono su più di uno chassis, a volte a prezzi diversi, e la generazione del bus della macchina sottostante influenza ciò che una scheda moderna può effettivamente fare — entrambi i casi sono su server dedicati alle GPU . Cosa sia disponibile e pronto in questo preciso istante è un'altra questione, a cui rispondono i server istantanei .

Ciò che installi su di esso

Il tempo di esecuzione è a tua completa disposizione, ed è proprio questo il punto del bare metal.

La macchina arriva con un sistema operativo e un root puliti. Non c'è alcun servizio di inferenza del fornitore da dover utilizzare, nessun runtime gestito che si aggiorna automaticamente la settimana prima di una scadenza e nessuna API davanti al tuo modello. Installi ciò che ti serve e lo blocchi alla versione con cui il tuo codice è stato testato.

vLLM

La risposta tipica per servire un modello a traffico reale. Il batching continuo e l'attenzione paginata sono ciò che permette a una scheda di rispondere a molte richieste contemporaneamente anziché una alla volta, che è solitamente la differenza tra una demo e un servizio. Richiede una scheda ragionevolmente moderna.

lama.cpp

La risposta più comune quando la memoria è scarsa o la scheda è vecchia. I suoi formati quantizzati sono il motivo per cui un modello di grandi dimensioni può essere memorizzato su una scheda piccola, e non esiterà a utilizzare processore e scheda insieme quando i pesi non sono perfettamente compatibili. Più lento per richiesta, ma molto più tollerante.

TGI e SGLang

Server di produzione appartenenti alla stessa famiglia di vLLM, con punti di forza differenti in termini di output strutturato, riutilizzo dei prefissi e gestione di modelli multipli. Se ne possedete già uno nel vostro stack, verrà eseguito qui senza modifiche.

Ollama

Il percorso più breve da una macchina vuota a un modello funzionante su una porta. Vale la pena iniziare da qui, anche se alla fine si arriva a un'altra soluzione, perché in circa dieci minuti vi dirà se le dimensioni scelte erano corrette.

Qualunque sia la tua scelta, il driver, la versione di CUDA o ROCm e la build del framework sono di tua esclusiva competenza e non verranno effettuati aggiornamenti automatici. Se preferisci che il driver venga installato prima della consegna, specificalo nell'ordine e indica la versione.

Quanto sarà veloce?

Non pubblichiamo il dato relativo ai token al secondo, ed ecco perché.

Ogni singolo valore dipende dal modello, dalla quantizzazione, dal runtime e dalla sua versione, dalla dimensione del batch, dalla lunghezza del prompt, dalla lunghezza della risposta e dal numero di richieste in corso. Modificando anche solo uno di questi fattori, il valore varia di un fattore multiplo. Un dato di punta che non tenga conto di tutti questi elementi è un numero scelto per fare bella figura, e verremmo citati in base a quello.

Vi spiegheremo cosa lo regola, in modo che possiate ragionare sul vostro caso:

  • La lettura del prompt è un'operazione che richiede un'elevata potenza di calcolo. Avviene una sola volta per richiesta, in parallelo per l'intero prompt, ed è in questa fase che si manifestano la velocità di elaborazione aritmetica della scheda e il suo supporto per i nuovi formati numerici.
  • La generazione della risposta è limitata dalla larghezza di banda della memoria. Ogni token richiede la lettura dei pesi, quindi per una singola richiesta il limite massimo è approssimativamente la velocità con cui la scheda può trasmettere in streaming la propria memoria. Questo è il motivo per cui una scheda con memoria più lenta e più grande può risultare meno performante di una più piccola e veloce in termini di latenza, pur avendo la possibilità che il modello sia compatibile.
  • La suddivisione in batch è ciò che rende il sistema economico. L'elaborazione simultanea di più richieste ammortizza il peso della lettura su tutte, ed è per questo che la velocità di elaborazione totale aumenta vertiginosamente con la concorrenza, mentre la latenza per singola richiesta rimane pressoché invariata, almeno fino a quando la cache chiave-valore non si esaurisce, momento in cui le prestazioni peggiorano improvvisamente. Di nuovo, il margine di sicurezza.

Chiedi invece una risposta vera

Indicaci il modello, la quantizzazione che intendi utilizzare, la lunghezza del contesto e approssimativamente il numero di richieste simultanee che prevedi. Se abbiamo già eseguito qualcosa di simile, ti diremo cosa abbiamo osservato e su cosa. In caso contrario, lo specificheremo.

È una base di partenza migliore per un acquisto rispetto a un grafico di riferimento, e richiede circa un minuto.

L'assistenza clienti è disponibile tutti i servizi, telefono, chat e ticket, tutti i giorni dell'anno. I tempi di risposta sono indicati per iscritto.

Oltre al servizio

La messa a punto richiede molto più spazio rispetto al servizio.

Tutto quanto descritto sopra riguarda le dimensioni di un modello per l'inferenza: pesi in ingresso, token in uscita. L'addestramento o la messa a punto dello stesso modello rappresentano un problema di memoria diverso, e la differenza non è trascurabile.

Perché costa più memoria

L'esecuzione richiede i pesi. L'addestramento richiede i pesi, i gradienti e lo stato dell'ottimizzatore per ogni parametro che aggiorna, tutti residenti contemporaneamente, oltre alle attivazioni che deve conservare per poter procedere a ritroso attraverso la rete. Un modello che funziona comodamente su una scheda può essere diverse volte troppo grande per essere ottimizzato completamente sulla stessa scheda.

Ecco perché la maggior parte delle persone non lo fa completamente

I metodi efficienti in termini di parametri, come gli adattatori, gli aggiornamenti a basso rango e le loro varianti quantizzate, aggiornano una piccola frazione dei parametri e richiedono una frazione corrispondentemente piccola della memoria aggiuntiva. Per la maggior parte delle attività che vengono definite "fine-tuning", questa è sia la scelta pratica sia quella che si adatta all'hardware che ci si può permettere di mantenere.

Cosa dirci

Il modello, il metodo, la lunghezza della sequenza e la dimensione del dataset. Non pubblicheremo qui un moltiplicatore perché quello corretto dipende da tutti e quattro questi fattori, e una cifra inventata che sottostima le capacità del tuo computer sarebbe peggio per entrambi di una discussione. Se la risposta è più di una scheda, le opzioni multi-GPU e multi-nodo spiegano come si presenta la configurazione.

L'autobus qui è importante in un modo in cui non lo è per servire

Un ciclo di addestramento trasmette continuamente batch attraverso il collegamento tra processore e scheda, quindi la generazione PCIe della macchina sottostante rappresenta un vincolo reale piuttosto che una specifica. L'inferenza su un modello residente lo influenza solo marginalmente. Quale piattaforma assegna quale scheda a quale collegamento viene pubblicato su server dedicati alle GPU e confrontato tra piattaforme su architetture multi-GPU e multi-nodo .

Chiesto prima

Questa pagina si propone di rispondere a otto domande.

Tratto dalle domande che ci vengono poste in chat e tramite ticket, più o meno nell'ordine in cui ci vengono fatte. Le prime due sono quelle che determinano se un acquisto va a buon fine.

Di quanta memoria GPU ha bisogno un modello linguistico di grandi dimensioni?
I pesi corrispondono al numero di parametri moltiplicato per i byte per parametro: due byte ciascuno a 16 bit, uno a 8 bit e mezzo a 4 bit. Un modello con 7-8 miliardi di parametri richiede 16 GB di pesi a 16 bit, 8 GB a 8 bit e 5 GB a 4 bit; un modello con 70 miliardi di parametri richiede 140 GB, 70 GB e 38 GB. Queste cifre si riferiscono ai soli pesi e rappresentano un valore minimo, non un requisito imprescindibile: è necessario aggiungere un quarto o metà di questo valore per il tempo di esecuzione, le attivazioni e la cache chiave-valore.
Perché il mio modello viene caricato ma non riesce a essere visualizzato?
Perché i pesi non sono l'unica cosa presente nella memoria della scheda. Il runtime e i suoi buffer sono residenti e ogni token in una conversazione lascia una voce nella cache chiave-valore in modo che non debba essere ricalcolato. Tale cache cresce con la lunghezza del contesto e di nuovo con ogni richiesta gestita contemporaneamente, quindi un modello i cui pesi rientrano a malapena nella cache conterrà all'incirca una breve conversazione. Dimensionare la scheda a una dimensione pari a una volta e un quarto o una volta e mezza i pesi.
Quale runtime di inferenza posso installare?
Una qualsiasi di queste. La macchina arriva con un sistema operativo e un root puliti e non c'è alcun servizio di inferenza del fornitore davanti. vLLM è la soluzione usuale per gestire il traffico reale perché il batching continuo consente a una scheda di rispondere a molte richieste contemporaneamente. llama.cpp è la soluzione usuale quando la memoria è limitata o la scheda è più vecchia. TGI e SGLang funzionano senza modifiche. Ollama è il percorso più breve da una macchina vuota a un modello che risponde su una porta. È necessario bloccare il driver, la versione di CUDA o ROCm e il framework alle versioni con cui è stato testato il codice.
Quanti token al secondo riceverò?
Non pubblichiamo un dato relativo al numero di token al secondo, poiché ogni valore dipende dal modello, dalla quantizzazione, dal runtime e dalla sua versione, dalla dimensione del batch, dalla lunghezza del prompt, dalla lunghezza della risposta e dalla concorrenza, e la modifica di uno qualsiasi di questi parametri lo influenza in modo proporzionale. I fattori che lo determinano sono: la lettura del prompt è limitata dalla potenza di calcolo e avviene una sola volta per richiesta; la generazione della risposta è limitata dalla larghezza di banda della memoria, poiché ogni token richiede la lettura dei pesi; e l'elaborazione in batch ammortizza tale lettura tra le richieste concorrenti, il che rende l'erogazione economica fino a quando la cache chiave-valore non esaurisce lo spazio. Per una risposta basata su ciò che abbiamo effettivamente osservato, chiedeteci informazioni sul modello, sulla quantizzazione e sulla concorrenza prevista.
La GPU è condivisa con qualcun altro?
No. Un solo tenant per macchina fisica e la scheda viene passata direttamente al proprio sistema operativo. Non c'è hypervisor, nessuna partizione MIG, nessun profilo vGPU e nessuno scheduler di time-slicing, quindi nessun altro processo viene eseguito sulla scheda e la latenza di inferenza non viene influenzata da processi batch di altri utenti.
E se il modello non entrasse in una sola scheda?
Si tratta quindi di una configurazione multi-scheda, che viene preventivata anziché ordinata al momento del pagamento: il numero di schede compatibili dipende dalla larghezza fisica della scheda specifica e dal budget energetico del case. Due schede offrono la somma della loro memoria solo se il runtime è in grado di suddividere il modello tra entrambe, cosa che ogni runtime serio supporta, seppur a scapito delle prestazioni. Una configurazione di questo tipo prevede l'utilizzo di più di una scheda o di più di un computer .
La messa a punto richiede più memoria rispetto alla gestione delle attività?
Decisamente di più. Il server ha bisogno dei pesi; l'addestramento ha bisogno dei pesi, dei gradienti e dello stato dell'ottimizzatore per ogni parametro che viene aggiornato, tutti residenti contemporaneamente, oltre alle attivazioni mantenute per il passaggio all'indietro. Un modello che funziona comodamente su una scheda può essere diverse volte troppo grande per essere ottimizzato completamente su di essa. I metodi efficienti in termini di parametri aggiornano una piccola frazione dei parametri e necessitano di una frazione corrispondentemente piccola della memoria aggiuntiva, motivo per cui la maggior parte dell'ottimizzazione qui utilizza una sola scheda.
Posso utilizzare una scheda video AMD e ROCm è compatibile?
Sì. Le schede AMD Instinct sono tra le schede con la maggiore quantità di memoria che installiamo e spesso offrono il miglior rapporto qualità-prezzo per gigabyte, ma il tuo stack deve supportare ROCm anziché CUDA. La maggior parte dei runtime di inferenza attuali lo supporta; alcuni strumenti correlati ancora no. Chiedi prima di ordinare e verificheremo la compatibilità con il tuo runtime specifico, invece di rispondere in generale.

For the record

Everything on this page, as figures.

Card memory is the manufacturers’ published figure; which cards exist is read from the order catalogue when this page was served. No monthly price appears here on purpose — GPU dedicated servers holds every one, against the exact machine it belongs to.

What decides whether a model runs
Card memory, and almost nothing else on the order form. The weights either fit or they do not — a card a couple of gigabytes short does not run slower, it fails to load. Clock speed and core count decide how fast it is once it fits.
How much memory a model needs
Parameters multiplied by bytes per parameter: two bytes each at 16-bit, one at 8-bit, half at 4-bit. That is the WEIGHTS. The runtime, the activations and the key-value cache for the conversation live in the same memory, so budget a quarter to a half again on top before choosing a card.
Largest model on a single card here
70 billion parameters at 4-bit, with room left to serve. Past that the answer is more than one card in one machine, which is a build we quote rather than a checkout option — multi-GPU and multi-node is the page for it.
Biggest card we fit
RTX PRO 6000 Blackwell 96GB, 96 GB GDDR7 ECC. Card memory figures are the manufacturers' published ones; a card whose figure we could not source is left out of the comparison rather than guessed at.
Which runtime
Yours. The machine arrives with a clean operating system and root, and you install vLLM, llama.cpp, TGI, SGLang, Ollama or anything else, pinned to the version your code was tested against. Nothing upgrades underneath you, and there is no vendor runtime you have to go through.
Throughput
We publish no tokens-per-second figure, deliberately, because we have not measured one under conditions we would be willing to have quoted back at us. What governs it is the card's memory bandwidth while generating, its arithmetic while reading the prompt, and how many requests you batch. Ask with the model, the quantisation and the expected concurrency and we will say what we have actually seen.
Fine-tuning and training
Both are ordinary work here, and both need considerably more memory than serving the same model: gradients and optimiser state sit alongside the weights. A parameter-efficient method needs a fraction of what a full fine-tune does. Tell us the method and the model and we will size it rather than have you find out after delivery.
Tenancy
One tenant per physical machine and the card passed straight through to your operating system. No hypervisor, no MIG partition, no vGPU profile, no time-slicing scheduler, and nobody else's workload on the card. What you measure on the first afternoon is what you keep.
Bandwidth
Unmetered in both directions at every port speed, with no transfer allowance and no egress line on any invoice. Pulling weights down and serving tokens back out costs nothing beyond the port.
What this page does not price
Cards, or anything else. Every card we fit, what each adds per month and what the machine under it costs are on GPU dedicated servers, each figure against the exact machine it belongs to.