LLM su Raspberry Pi 5: IA locale integrata
Eseguire un LLM su Raspberry Pi sembrava una barzelletta due anni fa. Con la Pi 5 da 8 GB, il suo SoC BCM2712 quad-core Cortex-A76 a 2,4 GHz e l'ondata di piccoli modelli 2-4B usciti nel 2026, è diventato un impiego concreto. Questa guida mostra come installare Ollama su Raspberry Pi, misura i token/sec su Qwen 3.5 2B, Granite 4.2 3B e Qwen 3.5 4B e illustra i casi in cui un LLM embedded ha senso.
#Perché un LLM su Raspberry Pi?
Un Raspberry Pi 5 non sostituirà la tua RTX 4090. L'obiettivo non è la velocità pura, ma l'uso in sistemi embedded: una scheda da 80 € che consuma 5-12 W, sta in un case delle dimensioni di una carta di credito e funziona 24 ore su 24 in silenzio. Per casi d'uso edge — assistente vocale locale, stazione meteo intelligente, chiosco offline, robot mobile — è sufficiente e incomparabilmente più economico di un mini-PC.
L'altro vantaggio: la privacy assoluta. Nessun dato lascia la rete locale. Puoi allestire un assistente familiare nella cameretta di un bambino, senza cloud, senza telemetria, senza abbonamento.
#Requisiti hardware
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
- Raspberry Pi 5 (8 GB obbligatori)
- La versione da 4 GB può eseguire Qwen 3.5 2B, ma non riesce a gestire modelli più grandi. Quella da 8 GB è il minimo per un utilizzo agevole. Quella da 16 GB (uscita a fine 2024) permette di eseguire Qwen 3.5 4B senza swap.
- Scheda microSD A2 o SSD NVMe
- Una SD A1 rallenta enormemente il caricamento iniziale del modello. Idealmente, un SSD NVMe tramite l'HAT M.2 ufficiale — larghezza di banda di oltre 500 MB/s, caricamento di Qwen 3.5 4B in 4 s contro 30 s su SD.
- Alimentatore ufficiale da 27 W
- La Pi 5 durante l'inferenza consuma 9-12 W. L'alimentatore ufficiale USB-C da 5 V/5 A è obbligatorio per evitare il throttling. Un alimentatore generico da 15 W fornisce alla scheda una tensione insufficiente.
- Raffreddamento attivo
- Indispensabile. Il SoC va in thermal throttling già a 80 °C. La ventola ufficiale (5 €) o un case Argon ONE V3 bastano. Senza dissipatore, perdi il 30-40 % della velocità dopo 2 minuti di inferenza.
- Pi OS 64-bit (Bookworm)
- Raspberry Pi OS a 64 bit basato su Debian 12. Ollama non supporta il 32 bit. Verifica con uname -m → deve restituire aarch64.
#1. Installare Ollama sul Pi 5
Ollama supporta ufficialmente linux/arm64 dal 2024. Lo script di installazione universale funziona direttamente su Pi OS, senza bisogno di compilazione manuale.
Lo script scarica il binario ARM64 (~150 MB), installa un servizio systemd e avvia il daemon sulla porta 11434. Calcola da 1 a 2 minuti.
#2. Modelli consigliati per Raspberry Pi
Sul Pi 5 da 8 GB hai circa 6,5 GB di RAM realmente utilizzabile (il sistema e la sua cache occupano il resto). Qualsiasi LLM che superi i 4-5 GB con quantizzazione Q4 è inutilizzabile: userà lo swap sulla microSD e scenderà a 0,1 tok/s.
Tre modelli offrono i migliori risultati su Pi 5 nell'agosto 2026:
- Qwen 3.5 2B (Alibaba, Apache 2.0)
- Il modello con il migliore rapporto tra prestazioni e RAM. 1,9 GB in Q4_K_M, multimodale, 256k di contesto, eccellente nelle chat brevi e in francese. Ideale per un assistente semplice o per comandi vocali.
- Granite 4.2 3B (IBM, Apache 2.0)
- Molto sobrio e token-efficient. 2,2 GB in Q4_K_M. Un gradino di qualità in più nel ragionamento, pensato per girare H24 senza saturare la RAM. Solido nel multilingue.
- Qwen 3.5 4B (Alibaba, Apache 2.0)
- Il nuovo «piccolo modello predefinito» e il più potente dei tre. 3,4 GB in Q4_K_M. Funziona in RAM su Pi 5 con 8 GB, ma lascia poco margine — non usare interfacce grafiche pesanti in parallelo.
#3. Benchmark tokens/sec (ordini di grandezza)
Ordini di grandezza rilevati su Raspberry Pi 5 8 GB, dissipatore attivo ufficiale, SSD NVMe tramite HAT M.2, Pi OS Bookworm a 64 bit, versione recente di Ollama, quantizzazione Q4_K_M, prompt per la generazione di 200 token. I valori variano in base alla versione di Ollama e alle condizioni termiche: considerali come ordini di grandezza, non come valori assoluti.
- Qwen 3.5 2B Q4_K_M
- ≈ 4,4 token/sec generazione · 6,6 tok/s valutazione prompt · 1,9 GB RAM · 9,6 W
- Granite 4.2 3B Q4_K_M
- ≈ 3,4 token/sec generazione · 5,1 tok/s valutazione prompt · 2,2 GB RAM · 10,2 W
- Qwen 3.5 4B Q4_K_M
- ≈ 2,3 token/sec generazione · 3,6 tok/s valutazione prompt · 3,4 GB RAM · 11,2 W
- Gemma 4 E2B (riferimento multimodale)
- ≈ 3,9 token/sec · 4,3 GB RAM · 10,4 W. MoE veloce ma con un maggiore consumo di RAM.
- Granite 4.2 3B Q3_K_S (variante a basso consumo di risorse)
- ≈ 3,6 token/sec · 1,7 GB di RAM · 9,9 W. Il più leggero della serie, ideale se la RAM è limitata (Pi da 4 GB).
Il flag --verbose mostra alla fine della generazione: eval rate (tok/s), prompt eval rate, total duration. È la misura ufficiale per il confronto.
#4. Casi d'uso offline pertinenti
A 2-5 tok/s, l'inferenza su Pi non è pensata per la chat in tempo reale. I casi in cui funziona bene sono quelli in cui la latenza non è critica, oppure in cui la privacy e l'autonomia contano più della velocità.
- Assistente vocale locale
- Pi 5 + microfono USB + Whisper.cpp tiny + Qwen 3.5 2B + Piper TTS. Domanda → trascrizione → risposta → voce sintetizzata, tutto in 8-12 secondi senza Cloud. Domotica offline, kiosk per bambini, robot educativo.
- Riassunto di email o notizie in batch
- Un job cron che ogni ora recupera i feed RSS, li riassume con Qwen 3.5 4B e invia i riassunti su Telegram/Matrix. Il ritardo dovuto all'inferenza non si nota quando l'elaborazione è asincrona.
- Classificazione di log o ticket
- Pi ai margini della rete che etichetta i log in ingresso ('errore critico', 'spam', 'normale') prima di inviarli a un server centrale. Risparmia larghezza di banda WAN.
- Demo embedded / portatile
- Presentazione a un cliente, laboratorio scolastico, conferenza: Pi 5 in tasca, batteria USB-C, demo di IA locale autonoma al 100%.
- Sistema di protezione per altri LLM
- Piccolo modello locale che filtra o riformula un prompt prima di inviarlo a un LLM in cloud. Utile per anonimizzare dati sensibili all'edge.
#5. Ottimizzazioni specifiche per Pi
#Ridurre la finestra di contesto
Per impostazione predefinita Ollama utilizza num_ctx=2048. Su Pi, è già molto: ogni token di contesto consuma RAM e rallenta la valutazione preliminare. Per un assistente destinato a brevi chat, scendi a 1024.
#Limitare i thread
Ollama utilizza per impostazione predefinita tutti i core. Su Pi 5 (4 core), questa scelta è ottimale per la velocità pura ma satura il SoC, facendo scattare il throttling termico dopo 1-2 minuti. Nell'uso prolungato, limitarsi a 3 core mantiene un throughput stabile più a lungo.
#Preferire il NVMe piuttosto che la microSD
Il caricamento iniziale di un modello da una scheda SD comporta la lettura sequenziale di diversi GB. SD A1 → 30-40 secondi per Phi-3.5 Mini. NVMe → 3-5 secondi. Una volta in RAM, l'inferenza è identica.
#Scendere di un livello in caso di mancanza di RAM
Su Pi 5 8 GB con interfaccia grafica attiva, Qwen 3.5 4B in Q4_K_M può iniziare a usare lo swap. Due opzioni: passare a Granite 4.2 3B (2,2 GB) o Qwen 3.5 2B (1,9 GB), che liberano da 1 a 1,5 GB di RAM senza far crollare la qualità.
#Risoluzione dei problemi
- ollama: command not found dopo l'installazione
- Lo script systemd non è riuscito (spesso perché Pi OS è troppo vecchio). Controlla con sudo systemctl status ollama. Se compare l'errore 'exec format error', stai usando un sistema a 32 bit — reinstalla Pi OS a 64 bit.
- Il modello si carica ma a 0,3 tok/s
- Il sistema sta usando lo swap. Controlla free -h: se la colonna 'available' è sotto i 500 MB durante l'inferenza, il tuo modello è troppo grande. Passa a un modello più piccolo, Granite 4.2 3B o Qwen 3.5 2B, oppure passa a Q3.
- Throttling termico dopo 1 minuto
- Il SoC ha superato gli 80 °C. Controlla vcgencmd measure_temp durante l'inferenza. Soluzione: ventola ufficiale o Argon ONE V3. Senza dissipazione attiva, la Pi 5 non è utilizzabile in modo continuativo durante l'inferenza.
- Out of memory a metà generazione
- L'OOM killer di Linux ha terminato Ollama. Riduci num_ctx a 1024, chiudi il browser o passa a un modello più piccolo. Su un Pi con 4 GB di RAM, resta su Qwen 3.5 2B, il più leggero del catalogo 2026.
- Il servizio Ollama non si avvia all'avvio del sistema
- sudo systemctl enable ollama pour activer l'autostart. Vérifiez ensuite avec systemctl is-enabled ollama.
#Per approfondire
Una volta che Ollama è in esecuzione sul tuo Pi 5, ci sono tre percorsi naturali per approfondire:
- Capire la quantizzazione per andare oltre
- La guida alla scelta della quantizzazione confronta Q3, Q4, Q5 e Q8 in dettaglio. Una scelta cruciale su Pi, dove ogni 100 MB di RAM contano.
- Integrare in un'app Python
- La guida per integrare Ollama in Python tramite l'API REST mostra come controllare il tuo Pi 5 da uno script Flask/FastAPI — la base di ogni assistente edge.
- Automatizzare workflow offline
- Il tutorial per automatizzare con n8n e Ollama si applica direttamente su Pi (n8n funziona nativamente su ARM64). Ideale per un hub domotico IA autonomo.
Un feedback, un errore, una precisazione? Facci sapere, così la guida migliora per tutti.