LLM in locale con 8-16 GB di VRAM
Come far girare LLM in locale con 8-16 GB di VRAM: quali modelli, quantizzazioni e runtime funzionano oggi?
A cura di Daniele Viscuso
Scritto con l'assistenza di Claude (Anthropic) esclusivamente sulle schede citate; una verifica automatica ha controllato le affermazioni contro le fonti. Verifica sempre sulle fonti originali.
In breve
Le fonti fornite non contengono una guida diretta né benchmark specifici per la fascia 8-16 GB di VRAM, quindi la domanda trova solo risposta parziale. Emergono però indicazioni utili: llama.cpp è il runtime di riferimento per la quantizzazione a basso bit 2, Ollama lo integra e lo aggiorna di continuo 3,9, e i modelli MoE con pochi parametri attivi, come LFM2.5-24B-A2B (24B totali, 2B attivi), sono candidati naturali per hardware limitato 10. Per i modelli più grandi, Unsloth descrive uno swap dei blocchi che permette di far girare MoE GGUF più grandi della VRAM 13. Nessuna fonte, tuttavia, indica quali quantizzazioni o modelli entrino precisamente in 8 o 16 GB.
Lo stato attuale
Runtime. llama.cpp è un'implementazione in C/C++ senza dipendenze, con supporto a x86, ARM, RISC-V, ottimizzazioni per Apple silicon e GPU NVIDIA, quantizzazione a basso bit, CLI e server REST 2. Ollama v0.40.5 ha aggiornato llama.cpp (aggiungendo il supporto a Nemotron 3.5) e MLX 9. La v0.40.6 aggiunge i tipi di tensore e file gguf q2_0 7, segno di attenzione verso formati a bit molto bassi. La v0.40.7-rc0 introduce l'inferenza speculativa per llama-server 3. Transformers permette ora di caricare checkpoint GGUF (ad esempio Q4_K_M) con from_pretrained, riusando i kernel ggml con accelerazione Metal su Apple Silicon 29.
Modelli. I dati più vicini al target sono questi: - LFM2.5-24B-A2B: MoE con 24B parametri e 2B attivi per token, contesto fino a 131K, supporto day-one per llama.cpp, MLX, vLLM, SGLang e ONNX. Le prestazioni riportate sono 184 tok/s su Apple M5 Max 10. La fonte non dichiara l'ingombro di memoria. - Nemotron 3.5 Bolt: 74B parametri (9B attivi), "tuned to fit a 24 GB NVIDIA GPU", con speculative decoding tramite drafter incluso 9. Sta quindi sopra la fascia richiesta. - EmbeddingGemma 2: per i flussi RAG locali, richiede circa 191 MB di RAM attiva per i pesi di testo e circa 570 MB per la versione multimodale completa su Google Pixel 11 Pro 21. Il supporto è presente in Transformers v5.19.0 23. - Modelli decisionali piccoli (Nimble, TEV1) su Ollama, citati in un video; un modello da 0.8B è indicato per l'edge 19,22. Il video riporta circa 70 ms di latenza locale contro 220 ms dell'API hosted, ma è una fonte divulgativa 22. - Un modello "Pocket Rewriter" da 0.8B è descritto come eseguibile su CPU 17.
Quantizzazione. Il lavoro più rilevante è la "disaggregated quantization": con decoder Qwen3.8-27B GGUF rilasciati, un prefiller NVFP4 migliora l'accuratezza a 1 bit di 32.5 punti su MMLU-Pro e di 35.3 su MMMU-Pro. L'offloaded disaggregated prefill, che trasmette i pesi da SSD, dà uno speedup di 1.78x nel time-to-first-token a 8K di prompt in llama.cpp 26. Sono risultati di ricerca, non una funzione di uso corrente.
Approcci e strumenti
llama.cpp / Ollama (GGUF). Pro: portabilità, quantizzazione a basso bit, API server 2; Ollama aggiunge distribuzione semplificata dei modelli (ollama run) 9. Contro: le fonti non danno tabelle di consumo VRAM per quantizzazione.
Modelli MoE con pochi parametri attivi. Pro: solo 2B parametri attivi per token in LFM2.5-24B-A2B 10. Contro: i parametri totali restano da tenere in memoria; la scheda non dice come ciò si traduca in VRAM, quindi non va dedotto.
Offload oltre la VRAM (Unsloth). La v0.1.906-beta riporta MoE GGUF fino a 3x più veloci quando superano la VRAM, tramite impostazioni di Block Swap su GPU NVIDIA e AMD 13. Pro: permette di provare modelli più grandi della scheda. Contro: è una beta, e il guadagno è relativo a un baseline non specificato nella fonte.
Speculative decoding. Presente in Ollama (llama-server) 3, nel drafter di Nemotron 3.5 Bolt 9, nel runner MLX 14 e su Mac in Unsloth, con "up to 2.8x" nelle note di rilascio (la scheda parla di 280%) 13. È un acceleratore di latenza e non riduce la memoria; il drafter ne occupa a sua volta.
vLLM. Le release v0.30.0 e v0.31.0 si concentrano su hardware datacenter (SM100/SM103, Hopper, NVFP4, weight-cache daemon) 24,30. Non risultano pensate per la fascia 8-16 GB; per questo scenario le fonti non offrono indicazioni.
Quantizzazione dello stato ricorrente. STEPQuant comprime gli stati ricorrenti oltre 5x nei server concorrenti, riducendo la memoria totale fino al 68.7% (integrato in SGLang) 18. Riguarda il serving concorrente, non il singolo utente locale.
Cosa provare
- Partire da llama.cpp o Ollama con checkpoint GGUF 2,9, e misurare direttamente il consumo di VRAM sul proprio hardware: le fonti non forniscono cifre per 8 o 16 GB.
- Provare LFM2.5-24B-A2B come candidato MoE per agenti locali 10, verificando in pratica quale quantizzazione entra nella scheda.
- Su Apple Silicon, valutare MLX con speculative decoding 13,14, oppure Transformers con GGUF se serve restare nell'ecosistema PyTorch 29.
- Se il modello supera la VRAM, testare il Block Swap di Unsloth per i MoE GGUF 13, tenendo conto che è una beta.
- Per RAG locale, usare EmbeddingGemma 2, che ha un'impronta molto contenuta 21,23.
- Per classificazione e triage, valutare i decision models piccoli di Ollama, ricordando che per il ragionamento profondo il video indica un vantaggio dei modelli hosted 22.
- Per formati a bit molto bassi,
q2_0è ora supportato in Ollama 7, ma l'impatto sulla qualità non è documentato nelle fonti.
Questioni aperte
- Lacuna principale: mancano benchmark di VRAM, qualità per quantizzazione (Q4_K_M, Q2 e simili) e velocità su schede da 8-16 GB. Nessuna fonte confronta direttamente modelli e quantizzazioni su quella fascia.
- Qualità a basso bit: i dati sulla quantizzazione a 1-3 bit 26 vengono da ricerca e da modelli specifici (Qwen3.8-27B); non sono generalizzabili.
- Fonti deboli: molte schede sono sintesi automatiche e il video su Ollama 22 è divulgativo. I numeri di latenza vanno verificati. La scheda 3 parla inoltre di "PPLX Decider v1.2" per MLX, mentre le note originali citano solo il supporto aggiunto; non si possono trarre conclusioni oltre il testo.
- Fuori ambito: diverse fonti (visione 3D, SAR, tokenizer VQ) non riguardano gli LLM locali 4,8,16,27,28 e non sono state usate.
- Da seguire: l'evoluzione del supporto a
q2_0e dello speculative decoding in Ollama 3,7, il Block Swap di Unsloth oltre la fase beta 13, e eventuali misure di memoria per i MoE a basso numero di parametri attivi 10.
Fonti
- ggml-org/llama.cpp — GitHub, in AIChronos dal 18 ottobre 2026 · scheda
- ollama/ollama v0.40.7-rc0 — v0.40.7 — GitHub, in AIChronos dal 18 ottobre 2026 · scheda
- InfiniSplat v2: Analyzing and Improving Feed-Forward 3DGS from Any Views — HF Daily Papers, in AIChronos dal 17 ottobre 2026 · scheda
- ollama/ollama v0.40.6 — GitHub, in AIChronos dal 17 ottobre 2026 · scheda
- Data-Efficient ConvNeXt Pretraining for High-Resolution Sentinel-1 GRD SAR Representation Learning — arXiv (temi verticali), in AIChronos dal 15 ottobre 2026 · scheda
- ollama/ollama v0.40.5 — GitHub, in AIChronos dal 14 ottobre 2026 · scheda
- Run fast, private agents on-device with LFM2.5-24B-A2B — Blog, in AIChronos dal 13 ottobre 2026 · scheda
- unslothai/unsloth v0.1.906-beta — Browser Use + Qwen-Image-2.1-Turbo — GitHub, in AIChronos dal 12 ottobre 2026 · scheda
- ollama/ollama v0.40.4 — GitHub, in AIChronos dal 12 ottobre 2026 · scheda
- AI-Based On-Board Maritime Object Detection for Earth Observation Payload Data Reduction on Versal Embedded Hardware — arXiv (temi verticali), in AIChronos dal 8 ottobre 2026 · scheda
- The model that didn't exist, so you made it yourself — Blog, in AIChronos dal 8 ottobre 2026 · scheda
- STEPQuant: When and Where Errors Matter in Delta-Rule Recurrent State Quantization — HF Daily Papers, in AIChronos dal 8 ottobre 2026 · scheda
- Matt and Ryan Have a Chat: Dishwashers, Datadog Spreadsheets, & Electric Fly Swatters — YouTube, in AIChronos dal 7 ottobre 2026 · scheda
- EmbeddingGemma 2: an open, lightweight multimodal embedding model — Blog, in AIChronos dal 6 ottobre 2026 · scheda
- Don't Make This Big Mistake with Jev — YouTube, in AIChronos dal 6 ottobre 2026 · scheda
- huggingface/transformers v5.19.0 — Release v5.19.0 — GitHub, in AIChronos dal 6 ottobre 2026 · scheda
- vllm-project/vllm v0.31.0 — GitHub, in AIChronos dal 5 ottobre 2026 · scheda
- Disaggregated Quantization: Specializing LLM Prefill and Decode — HF Daily Papers, in AIChronos dal 28 settembre 2026 · scheda
- Learned Compression of SAR Phase-History Data: A Rate-Honest Feasibility Study on GOTCHA — arXiv (temi verticali), in AIChronos dal 25 settembre 2026 · scheda
- StableVQ: Practical Guidelines for Stable Vector-Quantized Tokenizer Training — HF Daily Papers, in AIChronos dal 23 settembre 2026 · scheda
- Transformers now runs llama.cpp quants — Blog, in AIChronos dal 22 settembre 2026 · scheda
- vllm-project/vllm v0.30.0 — GitHub, in AIChronos dal 22 settembre 2026 · scheda