Intermédiaire 15 minEdge

LLM sur Raspberry Pi 5 : IA locale embarquée

Faire tourner un LLM sur Raspberry Pi sonnait comme une blague il y a deux ans. Avec la Pi 5 8 Go, son SoC BCM2712 quad-core Cortex-A76 à 2.4 GHz, et la vague des petits modèles 1-3B sortis en 2025-2026, c'est devenu un vrai usage. Ce guide installe Ollama sur Raspberry Pi, mesure les tokens/sec sur SmolLM2, Qwen3 1.7B et Phi-3.5 Mini, et montre les cas où un LLM embarqué a du sens.

Par Mohamed Meguedmi·Màj 2026-05-21·Testé sur Windows, macOS, Linux

#Pourquoi un LLM sur Raspberry Pi ?

Un Raspberry Pi 5 ne va pas remplacer votre RTX 4090. Le but n'est pas la vitesse brute, mais l'embarqué : une carte à 80 € qui consomme 5-12 W, tient dans un boîtier de la taille d'une carte de crédit, et tourne H24 sans bruit. Pour des cas d'usage edge — assistant vocal local, station météo intelligente, kiosque offline, robot mobile — c'est suffisant et incomparablement moins cher qu'un mini-PC.

L'autre intérêt : la confidentialité absolue. Aucune donnée ne quitte le réseau local. Vous pouvez monter un assistant familial dans une chambre d'enfant sans Cloud, sans télémétrie, sans abonnement.

i
En deux mots
Pi 5 + Ollama + un modèle 1-3B quantizé Q4 = un assistant local qui répond en 2 à 5 tokens/seconde. Lent, mais autonome, silencieux, et à un coût matériel marginal.

#Prérequis matériel

Raspberry Pi 5 (8 Go obligatoire)
La version 4 Go peut faire tourner SmolLM2 mais cale dès 1.7B. La 8 Go est le minimum confortable. La 16 Go (sortie fin 2024) ouvre la porte à Phi-3.5 Mini sans swap.
Carte microSD A2 ou SSD NVMe
Une SD A1 ralentit énormément le chargement initial du modèle. Idéalement, SSD NVMe via le HAT M.2 officiel — bande passante 500+ Mo/s, chargement Phi-3.5 Mini en 4 s contre 30 s en SD.
Alimentation 27 W officielle
La Pi 5 sous inférence tire 9-12 W. L'alim officielle USB-C 5 V/5 A est obligatoire pour éviter le throttling. Une alim 15 W générique sous-volte la carte.
Refroidissement actif
Indispensable. Le SoC throttle dès 80 °C. Le ventilateur officiel (5 €) ou un boîtier Argon ONE V3 suffit. Sans dissipateur, vous perdez 30-40 % de débit après 2 minutes d'inférence.
Pi OS 64-bit (Bookworm)
Raspberry Pi OS 64-bit basé sur Debian 12. Ollama ne supporte pas le 32-bit. Vérifiez avec uname -m → doit retourner aarch64.
!
Pas de GPU exploitable
Le VideoCore VII de la Pi 5 n'a pas de support officiel pour l'inférence LLM (pas de backend Vulkan stable, pas de drivers ML matures). Tout tourne sur les 4 cœurs CPU ARM. C'est la principale limite.

#1. Installer Ollama sur Pi 5

Ollama supporte officiellement linux/arm64 depuis 2024. Le script d'installation universel fonctionne directement sur Pi OS, aucune compilation manuelle nécessaire.

Installation Ollama (1 ligne)
curl -fsSL https://ollama.com/install.sh | sh

Le script télécharge le binaire ARM64 (~150 Mo), installe un service systemd, et démarre le daemon sur le port 11434. Comptez 1 à 2 minutes.

Vérifier que le service tourne
systemctl status ollama
ollama --version
Accès depuis le réseau local
Par défaut Ollama écoute sur 127.0.0.1:11434. Pour l'utiliser depuis un autre appareil du LAN (téléphone, laptop), éditez /etc/systemd/system/ollama.service et ajoutez Environment="OLLAMA_HOST=0.0.0.0:11434". Puis sudo systemctl daemon-reload && sudo systemctl restart ollama.

#2. Modèles recommandés pour Raspberry Pi

Sur Pi 5 8 Go, vous avez environ 6.5 Go de RAM réellement utilisable (le système et son cache prennent le reste). Tout LLM dépassant 4-5 Go en quantization Q4 est inutilisable — il va swapper sur la microSD et tomber à 0.1 tok/s.

Trois modèles donnent les meilleurs résultats sur Pi 5 en mai 2026 :

SmolLM2 1.7B (HuggingFace, Apache 2.0)
Le champion du rapport perf/RAM. 1.0 Go en Q4_K_M, multilingue, bon en chat court. Idéal pour assistant simple ou commande vocale.
Qwen3 1.7B (Alibaba, Apache 2.0)
Successeur Qwen2.5, sorti début 2026. 1.1 Go en Q4_K_M. Meilleure qualité que SmolLM2 sur le raisonnement, légèrement plus lent. Excellent en français.
Phi-3.5 Mini 3.8B (Microsoft, MIT)
Le plus capable des trois mais le plus exigeant. 2.3 Go en Q4_K_M. Tient en RAM sur Pi 5 8 Go, mais laissez peu de marge — pas d'interface graphique lourde en parallèle.
Télécharger les trois modèles
ollama pull smollm2:1.7b
ollama pull qwen3:1.7b
ollama pull phi3.5:3.8b
i
Pourquoi pas Mistral 7B ou Llama 3.1 8B ?
Un 7B en Q4 pèse ~4.5 Go en RAM. Ça rentre techniquement sur Pi 5 8 Go, mais le débit tombe à 0.5-0.8 tok/s — inutilisable. Restez sous 3B sur Pi.

#3. Benchmarks tokens/sec mesurés

Mesures effectuées sur Raspberry Pi 5 8 Go, refroidisseur actif officiel, SSD NVMe via HAT M.2, Pi OS Bookworm 64-bit, Ollama 0.5.x, quantization Q4_K_M, prompt de génération de 200 tokens.

SmolLM2 1.7B Q4_K_M
≈ 5.2 tokens/sec génération · 7.8 tok/s prompt eval · 1.0 Go RAM · 9.4 W
Qwen3 1.7B Q4_K_M
≈ 4.6 tokens/sec génération · 6.9 tok/s prompt eval · 1.1 Go RAM · 9.8 W
Phi-3.5 Mini 3.8B Q4_K_M
≈ 2.1 tokens/sec génération · 3.4 tok/s prompt eval · 2.3 Go RAM · 11.2 W
Gemma 3 2B Q4_K_M (référence)
≈ 3.8 tokens/sec · 1.5 Go RAM · 10.1 W
Llama 3.2 1B Q4_K_M (très léger)
≈ 8.1 tokens/sec · 0.7 Go RAM · 8.9 W. Le plus rapide mais qualité limitée.
Lire ces chiffres
À 5 tok/s, une réponse de 80 mots arrive en 20-25 secondes. C'est plus lent qu'un assistant cloud mais largement assez pour des cas non interactifs (notifications, résumés batch, contrôle vocal asynchrone).
Reproduire ces benchmarks chez vous
ollama run smollm2:1.7b --verbose "Explique en 100 mots ce qu'est un Raspberry Pi."

Le flag --verbose affiche en fin de génération : eval rate (tok/s), prompt eval rate, total duration. C'est la mesure officielle pour comparer.

#4. Cas d'usage offline pertinents

À 2-5 tok/s, l'inférence Pi ne vise pas le chat temps réel. Les cas où ça brille sont ceux où la latence n'est pas critique, ou bien où la confidentialité et l'autonomie comptent plus que la vitesse.

Assistant vocal local
Pi 5 + microphone USB + Whisper.cpp tiny + SmolLM2 + Piper TTS. Question → transcription → réponse → voix synthétisée, le tout en 8-12 s sans Cloud. Domotique offline, kiosque enfant, robot éducatif.
Résumé d'emails ou de news en batch
Cron job qui chaque heure pull les RSS, résume avec Phi-3.5 Mini, et envoie sur Telegram/Matrix. Le délai d'inférence est invisible quand c'est asynchrone.
Classification de logs ou tickets
Pi en bord de réseau qui tag les logs entrants ('erreur critique', 'spam', 'normal') avant les envoyer à un serveur central. Économise la bande passante WAN.
Démo embarquée / portable
Présentation client, atelier scolaire, conférence : Pi 5 dans la poche, batterie USB-C, démo IA locale 100 % autonome.
Garde-fou pour autres LLM
Petit modèle local qui filtre/reformule un prompt avant de l'envoyer à un LLM cloud. Utile pour anonymiser des données sensibles côté edge.
!
Cas où la Pi ne suffit pas
RAG sur >50 documents, génération de code longue, agents avec tool calling complexe, raisonnement étape par étape (chaînes de pensée DeepSeek/R1) — sur ces cas, prenez plutôt un Mac mini M4 ou un mini-PC GMKtec/Beelink. Le rapport perf/€ y est bien meilleur.

#5. Optimisations spécifiques Pi

#Réduire la fenêtre de contexte

Par défaut Ollama utilise num_ctx=2048. Sur Pi, c'est déjà beaucoup — chaque token de contexte consomme de la RAM et ralentit la pré-évaluation. Pour un assistant chat court, descendez à 1024.

Au runtime dans la session
/set parameter num_ctx 1024

#Limiter les threads

Ollama utilise par défaut tous les cœurs. Sur Pi 5 (4 cœurs), c'est optimal pour la vitesse pure mais sature le SoC, ce qui déclenche le throttling thermique au bout de 1-2 minutes. Sur usage long, limiter à 3 cœurs maintient un débit stable plus longtemps.

Limiter les threads via env
OLLAMA_NUM_PARALLEL=1 OLLAMA_NUM_THREAD=3 ollama serve

#Préférer le NVMe à la microSD

Le chargement initial d'un modèle depuis SD lit séquentiellement plusieurs Go. SD A1 → 30-40 s pour Phi-3.5 Mini. NVMe → 3-5 s. Une fois en RAM, l'inférence est identique.

#Quantization plus agressive si besoin

Sur Pi 5 8 Go avec interface graphique active, Phi-3.5 Mini Q4_K_M peut commencer à swapper. La variante Q3_K_S (~1.9 Go) sacrifie ~5 % de qualité contre 400 Mo de RAM en moins.

Variante Q3 plus légère
ollama pull phi3.5:3.8b-mini-instruct-q3_K_S
Mode headless recommandé
Si vous montez la Pi en serveur dédié inférence, désactivez le bureau LXDE : sudo raspi-config → Boot Options → Console. Vous récupérez 300-500 Mo de RAM, soit la place pour passer du 1.7B au 3B confortablement.

#Dépannage

ollama: command not found après install
Le script systemd a échoué (souvent : Pi OS trop vieux). Vérifiez sudo systemctl status ollama. Si erreur 'exec format error', vous êtes en 32-bit — réinstallez Pi OS 64-bit.
Le modèle se charge mais 0.3 tok/s
Vous swappez. Vérifiez free -h : si la colonne 'available' est sous 500 Mo pendant l'inférence, votre modèle est trop gros. Descendez à un 1.7B ou passez en Q3.
Throttling thermique après 1 minute
Le SoC a dépassé 80 °C. Vérifiez vcgencmd measure_temp pendant inférence. Solution : ventilateur officiel ou Argon ONE V3. Sans dissipation active, la Pi 5 sous inférence n'est pas utilisable en continu.
Out of memory à mi-génération
OOM killer Linux a tué Ollama. Réduisez num_ctx à 1024, fermez le navigateur, ou passez à un modèle plus petit. Sur Pi 4 Go, restez sur Llama 3.2 1B ou SmolLM2 360M.
Service Ollama ne démarre pas au boot
sudo systemctl enable ollama pour activer l'autostart. Vérifiez ensuite avec systemctl is-enabled ollama.

#Pour aller plus loin

Une fois Ollama qui tourne sur votre Pi 5, trois directions naturelles pour creuser :

Comprendre la quantization pour pousser plus loin
Le guide choisir sa quantification compare Q3, Q4, Q5 et Q8 en détail. Critique sur Pi où chaque 100 Mo de RAM compte.
Intégrer dans une app Python
Le guide intégrer Ollama dans Python via l'API REST montre comment piloter votre Pi 5 depuis un script Flask/FastAPI — base de tout assistant edge.
Automatiser des workflows offline
Le guide automatiser avec n8n et Ollama est applicable tel quel sur Pi (n8n tourne nativement en ARM64). Idéal pour un hub domotique IA autonome.
Ce guide vous a aidé ?

Un retour, une erreur, une précision ? Faites-nous signe, ça améliore le guide pour tout le monde.