Intermedio 11 minApple

LLM locale su Mac M5: MLX supera ormai nettamente llama.cpp (dati 2026)

Su Mac M5, il dibattito tra MLX e llama.cpp è risolto: a parità di modello e quantizzazione, il framework di Apple produce ormai dal 30 al 40 % di token al secondo in più. Questa guida quantifica il divario su M5 e M5 Max, spiega il nuovo motore MLX di Ollama arrivato a giugno 2026 e mostra fin dove ci si può spingere, anche collegando due macchine tramite Thunderbolt 5 per far girare modelli da 120B+. È il complemento per M5 della guida MacBook Pro M4 Max: stessi principi, dati aggiornati.

Stai scegliendo un computer? Le nostre scelte per budget →

Di Mohamed Meguedmi·Agg. 2026-08-30·Testato su macOS 14+
Hardware consigliato

Per questa configurazione: Mac mini M5 Pro (24 GB / 512 GB).

Perché questa scelta? La nostra scheda completa su Mac mini M5 Pro (24 GB / 512 GB) →

Confronta tutte le opzioni per budget, da 800 a 3 500 € →

In mobilità: quale portatile per l'IA locale →

Link affiliati — possibile commissione senza costi aggiuntivi per te. In qualità di Partner Amazon, QuelLLM ottiene un guadagno dagli acquisti che soddisfano i requisiti.

#Perché il M5 cambia le cose per un LLM locale su Mac

Il chip M5 introduce due elementi che contano davvero per l'inferenza: core GPU con unità di moltiplicazione matriciale (Neural Accelerators) integrate in ogni core e una maggiore larghezza di banda della memoria. L'inferenza di un LLM è infatti prima di tutto un problema di larghezza di banda della memoria — ogni token generato comporta la rilettura di tutti i pesi del modello. Più la memoria unificata è veloce, più rapidamente vengono generati i token.

È proprio qui che il framework MLX di Apple prende il vantaggio su llama.cpp. MLX è scritto per sfruttare direttamente queste nuove unità matriciali della GPU M5, mentre il percorso Metal di llama.cpp rimane più generico. Risultato concreto: a parità di macchina, modello e quantizzazione, MLX genera nettamente più token al secondo. Il divario, marginale su M3, diventa netto su M5.

i
Questa guida integra, non sostituisce
Se usi un MacBook Pro M4 / M4 Max, la guida dedicata resta il riferimento. Qui ci concentriamo su ciò che cambia con il M5: i nuovi dati, il motore MLX di Ollama e i cluster Thunderbolt 5. I fondamentali (memoria unificata, scelta della quantizzazione) sono identici da una generazione all'altra.

#Benchmark M5 e M5 Max: i numeri del 2026

Il kit Mac

L'IA locale sul tuo Mac, al massimo: memoria unificata, MLX vs GGUF, il modello giusto per il tuo chip, Ollama e LM Studio configurati per Apple Silicon.

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

Ecco alcuni ordini di grandezza misurati durante la generazione (decode) con MLX, su modelli comuni quantizzati a 4 bit. Come sempre nell'inferenza locale, queste velocità di generazione variano in base alla lunghezza del contesto, alla versione esatta del modello e alla temperatura della macchina: considerale indicazioni di massima, non garanzie precise al singolo token.

→
Misurazioni reali su un M5 Max da 128 GB
Da settembre 2026 pubblichiamo un benchmark completo realizzato su un MacBook Pro M5 Max con GPU a 40 core e 128 GB: sei modelli, MLX contro GGUF sullo stesso Qwen 3.8 27B, gpt-oss 120B e un prefill misurato su un documento di 11.280 parole. Gli ordini di grandezza riportati di seguito restano quelli originali; i dati misurati sono nella guida dedicata.
M5 (GPU a 10 core) — 8B Q4
~55-70 token/s in generazione. Un modello 8B (Qwen 3.5, Granite 4.2, Gemma 4) resta molto agevole da usare sul chip di base.
M5 Max — 8B Q4
~230 token/s. La maggiore larghezza di banda della memoria del Max fa la differenza sui modelli piccoli, dove la GPU non è mai il collo di bottiglia.
M5 Max — 32B Q4
~55-65 token/s. Un 32B (Qwen 3.8 27B, Devstral) funziona a una velocità che consente una lettura agevole ed è ampiamente utilizzabile in modalità interattiva.
M5 Max — 70B Q4
~28 token/s. Un 70B in Q4 entra in memoria già con 48-64 GB di RAM unificata e resta fluido per chat e generazione di codice.

Il dato più notevole è il modello 70B a ~28 token/s su una macchina senza scheda grafica dedicata, silenziosa e che sta in una borsa. Per confronto, sul versante PC serve una RTX 4090 da 24 GB (con offload parziale sulla CPU, perché un 70B Q4 occupa ~40 GB e non entra nei 24 GB di VRAM) per competere — con molto più rumore e consumo energetico.

→
La RAM unificata è la tua VRAM
Su Mac non c'è VRAM separata: il modello viene caricato nella memoria unificata condivisa con il sistema. Valori indicativi in Q4 per dimensione del modello: 8B≈5 GB, 32B≈19 GB, 70B≈40 GB. Prevedi sempre circa il 20% di margine in più per il contesto e macOS. Un modello 70B in Q4 richiede quindi almeno 48 GB, 64 GB per avere un buon margine.

#MLX vs llama.cpp: dove si amplia il divario

Il divario dal 30 al 40% a favore di MLX non è uniforme: dipende dal profilo del carico. Capire dove si amplia aiuta a sapere quando passare a MLX vale davvero la pena.

Generazione (decodifica)
È qui che MLX domina più nettamente su M5, grazie all'uso diretto delle unità matriciali della GPU. In una chat interattiva, è questa la differenza che percepisci.
Elaborazione del prompt (prefill)
MLX mantiene il vantaggio, ma il divario è un po' più ridotto. Con contesti molto lunghi, entrambi i motori sono limitati dalla memoria.
Supporto dei modelli
llama.cpp rimane più universale attraverso il formato GGUF; MLX richiede una versione convertita nel formato MLX. Per i modelli popolari, la conversione esiste quasi sempre (hub mlx-community su Hugging Face)
Integrazione Python
MLX è nativo Python, il che lo rende la scelta ovvia per il prototipaggio, il fine-tuning leggero o una pipeline personalizzata. llama.cpp passa attraverso binding.
!
MLX non è magico dal punto di vista della memoria
MLX accelera l'inferenza, non riduce la dimensione del modello in memoria. Un modello che non entra nella tua RAM unificata non entrerà di più con MLX. La scelta della quantizzazione (Q4_K_M di default) rimane il fattore n°1 per stare nel tuo budget di memoria.

#Prerequisiti e RAM consigliata per modello

Prima di installare, adegua le dimensioni del modello alla memoria unificata disponibile. Ecco le fasce realistiche su M5 e M5 Max, in Q4.

16 GB (M5)
I modelli da 3B a 8B in Q4 funzionano senza difficoltà. Un 14B ci sta, ma lascia poco margine per un contesto ampio.
24-32 GB (M5 / M5 Pro)
Un 14B gira senza difficoltà; un 32B Q4 è utilizzabile all'estremità superiore della fascia. Il punto di equilibrio ideale per un uso quotidiano versatile.
48 GB (M5 Max)
Un 32B Q4 ci sta comodamente, un 70B Q4 appena — meglio puntare a 64 GB per un 70B con contesto.
64-128 GB (M5 Max)
Un 70B Q4 fluido con un contesto ampio, oppure diversi modelli caricati in parallelo. Una configurazione per utenti esperti.

Dal punto di vista software, hai bisogno di macOS aggiornato e di uno dei due modi per accedere a MLX: LM Studio (che passa automaticamente a MLX quando è disponibile una versione MLX del modello) oppure Ollama a partire dall'aggiornamento di giugno 2026, descritto in dettaglio subito dopo.

#Il motore MLX di Ollama (giugno 2026)

Storicamente, Ollama si basava sul proprio motore e su llama.cpp, quindi utilizzava Metal su Mac. Dall'aggiornamento di giugno 2026, Ollama è in grado di eseguire i modelli tramite MLX su Apple Silicon quando è disponibile una versione MLX — il che porta finalmente lo strumento più utilizzato per l'IA locale al livello delle prestazioni che LM Studio offriva già tramite MLX.

In pratica, significa che ottieni il vantaggio di MLX senza cambiare abitudini: stesso demone Ollama sulla porta 11434 per impostazione predefinita, stessi comandi, stessa API compatibile con OpenAI. Il motore sceglie MLX quando è opportuno e altrimenti torna al percorso classico.

i
Verifica la tua versione di Ollama
Il supporto MLX richiede una versione di Ollama di giugno 2026 o successiva. Aggiorna prima di confrontare le velocità di generazione, altrimenti misurerai ancora il vecchio percorso Metal e concluderai erroneamente che «MLX non cambia niente».

#Installare e avviare un modello con MLX

Due opzioni in base alla tua dimestichezza con il terminale. La più diretta per provare MLX senza configurazione è LM Studio; la più facile da integrare in uno stack è Ollama.

  1. 01
    1. Aggiornare lo strumento
    Installa la versione più recente di Ollama (giugno 2026 o successiva) o di LM Studio. Questo è il prerequisito per usufruire del percorso di esecuzione MLX.
  2. 02
    2. Scegliere un modello con una versione MLX
    Su LM Studio, la ricerca propone in via prioritaria le varianti MLX su Apple Silicon. Su Ollama, scarica un modello comune: il motore passa a MLX quando esiste una versione convertita.
  3. 03
    3. Avviare e verificare il throughput
    Poni una domanda lunga e osserva i token/s visualizzati. Eventualmente, fai un confronto con lo stesso modello in GGUF per misurare la differenza reale sulla tua macchina.
  4. 04
    4. Regolare la quantizzazione se necessario
    Se il modello satura la tua memoria unificata, scendi di un livello (Q5 → Q4_K_M) piuttosto che cambiare strumento: è la memoria che limita, non il motore.
Terminale
# Vérifier la version d'Ollama (le support MLX date de juin 2026)
ollama --version

# Lancer un modèle : Ollama emprunte MLX quand une version MLX existe
ollama run qwen3:8b

# Le daemon expose l'API compatible OpenAI sur le port par défaut
curl http://localhost:11434/api/tags

Sul versante Python, MLX si presta direttamente allo scripting, il che è utile per eseguire benchmark o integrare l'inferenza in una pipeline sviluppata in proprio:

Terminale
# Installer les outils MLX pour LLM (framework Apple, natif Python)
pip install mlx-lm

# Générer avec un modèle converti au format MLX (hub mlx-community)
mlx_lm.generate --model mlx-community/Qwen3-8B-4bit \
  --prompt "Explique la mémoire unifiée du M5 en trois phrases"

#Cluster Thunderbolt 5 per i modelli 120B+

Un singolo Mac, anche un M5 Max con molta memoria, è limitato dalla propria memoria unificata. Per superare questo limite — eseguire un modello da 120B+ o un grande MoE — l'approccio del 2026 consiste nel collegare più macchine Apple Silicon tramite Thunderbolt 5 e distribuire il modello tra di esse. Thunderbolt 5 offre una banda passante nettamente superiore a Thunderbolt 4, rendendo finalmente praticabile lo scambio di attivazioni tra nodi per l'inferenza.

Il principio: il modello viene suddiviso in gruppi di layer, ogni macchina ospita una parte dei pesi in memoria e le attivazioni passano da un nodo al successivo a ogni token. Si somma così la memoria unificata di più Mac per caricare un modello che non entrerebbe nella memoria di nessuno di essi preso singolarmente.

Cosa rende possibile
Modelli 120B+ in Q4, o persino MoE molto grandi, combinando ad esempio due M5 Max da 128 GB per avvicinarsi a 256 GB di memoria indirizzabile.
Il compromesso
La latenza tra i nodi riduce i token/s: un cluster è più lento di una singola macchina che potrebbe contenere lo stesso modello in memoria. Si ricorre a un cluster perché nessuna macchina da sola basta, non per guadagnare velocità.
Il collegamento
Thunderbolt 5 è la chiave: la sua banda passante rende il trasferimento delle attivazioni accettabile. Con Thunderbolt 4 o Ethernet, l'interconnessione torna a essere il collo di bottiglia.
!
L'uso di un cluster resta di nicchia
Collegare più Mac per un modello da 120B o più è impressionante, ma va riservato a un'esigenza reale: la complessità, il costo di due macchine e la riduzione della velocità di generazione si giustificano solo se non puoi semplicemente scegliere un modello più piccolo o un Mac Studio Ultra con molta memoria. Per la maggior parte degli usi, un solo M5 Max è più che sufficiente.

#Suggerimenti e risoluzione dei problemi

« MLX non va più veloce »
Verifica innanzitutto che tu stia effettivamente usando il percorso MLX (versione dello strumento aggiornata, variante MLX del modello effettivamente caricata). Un GGUF caricato tramite il percorso Metal non beneficia di MLX.
Velocità di generazione che crolla dopo pochi minuti
Si tratta di throttling termico, soprattutto su MacBook Air (senza ventola). Sotto un carico prolungato, un MacBook Pro o un Mac mini/Studio mantiene una velocità di generazione più stabile.
Modello che rifiuta di caricarsi
La memoria unificata è satura. Passa a un modello di taglia inferiore o scendi di un livello di quantizzazione; chiudi le applicazioni che consumano molta RAM.
Contesto lungo che rallenta l'esecuzione
Il prefill di un prompt molto lungo richiede molta memoria. Riduci la finestra di contesto se non ne hai bisogno, oppure accetta un'attesa più lunga per il primo token.

#Per approfondire

Queste guide approfondiscono naturalmente ciò che hai appena letto, dal confronto approfondito alla messa in pratica:

MLX vs llama.cpp in dettaglio
«MLX vs llama.cpp sui Mac della serie M: chi vince nel 2026?» approfondisce il confronto (supporto dei modelli, quantizzazione, integrazione Python) andando oltre i soli dati dell'M5.
Installare Ollama su macOS
« Installare Ollama su macOS (Apple Silicon) » copre passo dopo passo l'installazione e l'utilizzo della memoria unificata, base indispensabile prima di affrontare MLX.
Scegliere la quantizzazione
« Scegliere la quantizzazione (Q4, Q5, Q8, FP16) » spiega il compromesso tra qualità e memoria: la vera leva per far rientrare un modello nella tua RAM unificata.
Questa guida ti è stata utile?

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