0Pricing
AI Agents · Lezione

Quantizzazione e decodifica speculativa

Per i modelli self-hosted: quantizzazione int8/int4 per ridurre la memoria e decodifica speculativa per aumentare il throughput

Quantizzazione e decodifica speculativa è una lezione AI Agents gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento AI Agents, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso AI Agents include 4 lezioni in totale.

Parti di questa lezione non sono ancora state tradotte e vengono mostrate in inglese.

Ottimizzazioni per modelli self-hosted

Per i modelli open self-hosted, ci sono due grandi vantaggi in termini di velocità e costi:

  1. Quantizzazione — pesi più piccoli, meno RAM/VRAM e inferenza più veloce
  2. Speculative decoding — generazione di più token per passaggio

Nozioni di base sulla quantizzazione

I modelli sono normalmente memorizzati in FP16 (16 bit per peso). La quantizzazione riduce il numero di bit:

  • FP16 — baseline
  • INT8 — dimensioni dimezzate, perdita di qualità quasi trascurabile
  • INT4 / Q4_K_M — dimensioni ridotte di 4 volte, lieve perdita di qualità
  • INT2 / 1.58-bit — dimensioni ridotte di oltre 8 volte, perdita di qualità effettiva

GGUF e livelli di quantizzazione

GGUF è il formato usato da llama.cpp. Livelli comuni:

  • Q4_K_M — miglior equilibrio tra qualità e dimensioni
  • Q5_K_M — leggermente più grande e leggermente migliore
  • Q8_0 — qualità quasi pari a FP16, compressione 2x

Quantise With llama.cpp

./llama-quantize models/llama-3-8b-f16.gguf models/llama-3-8b-q4_k_m.gguf Q4_K_M

# Or download pre-quantised from TheBloke / unsloth on HuggingFace

Impatto sull'hardware

Un modello 8B in FP16 richiede circa 16 GB di VRAM. Lo stesso modello in Q4 rientra in circa 5 GB di VRAM e può essere eseguito su una GPU molto più economica.

Speculative decoding

Il meccanismo è il seguente: usate un piccolo modello «draft» per proporre i token, poi verificateli con il modello grande «target» in un'unica passata forward. Spesso si ottiene un aumento della velocità di 2-3 volte.

from transformers import AutoModelForCausalLM

target = AutoModelForCausalLM.from_pretrained('meta-llama/Llama-3.1-70B')
draft = AutoModelForCausalLM.from_pretrained('meta-llama/Llama-3.1-8B')

outputs = target.generate(
    input_ids,
    assistant_model=draft,    # speculative decoding
    max_new_tokens=200
)

Perché funziona

Il modello draft propone K token. Il modello target li elabora tutti IN PARALLELO (un'unica passata forward). Ogni token accettato è «gratuito». In caso di rifiuto si torna indietro; di solito ne accettate la maggior parte.

Altri acceleratori del decoding

  • Lookahead decoding — più proposte per passaggio
  • Medusa — più teste di decoding addestrate congiuntamente
  • EAGLE — speculative decoding veloce basato su alberi

Strumenti che implementano queste tecniche

  • vLLM — supporta sia la quantizzazione (AWQ, GPTQ, FP8) sia lo speculative decoding
  • llama.cpp — quantizzazione e speculative decoding tramite --draft-model
  • TensorRT-LLM — server di produzione di NVIDIA
  • SGLang — server veloce, adatto all'elaborazione in batch, con batching continuo

Batching continuo

La funzionalità principale di vLLM: elaborare richieste di lunghezza diversa nello stesso passaggio forward. Un enorme aumento del throughput per i server in produzione.

Scegliere il livello di quantizzazione

Testate ogni livello candidato sulla VOSTRA valutazione. Q4_K_M è il punto di partenza predefinito; scegliete un livello superiore se la qualità scende sotto la soglia.

Latenza per token e throughput

Ottimizzazioni diverse migliorano metriche diverse:

  • Latenza per una singola richiesta: speculative decoding
  • Throughput per più utenti: batching continuo
  • Costo della memoria: quantizzazione

Effetto della quantizzazione

Qual è l'effetto principale della quantizzazione int4?

Riepilogo

Quantizzate a Q4 per ridurre memoria e aumentare la velocità. Usate lo speculative decoding per la latenza. Usate il batching continuo per il throughput. vLLM e llama.cpp implementano tutte e tre le tecniche.

Domande Frequenti

La lezione «Quantizzazione e decodifica speculativa» è gratuita?

Sì — il testo completo di «Quantizzazione e decodifica speculativa» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso AI Agents, passa a CoddyKit PRO. Il corso AI Agents include 4 lezioni in totale.

Cosa imparerò in «Quantizzazione e decodifica speculativa»?

Per i modelli self-hosted: quantizzazione int8/int4 per ridurre la memoria e decodifica speculativa per aumentare il throughput Eserciti AI Agents con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare AI Agents?

Non è richiesta alcuna esperienza precedente. AI Agents su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Quantizzazione e decodifica speculativa»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione AI Agents?

Sì. Ogni lezione AI Agents include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Budget di token per passaggio
  2. Instradamento dei modelli (da economico a costoso)
  3. Caching di prompt e risultati (Anthropic, Vertex)
  4. Quantizzazione e decodifica speculativa
← Torna a AI Agents