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 →
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.
#Benchmark M5 e M5 Max: i numeri del 2026
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.
- 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.
#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.
#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.
#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.
- 011. Aggiornare lo strumentoInstalla la versione più recente di Ollama (giugno 2026 o successiva) o di LM Studio. Questo è il prerequisito per usufruire del percorso di esecuzione MLX.
- 022. Scegliere un modello con una versione MLXSu 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.
- 033. Avviare e verificare il throughputPoni 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.
- 044. Regolare la quantizzazione se necessarioSe 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.
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:
#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.
#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.
Un feedback, un errore, una precisazione? Facci sapere, così la guida migliora per tutti.