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 2-4B sortis en 2026, c'est devenu un vrai usage. Ce guide installe Ollama sur Raspberry Pi, mesure les tokens/sec sur Qwen 3.5 2B, Granite 4.2 3B et Qwen 3.5 4B, et montre les cas où un LLM embarqué a du sens.

Par Mohamed Meguedmi·Màj 2026-08-27·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 2-4B quantizé Q4 = un assistant local qui répond en 2 à 4 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 Qwen 3.5 2B mais cale au-delà. La 8 Go est le minimum confortable. La 16 Go (sortie fin 2024) ouvre la porte à Qwen 3.5 4B 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 Qwen 3.5 4B 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 août 2026 :

Qwen 3.5 2B (Alibaba, Apache 2.0)
Le champion du rapport perf/RAM. 1.9 Go en Q4_K_M, multimodal, 256k de contexte, excellent en chat court et en français. Idéal pour assistant simple ou commande vocale.
Granite 4.2 3B (IBM, Apache 2.0)
Très sobre et token-efficient. 2.2 Go en Q4_K_M. Un cran de qualité au-dessus sur le raisonnement, taillé pour tourner H24 sans saturer la RAM. Solide en multilingue.
Qwen 3.5 4B (Alibaba, Apache 2.0)
Le nouveau « petit modèle par défaut » et le plus capable des trois. 3.4 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 qwen3.5:2b
ollama pull granite4.2:3b
ollama pull qwen3.5:4b
i
Pourquoi pas gpt-oss 20B ou Mistral Small 24B ?
Ces modèles pèsent ~14 Go en Q4, ils ne rentrent pas dans les 6.5 Go réellement utiles d'une Pi 5 8 Go. Même une Pi 16 Go les ferait swapper à 0.3-0.5 tok/s — inutilisable. Restez sous 4B sur Pi ; ces modèles-là veulent un Mac ou un GPU.

#3. Benchmarks tokens/sec (ordres de grandeur)

Ordres de grandeur relevés sur Raspberry Pi 5 8 Go, refroidisseur actif officiel, SSD NVMe via HAT M.2, Pi OS Bookworm 64-bit, Ollama récent, quantization Q4_K_M, prompt de génération de 200 tokens. Les chiffres varient selon la version d'Ollama et la thermique — comptez-les comme des ordres de grandeur, pas des valeurs absolues.

Qwen 3.5 2B Q4_K_M
≈ 4.4 tokens/sec génération · 6.6 tok/s prompt eval · 1.9 Go RAM · 9.6 W
Granite 4.2 3B Q4_K_M
≈ 3.4 tokens/sec génération · 5.1 tok/s prompt eval · 2.2 Go RAM · 10.2 W
Qwen 3.5 4B Q4_K_M
≈ 2.3 tokens/sec génération · 3.6 tok/s prompt eval · 3.4 Go RAM · 11.2 W
Gemma 4 E2B (référence multimodale)
≈ 3.9 tokens/sec · 4.3 Go RAM · 10.4 W. MoE rapide mais plus gourmand en RAM.
Granite 4.2 3B Q3_K_S (variante économe)
≈ 3.6 tokens/sec · 1.7 Go RAM · 9.9 W. Le plus léger du lot, idéal si la RAM est comptée (Pi 4 Go).
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 qwen3.5:2b --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 + Qwen 3.5 2B + 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 Qwen 3.5 4B, 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 (modèles à chaîne de pensée comme Qwen 3.8 27B) — 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.

#Descendre d'un cran si la RAM manque

Sur Pi 5 8 Go avec interface graphique active, Qwen 3.5 4B en Q4_K_M peut commencer à swapper. Deux options : descendre à Granite 4.2 3B (2.2 Go) ou Qwen 3.5 2B (1.9 Go), qui libèrent 1 à 1.5 Go de RAM sans effondrer la qualité.

Modèle plus léger
ollama pull granite4.2:3b
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 2B au 4B 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 à Granite 4.2 3B ou Qwen 3.5 2B, 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 Qwen 3.5 2B, le plus léger du catalogue 2026.
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.