Ilustración editorial para ¿Cabe este modelo en tu GPU? Cómo estimar la VRAM antes de elegir hardware
Imagen generada con gpt-image-2.5-sunburst para InferamaFonte ↗
01

La domanda non è soltanto quanti parametri ha il modello

Sapere quanti parametri ha un modello può essere utile per orientarsi, ma non risponde da solo alla domanda pratica: funzionerà con la configurazione che mi serve su questa GPU? Per rispondere occorre considerare il modello specifico, il formato dei suoi pesi, il runtime, il contesto da elaborare, le richieste simultanee e la memoria già utilizzata dal sistema.

Perciò «ci sta» non è una proprietà isolata del modello. Può starci durante il caricamento e poi esaurire la memoria quando il contesto cresce; può funzionare con una richiesta ma non con più richieste; oppure può avviarsi perché una parte del lavoro viene eseguita in RAM, anche se il modello non è interamente sulla GPU. Il risultato può cambiare anche passando a un altro runtime o modificandone le opzioni.

Questa guida serve a costruire una stima iniziale e poi a sottoporla a una prova controllata. La stima aiuta a scartare le configurazioni chiaramente impraticabili e a capire che cosa misurare. Non sostituisce una prova con l’hardware, il runtime e il carico effettivi. Inoltre, non consente di dedurre velocità, qualità delle risposte o stabilità nel lungo periodo.

02

Che cosa occupa memoria durante l’esecuzione

Una stima utile distingue almeno quattro componenti: i pesi del modello, la cache KV, i buffer temporanei di calcolo e lo spazio richiesto dal runtime insieme al sistema e agli altri processi. È una distinzione concettuale: a seconda del runtime, delle opzioni e dell’hardware, le allocazioni possono essere registrate in modo diverso e non sempre compaiono come categorie separate in uno strumento di monitoraggio.

I pesi sono i dati del modello che il runtime carica per eseguire l’inferenza. Le dimensioni del file possono dare un’indicazione del loro ingombro, ma non corrispondono automaticamente alla memoria totale necessaria. Il formato e la quantizzazione influiscono sulle dimensioni dei pesi, mentre il caricamento comporta anche memoria di lavoro e strutture del runtime. Non trasformare le dimensioni del file in una stima della VRAM disponibile senza aver misurato la configurazione scelta.

La cache KV conserva informazioni relative ai token già elaborati, così da proseguire la generazione. Il suo ingombro dipende dal carico attivo e da caratteristiche del modello, non solo dal nome o dal numero di parametri. Il contesto previsto e le richieste parallele sono variabili da definire prima della stima; anche l’architettura e il tipo di cache configurato possono cambiare il risultato.

I buffer di calcolo sono memoria temporanea usata durante le operazioni del runtime. Le loro dimensioni possono dipendere dall’implementazione e dalle opzioni attive. Anche il runtime e il sistema hanno bisogno di margine; inoltre, la GPU può condividere la memoria con il display o con altri processi. Per questo la memoria nominale della scheda non va considerata interamente libera per il modello.

Inventario iniziale della memoria

Annota ciò che sai e ciò che dovrai verificare. Le categorie aiutano a orientare la stima, ma non implicano che il runtime renda visibile separatamente ogni uso.

ComponenteChe cosa lo modificaChe cosa registrare
PesiModello, formato e quantizzazioneDimensioni e formato esatti dell’artefatto caricato dal runtime
Cache KVContesto attivo, richieste simultanee, architettura e strategia della cacheConfigurazione del contesto, concorrenza e cache
Buffer di calcoloRuntime, operazione e opzioni di esecuzionePicchi osservati durante il caricamento e l’inferenza
Runtime e sistemaProcessi aggiuntivi, memoria del display e configurazione del computerMemoria libera prima e durante la prova
03

Raccogli i dati prima di fare i calcoli

Per prima cosa identifica l’artefatto preciso del modello: non soltanto il nome commerciale, ma anche il file o il formato da caricare e la relativa configurazione. Una scheda di configurazione può indicare dimensioni non specificate dal nome, come il numero di layer e alcune dimensioni e teste di attenzione. Sono dati utili a descrivere l’architettura, ma da soli non bastano a calcolare il consumo finale: conta anche il modo in cui il runtime rappresenta e alloca la cache e i buffer.

Poi definisci il runtime e le relative opzioni. Registra la versione o configurazione che stai provando, la quantità di contesto richiesta, la concorrenza prevista e qualsiasi scelta relativa al tipo o alla posizione della cache. Se il runtime consente di collocare alcuni layer sulla GPU, trasferire una parte del lavoro alla CPU o distribuire il carico fra più schede, annota anche queste scelte. Una stima priva di tali condizioni finisce per mescolare scenari diversi.

Infine, annota lo stato iniziale del computer: memoria totale e disponibile della GPU, processi che la stanno già usando e se la scheda è dedicata all’inferenza o svolge anche altre funzioni. Gli strumenti di gestione della GPU possono mostrare la memoria totale, riservata, utilizzata e libera; sono osservazioni dello stato del dispositivo, non una spiegazione completa di quale componente del modello occupi ciascun blocco.

Scheda della configurazione

Compila questa scheda prima di stimare. Mantieni invariati gli stessi valori durante la prova iniziale, così potrai attribuire i cambiamenti a una variabile specifica.

  1. 01Identifica il modello e il formato esatto dei pesi che verranno caricati dal runtime.
  2. 02Registra i parametri architetturali disponibili nella configurazione del modello; contrassegna come sconosciuti quelli non documentati.
  3. 03Specifica il runtime e le opzioni di esecuzione, compresi eventuali trasferimenti in RAM o ripartizioni tra GPU.
  4. 04Definisci il contesto massimo che prevedi davvero di usare e il numero di richieste che potrebbero essere attive contemporaneamente.
  5. 05Misura la memoria libera della GPU prima dell’avvio e registra i processi che la stanno già utilizzando.
04

Come costruire una stima iniziale

Come prima approssimazione, considera la VRAM richiesta come la somma dei pesi residenti sulla GPU, della cache KV allocata sulla GPU, dei buffer e del costo del runtime, più un margine per le variazioni del carico e gli altri usi della scheda. Non è una formula esatta, né un valore da ricavare da dati generici: le categorie e le loro dimensioni dipendono dall’implementazione e dalla configurazione.

Distingui i valori noti dalle approssimazioni. Le dimensioni del file sono un dato osservabile, ma non dimostrano quanto di quel contenuto risulterà residente sulla GPU né quale sarà il picco di memoria. Il contesto e la concorrenza desiderati sono requisiti che devi stabilire. Per l’architettura e la strategia della cache servono informazioni sul modello e sul runtime. Buffer e margine spesso devono essere misurati sul sistema in cui avverrà l’esecuzione.

Se una variabile importante è sconosciuta, non nasconderla dietro un unico valore. È più onesto preparare più scenari: per esempio, una configurazione con contesto moderato e una più impegnativa, ciascuna con il livello di concorrenza richiesto dal servizio. Queste etichette non garantiscono consumi specifici; servono a fare in modo che la prova copra le condizioni d’uso, invece di convalidare solo il caso più semplice.

La documentazione di un runtime può aiutare a capire quali opzioni offre e quali limiti dichiara, ma una capacità dichiarata o un valore di configurazione non dimostrano che il computer reggerà il carico durante l’esecuzione. Usa la documentazione per definire la prova e i consumi misurati per verificare la configurazione.

05

La cache KV cambia con il contesto e il carico

La cache KV merita particolare attenzione perché il suo ingombro è legato al lavoro attivo. Un contesto più lungo può richiedere di conservare più informazioni per proseguire la generazione; più richieste simultanee possono mantenere attive più sequenze. Non è possibile dedurre un valore preciso dal nome del modello o dal numero dei suoi parametri.

L’architettura è importante. Per una stima più fondata servono gli attributi di configurazione del modello e i dettagli di come il runtime gestisce l’attenzione e la cache. Anche con queste informazioni, il valore osservato può dipendere dal tipo di cache scelto, dall’allocazione della memoria e dalle opzioni del runtime. Una regola generica priva di questi dati può dare un’indicazione qualitativa, ma non garantisce che una certa configurazione ci stia.

I runtime possono offrire strategie diverse, come cache dinamiche, statiche, quantizzate o trasferite alla CPU. Cambiare strategia può modificare la distribuzione della memoria e le condizioni di esecuzione. Non confrontare due stime come se fossero equivalenti quando impiegano strategie diverse o differiscono per runtime e opzioni.

Che cosa controllare quando cresce la cache

Usa questa tabella per individuare possibili cause di un cambiamento osservato; non presuppone un tasso di crescita universale.

Cambiamento nella provaChe cosa potrebbe cambiareChe cosa mantenere o registrare
Aumento del contestoPiù token attivi e una diversa allocazione della cacheContesto richiesto e memoria durante il caricamento e la generazione
Aumento delle richieste parallelePiù sequenze attive e più cache associata al caricoNumero di richieste simultanee e durata della prova
Cambio della strategia della cacheRappresentazione, posizione o allocazione della memoria differentiTipo di cache e opzioni esatte del runtime
Cambio del runtimeImplementazione e gestione della memoria differentiRipetere la prova; non trasferire automaticamente il risultato precedente
06

Intera GPU, trasferimento in RAM o più schede

Un’esecuzione può usare tutta la GPU per il modello, collocarvi soltanto una parte dei layer, trasferire parte della cache alla CPU oppure distribuire il modello tra più GPU. Alcune di queste opzioni permettono di provare configurazioni che non entrerebbero in una sola scheda se tutte le componenti fossero collocate al suo interno, ma non dimostrano che il modello sia interamente residente in VRAM. Inoltre, da sole non permettono di dedurre le prestazioni che si otterranno.

Verifica la modalità di esecuzione nelle opzioni e nei log del runtime. Se gli strumenti consentono di specificare i layer sulla GPU o di distribuire il lavoro tra schede, annota i valori applicati. Se viene attivato un trasferimento alla CPU o una strategia di cache su CPU, la memoria della GPU non rappresenta più da sola l’intero utilizzo di memoria dell’esecuzione. Distingui fra «l’applicazione si è avviata» e «la configurazione soddisfa i requisiti di residenza e carico definiti».

Con più GPU, conoscere la somma della memoria nominale delle schede non basta comunque a sapere come verrà distribuito il modello. La ripartizione dipende dalle capacità del runtime e dalla configurazione scelta. Valuta ciascun dispositivo e l’allocazione effettiva; non dare per scontato che tutta la memoria aggregata sia disponibile per qualsiasi distribuzione.

Che cosa significa che il processo si avvia

Classifica il risultato in base alla modalità di esecuzione verificata, non soltanto all’assenza di un errore all’avvio.

RisultatoChe cosa puoi concludereChe cosa non puoi concludere
Pesi e cache sulla GPU secondo la configurazione previstaL’esecuzione osservata usa la GPU conformemente alle opzioni verificateChe supporterà qualsiasi contesto, concorrenza o durata
Una parte dei layer o della cache è sulla CPUIl runtime ha potuto proseguire trasferendo o ripartendo la memoriaChe l’intero modello ci sta nella VRAM
Modello caricato, ma carico previsto non ancora provatoIl caricamento è terminato in quelle condizioniChe funzioneranno un contesto lungo o più richieste
Errore durante il caricamento o la provaLa configurazione attuale non ha completato l’esecuzioneChe il modello non possa funzionare con altre opzioni o hardware
07

Verifica la stima con una prova controllata

La prova deve riprodurre lo scenario che vuoi usare. Fissa modello, formato, runtime, contesto, concorrenza e opzioni di cache e trasferimento. Registra lo stato iniziale della memoria e gli eventuali processi esterni che condividono la GPU. Se cambi più opzioni contemporaneamente, sarà difficile capire quale abbia determinato il risultato.

Carica il modello e registra la memoria utilizzata e quella disponibile. Poi esegui una richiesta con la configurazione prevista. Aumenta gradualmente contesto o concorrenza, una variabile per volta, e annota quando compare un errore, si attiva un trasferimento oppure il consumo si avvicina al limite osservato. Non interpretare una singola lettura come un massimo stabile: osserva la memoria durante l’esecuzione, perché il consumo può differire tra la fase di caricamento e quella di inferenza.

Usa i log del runtime per verificare la distribuzione tra GPU e CPU e le opzioni effettivamente applicate. Confronta quanto osservi con uno strumento GPU che mostri memoria totale, utilizzata, riservata e libera. Questa lettura descrive lo stato del dispositivo, ma non sempre separa pesi, cache e buffer. Ripeti l’esecuzione per rilevare variazioni sullo stesso computer e annota le condizioni esatte.

Definisci in anticipo cosa significa superare la prova: completare il contesto previsto, sostenere la concorrenza richiesta e non dipendere da un trasferimento che non avevi previsto. Se il sistema deve lasciare margine ad altri processi, includilo tra i requisiti. Una prova senza errori può comunque essere insufficiente per l’uso previsto se non resta quel margine.

Procedura di verifica

Esegui i passaggi senza cambiare più condizioni contemporaneamente. Conserva i log, così potrai ripetere la prova dopo aver cambiato hardware o runtime.

  1. 01Annota modello, formato, runtime, opzioni della cache, contesto, concorrenza e modalità di ripartizione.
  2. 02Misura la memoria libera prima del caricamento e registra gli altri processi che usano la GPU.
  3. 03Carica il modello e osserva memoria e log del runtime; verifica se ci sono layer o cache sulla CPU.
  4. 04Prova prima un carico ridotto, poi aumenta il contesto mantenendo fissa la concorrenza.
  5. 05Riavvia o ripristina condizioni comparabili e aumenta la concorrenza mantenendo fisso il contesto.
  6. 06Registra errori, picchi osservati, trasferimenti in RAM e risultato di ogni esecuzione.
  7. 07Ripeti la prova e valuta se il margine disponibile soddisfa il requisito operativo definito.
08

Errori frequenti e limiti della stima

L’errore più comune è trattare le dimensioni del file come se fossero il consumo totale. Quel dato non include necessariamente cache, buffer, runtime o la memoria già occupata dal sistema. Un altro errore è confrontare il risultato con la capacità nominale della GPU senza misurare quanta memoria rimanga disponibile nelle reali condizioni d’uso del computer.

È facile anche provare soltanto l’avvio e supporre che ciò convalidi un contesto esteso o più richieste. Il caricamento iniziale e un carico sostenuto sono fasi diverse della prova. Se cambi contesto, concorrenza, tipo di cache, runtime o ripartizione tra GPU e CPU, stai provando una configurazione diversa.

Infine, non trasferire con leggerezza un valore da un runtime all’altro. Gli strumenti possono gestire la memoria ed esporre le metriche in modi diversi. I valori osservati descrivono il computer e le opzioni testate; non garantiscono lo stesso risultato su un altro sistema né un’esecuzione stabile a tempo indeterminato. La prova non determina nemmeno la qualità dell’output o se la velocità sia sufficiente per un caso d’uso.

Decisione pratica

La stima serve a orientare il passo successivo. Se le prove non rispondono a una condizione essenziale, la conclusione corretta è «da provare», non «ci sta».

SituazioneDecisione ragionevolePasso successivo
La stima supera chiaramente la memoria disponibile già prima di aggiungere cache e bufferScartare la configurazione su quella GPU o modificare i requisitiValutare un altro formato, una ripartizione o un altro hardware e misurare di nuovo
Il caricamento iniziale termina, ma il contesto richiesto non è stato provatoNon considerare convalidato il caso d’usoAumentare il contesto in modo controllato
Il processo funziona tramite un trasferimento alla CPU non previstoNon affermare che il modello entri interamente nella VRAMVerificare le opzioni del runtime e decidere se il trasferimento è accettabile
Contesto e concorrenza richiesti superano prove ripetute con margineLa configurazione dispone di riscontri pratici per quel computer e runtimeDocumentare le condizioni e ripetere la prova se cambiano i componenti
09

Criteri finali per scegliere o riutilizzare l’hardware

Prima di acquistare una GPU, individua un carico rappresentativo e verifica se la memoria disponibile può ospitare le componenti che vuoi mantenere al suo interno, oltre al margine necessario al sistema. Se la stima supera chiaramente la capacità utilizzabile, non serve fingere precisione: quella combinazione richiede di cambiare i requisiti, la distribuzione o l’hardware. Se sei vicino al limite, una prova sul computer specifico è particolarmente importante.

Se riutilizzi una GPU, misura il suo stato reale e verifica chi condivide la memoria. Non trattare la capacità totale come se fosse libera. Se accetti un’esecuzione parziale in RAM o la ripartizione tra schede, registra questa scelta come parte della configurazione, non come un dettaglio invisibile. Quando confronti alternative, usa lo stesso carico e gli stessi criteri.

Per approfondire i modelli locali, puoi consultare la guida sui modelli locali, il comparatore e la sezione di scoperta. Mantieni lo stesso metodo anche quando valuti un’opzione: identifica la configurazione esatta e verifica le condizioni importanti per il tuo caso. La conclusione utile non è un valore universale di VRAM, ma un risultato riproducibile per un modello, un runtime, un hardware e un carico definiti.

Questioni aperte

  • La documentazione citata non fornisce una formula universale per calcolare il consumo totale di VRAM di qualsiasi modello, runtime e hardware.
  • La separazione osservabile tra pesi, cache KV, buffer e memoria del runtime dipende da come il runtime gestisce ed espone le allocazioni.
  • I valori di utilizzo possono variare tra esecuzioni e runtime; le prove vanno ripetute sul computer e con le opzioni previste.
  • I parametri disponibili nella configurazione del modello non bastano da soli a dedurre il consumo finale senza conoscere la strategia del runtime.
10

Continua a esplorare

10

Fonti consultate

03

Correzioni e trasparenza

Se trovi un dato errato o non aggiornato, inviaci la pagina e la fonte da verificare.

Proponi una correzione