Guide technique de configuration d'un poste de travail haute performance pour l'inférence IA locale, l'infogérance multi-clients et la stratégie de dispatch LLM hybride.
01 · Architecture matérielle
Chaque composant a été choisi pour servir un rôle précis dans une architecture IA locale — de la capacité VRAM pour faire tourner des modèles 30B+ jusqu'au volume de RAM système qui permet de faire coexister inférence GPU, machines virtuelles clientes et services d'infogérance.
Le 65W TDP est un avantage réel sur cette carte B650M — VRM adaptés, thermique maîtrisée, idéal pour un usage continu 24/7.
La bande passante mémoire est le facteur clé pour la vitesse de génération de tokens en LLM. 608 Go/s = 5× le Mac mini M4.
192 Go = VMs clientes isolées + Wazuh + services + modèles LLM CPU-side en parallèle, sans jamais swapper.
| Modèle | Quantisation | Taille mémoire | Mode | Tokens/s estimés |
|---|---|---|---|---|
| Llama 3.1 8B | Q4_K_M | ~5 Go | GPU pur | ~80–120 t/s |
| Qwen3 14B | Q4_K_M | ~9 Go | GPU pur | ~50–80 t/s |
| Qwen3 30B | Q4_K_M | ~18 Go | GPU pur | ~25–40 t/s |
| Llama 3.3 70B | Q4_K_M | ~43 Go | GPU+CPU hybride | ~8–15 t/s |
| Qwen3 72B | Q3_K_M | ~31 Go | GPU pur | ~12–20 t/s |
| DeepSeek R1 70B | Q2_K | ~28 Go | GPU pur | ~10–18 t/s (qualité dégradée) |
* Mode hybride via llama.cpp --n-gpu-layers : couches critiques en VRAM, reste en RAM DDR5. Vitesse réduite mais modèles >32 Go accessibles.
02 · Stratégie de stockage
L'architecture retenue sépare clairement le système (SATA, fiable, isolé), les données chaudes (RAID0 NVMe, performance maximale), et l'archivage/backup (HDD, haute capacité, endurance 24/7). Chaque niveau répond à une contrainte spécifique de la workstation IA + infogérance.
Disque dédié à Ubuntu 26.04. Isoler le système sur un disque SATA séparé est une décision d'architecture volontaire : si le RAID0 NVMe subit une défaillance, l'OS reste intact et opérationnel. Aucun service critique ne dépend de ce disque sauf le boot.
Le N300 est un disque NAS 24/7 avec 180 To/an de workload rating et vibration compensation — conçu exactement pour cet usage. Destination de backup du RAID0, bibliothèque de modèles froids, stockage DPO longue durée, et snapshots VM. C'est le filet de sécurité de toute la config.
Les deux slots M2A_CPU et M2B_CPU de la B650M DS3H sont CPU-direct — aucun uplink chipset entre les drives et le processeur. Cette topologie est exactement ce qu'il faut pour que le RAID0 atteigne ses vitesses théoriques. Le striping double la bande passante effective pour les lectures/écritures larges : modèles LLM (gros fichiers séquentiels), images de VMs, datasets de training. C'est le cœur de performance de la machine.
03 · Partitionnement
L'objectif est de protéger le système (A400) des données chaudes (RAID0), tout en évitant que des services comme Ollama ou Docker saturent le disque OS en écrivant dans /var par défaut.
| Point de montage | Taille | Système de fichiers | Rôle |
|---|---|---|---|
| /boot/efi | 512 Mo | FAT32 | Partition EFI — boot UEFI Ubuntu |
| /boot | 2 Go | ext4 | Noyaux Linux, initramfs, grub |
| / | ~253 Go | ext4 | Système Ubuntu, binaires, packages apt — pas de /home ni /var |
| Point de montage | Taille | Système de fichiers | Rôle |
|---|---|---|---|
| /home | 2 To | ext4 | Profil utilisateur, projets GiGaRuN, configurations, dépôts git |
| /var | 1 To | ext4 | Docker layers, Ollama /var/lib/ollama, logs applicatifs, bases de données |
| /data/models | 2 To | ext4 | Modèles LLM actifs (GGUF, safetensors) — bibliothèque chaude |
| /data/vms | 2 To | ext4 | Images libvirt/QEMU-KVM — VMs clientes isolées (Wazuh, Dolibarr, Windows) |
| /data/workspace | ~1 To | ext4 | Données de travail chaudes, cache inference, datasets temporaires |
| Point de montage | Taille | Système de fichiers | Rôle |
|---|---|---|---|
| /backup/raid0 | 8 To | ext4 | Sauvegarde nocturne du RAID0 — restic ou rsync incrémental |
| /backup/models-cold | 3 To | ext4 | Bibliothèque froide de modèles LLM — chargés sur demande vers /data/models |
| /backup/dpo | 1 To | ext4 | Logs, documents DPO longue durée, archives RGPD |
| /backup/snapshots | ~2 To | ext4 | Snapshots VM froids, images disque clientes, exports Dolibarr |
04 · Inférence IA locale
La combinaison Arc Pro B70 (32 Go VRAM / 608 Go/s) + 192 Go DDR5 + RAID0 14 750 Mo/s place cette machine dans une catégorie rare : capable de faire tourner des modèles 30B en temps réel et des 70B en mode hybride, sans aucun service cloud, sans latence réseau, sans données qui sortent du périmètre.
| Composant | Rôle | Raison du choix |
|---|---|---|
| Ollama | Serveur LLM local · API OpenAI-compatible | Interface unifiée, support llama.cpp backend, gestion automatique du VRAM, API REST localhost:11434 |
| llama.cpp | Backend inférence bas niveau | Support SYCL/OpenCL pour Arc B70 sous Linux, mode hybride GPU+CPU via --n-gpu-layers |
| OpenVINO | Optimisation Intel hardware | Runtime Intel optimisé pour Xe2 — INT8/INT4 quantization nativement sur B70, meilleure efficacité que PyTorch générique |
| Open WebUI | Interface utilisateur LLM | Frontend Ollama-compatible, multi-modèles, gestion de contexte, RAG intégré |
| AnythingLLM | RAG local sur documents clients | Indexation de documents clients sensibles en local, vecteurs stockés sur RAID0, zéro cloud |
| QEMU-KVM + libvirt | Virtualisation clientes | 192 Go DDR5 permettent 8–12 VMs clientes isolées simultanées avec resources dédiées |
| Wazuh | SIEM/XDR infogérance | Déployé en conteneur Docker sur /var, collecte agents clients via VPN |
05 · Stratégie de dispatch IA
En tant que DSI/RSSI externalisé et DPO, la question du dispatch n'est pas que technique — c'est une obligation légale et contractuelle. Toute donnée client, élément de configuration sensible, ou information à caractère personnel doit rester dans le périmètre local. Claude Code ou Codex ne reçoivent que ce qui est explicitement classé non-sensible.
06 · Mise en route
Ordre des opérations recommandé pour un déploiement propre. L'isolation des services dès le début évite les migrations douloureuses plus tard.
| Étape | Action | Notes critiques |
|---|---|---|
| 01 | Installer Ubuntu 26.04 sur A400 (SATA) | Partitionnement manuel — ne pas toucher aux NVMe pendant l'install. Boot UEFI sur A400. |
| 02 | Créer le RAID0 NVMe avec mdadm | APRÈS premier boot. Vérifier que nvme0n1 et nvme1n1 sont vierges. Ne pas activer BIOS RAID mode. |
| 03 | Partitionner md0, formater, migrer /var | Migrer /var AVANT d'installer Docker ou Ollama — sinon migration post-installation complexe. |
| 04 | Installer drivers Intel Xe (compute runtime) | intel-opencl-icd + level-zero. Vérifier avec clinfo que le B70 est visible. |
| 05 | Installer Ollama, tester avec un modèle 8B | ollama run llama3.1:8b — vérifier GPU offload dans les logs (n_gpu_layers > 0). |
| 06 | Configurer restic → /backup/raid0 (N300) | Cron 2h du matin. Premier backup complet avant tout usage production. Tester la restauration. |
| 07 | Installer Docker, déployer Wazuh + Open WebUI | /var/lib/docker est sur le RAID0 — OK. Wazuh consomme beaucoup de RAM, allouer 8-16 Go. |
| 08 | Configurer QEMU-KVM + libvirt | Images VM dans /data/vms. Activer nested virtualization si besoin (AMD-V). |
| 09 | Déployer LiteLLM proxy + Claude Code | Configurer .claudeignore immédiatement. Tester que les fichiers sensibles sont exclus. |
| 10 | Charger les modèles LLM dans /data/models | Démarrer par Qwen3 14B (9 Go) et Llama 3.1 8B. Tester les débits avec llama-bench. |
Comparatif · Choix d'OS
Trois architectures possibles pour cette machine — chacune répond à un profil d'usage différent. Les onglets ci-dessous détaillent les avantages, inconvénients et verdict pour chaque option.
--device xpu et OpenVINO. Moins mature que CUDA mais fonctionnel sur B70 — avantage principal vs Ollama : batching continu multi-utilisateurs, indispensable pour un service SaaS avec plusieurs clients simultanés. Voir la section Architecture LLM Service ci-dessous.
| Critère | Ubuntu Desktop | Proxmox VE | Windows 11 Pro |
|---|---|---|---|
| Simplicité de démarrage | ✓✓ Excellent | ∼ Moyen | ✓ Bon |
| Performances GPU Ollama | ✓✓ Natives | ∼ -5 à -10% | ✗ -20 à -40% |
| Isolation services clients | ✗ Faible | ✓✓ Forte | ✗ Faible |
| Snapshots infra | ∼ Manuel | ✓✓ Natifs | ✗ Limités |
| Stack Docker/Linux | ✓✓ Native | ✓✓ Native (VM) | ∼ WSL2 |
| Scalabilité cluster | ✗ Non | ✓✓ Oui | ✗ Non |
| Gestion multi-VMs clients | ∼ virt-manager | ✓✓ Interface web | ∼ Hyper-V |
| Adapté DSI externalisé | ∼ Moyen | ✓✓ Très bien | ✗ Non |
| Complexité setup GPU IA | ✓✓ Simple | ∼ VFIO/IOMMU | ✗ Drivers instables |
| Sécurité données clients | ∼ Correcte | ✓✓ Isolation forte | ✗ Télémétrie |
| vLLM (batching multi-clients) | ✓✓ Natif XPU | ✓✓ Via VM Ubuntu | ✗ Non supporté |
| LiteLLM billing abonnements | ✓✓ Docker natif | ✓✓ LXC/VM | ∼ WSL2 instable |
Architecture commerciale · LLM as a Service
La stack ci-dessous transforme la workstation en un service LLM facturable — modèles locaux sur le B70 pour la confidentialité, fallback cloud pour les surcharges, LiteLLM comme couche d'orchestration et de billing.
--device xpu
Batching continu — 5 clients simultanés sans dégradation notable. Ollama ne fait qu'une requête à la fois. Indispensable pour un SaaS.
| Modèle | VRAM | Usage |
|---|---|---|
| Qwen3 14B | ~9 Go | Standard · rapide · multilingue |
| Qwen3 32B | ~20 Go | Premium · raisonnement |
| Gemma 3 27B | ~17 Go | Rédaction · instruction |
| Llama 3.1 8B | ~5 Go | Free tier · réponses rapides |
| DeepSeek-R1 14B | ~9 Go | Analyse · code |
| Fallback cloud — via API DeepSeek (trop grands pour le B70) | ||
| DeepSeek V4-Flash | API | Rapide · code · $0.14/M tokens · quasi-égal à Pro sur le code |
| DeepSeek V4-Pro | API | Agents · raisonnement · factual · $1.74/M tokens · 1M ctx |
--device xpu est fonctionnel mais moins stable que CUDA. Tester impérativement en bench avant mise en production. Alternative plus stable à court terme : Ollama + LiteLLM proxy (pas de batching continu, mais zéro friction driver). Migrer vers vLLM quand le support XPU sera consolidé (fin 2025 estimé).