Avanzato 9 minLM Studio

MTP in LM Studio: attivare la Multi-Token Prediction

Il MTP (Multi-Token Prediction) è una delle poche tecniche di inferenza che offre un reale aumento dei token/sec in LM Studio senza compromettere la qualità. Questa tecnica, resa popolare da DeepSeek V3, arriva ora nel runtime llama.cpp utilizzato da LM Studio. Questa guida spiega cos'è il MTP, con quali modelli funziona, come attivarlo in LM Studio e quale incremento aspettarti — senza promettere la luna.

Di Mohamed Meguedmi·Agg. 2026-08-27·Testato su Windows, macOS e Linux
i
In breve
La MTP (Multi-Token Prediction) genera più token per passaggio forward anziché uno solo, aumentando il throughput senza una scheda grafica più veloce. · Solo alcuni modelli la supportano nativamente: la famiglia DeepSeek (V3, V3.1, V4 Flash) e alcune varianti Qwen3 MoE con teste MTP nel GGUF. · Si attiva in LM Studio 0.3.10+ tramite un runtime llama.cpp aggiornato, poi con un interruttore nell'Advanced Configuration del modello. · Incremento misurato: DeepSeek V3 32B Q4 su RTX 4090 passa da circa 25 a 42 tok/s nella generazione di codice.

#Perché il MTP accelera l'inferenza

L'inferenza di un LLM è limitata dalla memoria: a ogni token generato, occorre rileggere tutti i pesi del modello dalla VRAM. Per un 32B in Q4, sono ~19 GB trasferiti a ogni passo. Anche una RTX 4090 raggiunge al massimo circa 1 TB/s di banda passante, il che limita meccanicamente la velocità a poche decine di token al secondo.

Il MTP supera questo muro in modo semplice: genera più token per passaggio forward, piuttosto che uno solo. Se si riesce a produrre 2 o 3 token validi con un solo ciclo di accesso alla memoria, il throughput aumenta nella stessa proporzione — senza dover acquistare una scheda più veloce. Questo è ciò che distingue il MTP dalle altre «ottimizzazioni» che si limitano a sfruttare meglio le risorse di calcolo (Flash Attention, prefix caching): qui si affronta direttamente il vincolo dominante.

i
La posta in gioco in una frase
Il MTP non rende il modello più veloce da caricare, più piccolo o migliore. Fa semplicemente più lavoro utile per ogni accesso alla VRAM. Su un 32B locale, è la differenza tra 25 e 45 tok/s. È enorme.

#Cosa fa realmente il MTP

Il kit IA Locale

Il tuo ChatGPT privato e gratuito sulla tua macchina in 1 ora — LM Studio, Ollama, Open WebUI, i tuoi documenti, senza cloud.

  • Spazio online a vita
  • PDF + file
  • Aggiornamenti a vita

In pratica, un modello addestrato con MTP non ha una sola testa di predizione. Ne ha due, tre o quattro, in cascata: la prima predice il token N+1, la seconda cerca di predire il token N+2, ecc. Durante l'addestramento, queste teste ausiliarie imparano ad anticipare i token successivi a partire dagli stati nascosti intermedi. Una volta addestrato, il modello può usare queste teste durante l'inferenza per produrre più candidati in una sola volta.

Durante la generazione, nei runtime attuali coesistono due schemi:

MTP in decoding speculativo
Le teste ausiliarie producono una bozza di 2-4 token, poi il modello principale verifica in un solo passaggio forward se li accetta. Ogni token rifiutato viene rigenerato. Questa è l'implementazione predefinita in llama.cpp per DeepSeek V3.
MTP come draft model interno
Variante in cui le teste secondarie servono soltanto da piccolo modello di bozza e il runtime tratta il tutto come un modello di bozza standard, ma ospitato nello stesso file GGUF. Più semplice da mettere in servizio, ma con un guadagno più modesto.
→
Non magico, ma robusto
Il tasso di accettazione dei token proposti è il fattore chiave. Nei testi strutturati (codice, JSON, markup) supera l'80% e il guadagno sfiora 2×. Nei testi molto creativi o molto imprevedibili, scende talvolta sotto il 50% e il guadagno si riduce a 1,2-1,3×.

#Quali modelli supportano veramente il MTP

Il MTP non è un parametro che si può attivare su qualsiasi modello: il modello deve essere stato addestrato con le teste MTP e i pesi corrispondenti devono essere presenti nel file GGUF. Attualmente, l'elenco utile per l'uso locale con LM Studio è breve:

DeepSeek V3 (base e chat)
Il pioniere. Architettura MoE 671B con 4 teste MTP. In locale, si punta alle varianti quantizzate in modo aggressivo (Q2_K_XL, IQ3_XS) o ai modelli distillati.
DeepSeek V3.1 / V3.2 / V4 Flash
Tutta la famiglia DeepSeek ha ereditato il MTP. Le versioni Flash (≈300B MoE) sono le uniche che riescono davvero a stare su un Mac Studio Ultra o su una configurazione multi-GPU con 80-100 GB di VRAM.
Qwen3 MoE (selezione di varianti)
Per diverse varianti Qwen3 MoE sono stati pubblicati pesi GGUF con teste MTP. Controlla la scheda del modello su Hugging Face: la presenza di un campo «mtp_layers» o di un suffisso -mtp nel nome è un buon indicatore.
Modelli densi classici (Gemma 4, Mistral Small, Qwen 3.5)
Nessun MTP nativo. LM Studio non farà nulla di speciale. Per questi modelli, l'unico equivalente disponibile è il decoding speculativo classico con un modello draft separato.
!
Verificare il GGUF
Un file GGUF contrassegnato « DeepSeek » non contiene necessariamente le teste MTP: alcune conversioni della comunità le hanno rimosse per risparmiare qualche centinaio di MB. Cerca la menzione esplicita « MTP » o « multi-token » nella descrizione del repository, oppure controlla le dimensioni: un modello con MTP è più grande del 5-10% a parità di quantizzazione.

#Prerequisiti per LM Studio

LM Studio recente
Versione 0.3.10 o successiva. Le versioni più vecchie usano un runtime llama.cpp precedente al supporto MTP e l'opzione semplicemente non compare nell'interfaccia utente.
Runtime llama.cpp aggiornato
Il supporto MTP in llama.cpp è arrivato alla fine del 2024 ed è stato stabilizzato nel corso del 2025. LM Studio include diverse versioni del runtime; bisogna selezionare esplicitamente la più recente nella scheda Runtimes.
VRAM o memoria unificata sufficiente
Il MTP comporta un modesto consumo aggiuntivo di memoria (le teste ausiliarie sono piccole), ma bisogna comunque caricare l'intero modello. Prevedi la quantità di VRAM normalmente necessaria per la dimensione del modello desiderata, più il 5-10% per la cache KV estesa utilizzata durante la verifica.
GPU correttamente rilevato
Il guadagno con MTP si manifesta solo se l'inferenza è limitata dalla GPU. In modalità solo CPU, il beneficio esiste ma è perlopiù marginale e talvolta negativo sui modelli piccoli.

#1. Attivare il runtime aggiornato

Prima di intervenire sul modello, verifica che LM Studio utilizzi una versione di llama.cpp che supporti il MTP. È il passaggio che più spesso viene dimenticato.

  1. 01
    Aprire le impostazioni Runtimes
    In LM Studio, fai clic sull'icona dell'ingranaggio (Settings), poi vai alla sezione «Runtimes» (o «LM Runtimes», a seconda della versione). Qui puoi vedere i runtime installati: CUDA, Metal, Vulkan, CPU.
  2. 02
    Installa la versione più recente
    Clicca su «Check for updates» accanto al runtime della tua piattaforma. LM Studio scarica una versione recente di llama.cpp integrata nell'applicazione. Il supporto MTP è presente in tutte le build 2025+.
  3. 03
    Verificare la versione attiva
    Nella stessa sezione viene mostrata la versione attualmente utilizzata (ad esempio « llama.cpp v0.3.x — CUDA »). Verifica che sia successiva a novembre 2024. Se coesistono più runtime, seleziona il più recente come predefinito.
i
Il runtime, non l'app
LM Studio e il suo runtime llama.cpp evolvono indipendentemente. Una vecchia versione di LM Studio può funzionare perfettamente con un runtime recente: ciò che conta è la versione del runtime integrato per il MTP.

#2. Caricare un modello con testa MTP

Scarica un modello compatibile con MTP tramite la scheda di ricerca integrata. Digita «DeepSeek V3» o «Qwen3 MoE» e filtra le build GGUF recenti che menzionano MTP. In alternativa, vai direttamente su Hugging Face e trascina il file GGUF nella cartella dei modelli di LM Studio.

Percorso della cartella modelli LM Studio
# Linux / macOS
~/.lmstudio/models/

# Windows
%USERPROFILE%\.lmstudio\models\

Una volta che il modello è visibile nella libreria, caricalo normalmente dalla scheda Chat o dalla scheda Local Server. Prima di cliccare su «Load», apri il pannello «Advanced Configuration»: è lì che appaiono le opzioni MTP quando il modello le dichiara.

→
Un buon segno
Se l'opzione MTP non appare in Advanced Configuration, è quasi sempre perché le teste MTP non sono state incluse nel GGUF. Scarica un'altra variante prima di complicarti inutilmente la vita.

#3. Regolare i parametri MTP

Advanced Configuration mostra in generale tre parametri relativi al MTP. I nomi variano in base alla versione di LM Studio, ma il principio rimane lo stesso.

Enable MTP (o Use MTP heads)
Interruttore principale. Attivare. Quando è disattivato, il modello ignora le proprie teste ausiliarie e si comporta come un modello classico.
MTP draft tokens (n_draft)
Numero di token proposti per passo. Valore tipico: 3 o 4. Al di sopra, il tasso di accettazione cala e il guadagno svanisce. Al di sotto (1-2), il costo di verifica diventa comparabile al guadagno.
MTP acceptance threshold
Soglia di confidenza per accettare un token proposto. Il valore predefinito è spesso intorno a 0,7. Più alta = maggiore sicurezza ma minore guadagno. Più bassa = maggiore velocità, ma la qualità dell'output può subire lievi deviazioni.
Esempio di configurazione salvata (model_config.json)
{
  "mtp": {
    "enabled": true,
    "n_draft": 3,
    "acceptance_threshold": 0.7
  },
  "gpu_layers": -1,
  "context_length": 8192
}
!
Non abbassare la soglia senza fare delle prove
Abbassare acceptance_threshold a 0.5 permette di aumentare i token/sec del 10–15%, ma introduce lievi derive stilistiche nelle generazioni lunghe. Confronta i tuoi output fianco a fianco prima di rendere definitiva questa impostazione.

#4. Misurare il guadagno reale sul tuo computer

Attivare il MTP senza effettuare misurazioni significa rinunciare a metà dei benefici della guida. LM Studio mostra la velocità di generazione in fondo alla chat (tok/s) dopo ogni generazione. Il metodo onesto:

  1. 01
    Preparare 3 prompt rappresentativi
    Un prompt di codice (molto strutturato, tasso di accettazione elevato previsto), un prompt FR fattuale, un prompt creativo libero. Salvali per poterli ripetere esattamente.
  2. 02
    Disattivare MTP, misurare la baseline
    Rimuovere il modello dalla memoria, disattivare MTP, ricaricare il modello. Eseguire ogni prompt, annotare il valore medio in tok/s su 3 ripetizioni. Non dimenticare di ignorare la primissima esecuzione (prefill non confrontabile).
  3. 03
    Attivare MTP, misurare
    Rimuovere il modello dalla memoria, riattivare MTP, ricaricarlo con esattamente gli stessi parametri (contesto, temperatura, ecc.). Ripetere gli stessi prompt.
  4. 04
    Confrontare
    Calcolare il rapporto per prompt. È atteso un fattore di 1,5-2× sul codice, 1,3-1,7× sui testi fattuali in francese e 1,1-1,4× sui testi creativi. Se il rapporto è inferiore a 1,2× in tutti i casi, qualcosa non va (runtime troppo vecchio, teste MTP assenti o GPU saturata da altro).
DeepSeek V3 distillato 32B Q4, RTX 4090
Baseline ~25 tok/s, con MTP attivato ~42 tok/s su un prompt di codice Python. Sulla prosa francese, ~30 tok/s.
DeepSeek V4 Flash su Mac Studio M2 Ultra 192 GB
Baseline ~14 tok/s, MTP attivato ~24 tok/s su codice. Su testo libero, ~18 tok/s. Il guadagno è chiaro anche su Apple Silicon.
Qwen3 MoE 30B-A3B Q4, RTX 4070 Ti
Baseline ~38 tok/s, con MTP attivato ~55 tok/s su JSON. Sul testo creativo, il guadagno è limitato a ~46 tok/s.

#Impostazioni avanzate e combinazioni

Il MTP si combina bene con altre ottimizzazioni disponibili in LM Studio. Alcune combinazioni che funzionano:

MTP + Flash Attention
Attivare contemporaneamente. Flash Attention riduce l'occupazione di memoria della cache KV durante la verifica delle bozze, il che aiuta quando n_draft è elevato.
MTP + Q4_K_M (vs Q8)
Il MTP preserva la qualità anche con una quantizzazione Q4 aggressiva. Non c'è motivo di passare a Q8 «per compensare» — mantieni Q4_K_M e risparmia VRAM.
MTP + contesto ampio
Il KV-cache occupa più memoria con MTP (la verifica memorizza più stati intermedi). Su un modello da 32B con un contesto da 32k, prevedi 1-2 GB di VRAM aggiuntivi.
MTP + batch (Local Server)
Se gestisci più richieste simultanee tramite il server di LM Studio compatibile con OpenAI, il guadagno MTP si somma a quello del batching. È qui che si vedono le differenze maggiori.
→
Profilo in base all'uso
Per l'assistenza alla programmazione (Continue.dev, Aider) collegata a LM Studio, porta n_draft a 4: il codice è così prevedibile che il tasso di accettazione rimane alto. Per una chat generalista, resta a 3. Per la narrativa o il brainstorming, scendi a 2 o disattiva persino il MTP.

#Risoluzione dei problemi

L'opzione MTP non appare
O il runtime è troppo vecchio (verifica la versione in Settings → Runtimes), oppure il modello GGUF non contiene le teste MTP. Scarica una variante esplicitamente contrassegnata MTP.
MTP attivato, ma nessun guadagno misurato
Verifica che sia effettivamente la GPU a essere utilizzata (gpu_layers = -1 o uguale al numero totale di strati). Usando solo la CPU, il MTP a volte costa più di quanto renda. Verifica anche che nessun altro processo saturi la VRAM.
Output che devia o ripetizioni strane
Acceptance threshold troppo basso. Aumentalo a 0,75-0,8. Se il problema persiste, disattiva MTP: esistono casi patologici con prompt molto atipici.
LM Studio crasha durante il caricamento
Un GGUF convertito male con teste MTP corrotte può mandare in crash il runtime. Prova una diversa quantizzazione dello stesso modello, oppure un file pubblicato da un altro autore su Hugging Face.
Miglioramento visibile nella chat ma non tramite l'API
Verifica che il Local Server utilizzi effettivamente la stessa configurazione della chat — esiste una pagina di impostazioni separata per il server, in cui MTP deve essere riattivato indipendentemente.
i
Quando mantenere MTP disattivato
Nel caso di un fine-tuning personalizzato in cui sospetti che le teste ausiliarie abbiano appreso male, di un modello di piccole dimensioni eseguito solo su CPU, o durante il debug quando vuoi ottenere l'output più deterministico possibile: disattivare il MTP è una decisione ragionevole.

#Per approfondire

Il MTP è una delle leve per migliorare le prestazioni che funzionano davvero in locale. Alcune idee complementari per andare oltre:

Iniziare con LM Studio
Se arrivi qui senza aver installato LM Studio, la guida introduttiva copre le basi prima di passare alle impostazioni avanzate.
Trasformare LM Studio in un server API
Per esporre un endpoint compatibile con OpenAI e beneficiare del MTP su tutti i tuoi client (Continue.dev, Aider, script Python).
Plugin LM Studio: quali installare e come
Al di là del MTP, l'ecosistema dei plugin e gli SDK lmstudio-js/python aprono altre possibilità.
Questa guida ti è stata utile?

Un feedback, un errore, una precisazione? Facci sapere, così la guida migliora per tutti.