Architecture multi-instance
Hub / spoke — synchronisation Baserow entre associations
Projet : PRISME — France 2030
Application : Calendrier Grainerie (Marty)
Complète : Edge computing & Nœud IA Expérimental · Expérimentations actuelles · 05 ia responsable · Labo IA & création pure
Le collectif juridique Cranium formule le paradoxe central de l'IA contemporaine :
L'apprentissage fédéré (Federated Learning) inverse le flux classique :
| Approche classique | Apprentissage fédéré |
|---|---|
| Les données vont vers le modèle (cloud central) | Le modèle va vers les données (poste, instance locale) |
| Entraînement sur base centralisée | Entraînement local sur chaque site |
| Risque de fuite massif | Seules les mises à jour du modèle (poids, paramètres) sont agrégées |
| Dépendance hyperscaler | Minimisation des données — aligné RGPD (privacy by design) |
Cycle type (Cranium, adapté Marty) :
Limites assumées (Cranium) : qualité hétérogène des jeux de données, infrastructure plus complexe, risques d'inversion de modèle ou d'inférence d'appartenance sur les gradients — d'où le besoin de chiffrement, agrégation sécurisée et consentement explicite. PRISME intègre ces garde-fous dans Marty.
Référence : Cranium — L'apprentissage fédéré : une IA plus intelligente sans centraliser les données (26/05/2026)
Le projet Calendrier articule trois registres distincts — ne pas les confondre :
Hub / spoke — synchronisation Baserow entre associations
Defaults L2 · suggestions Marty · signaux anonymisés (formulaires, webmail)
FedAvg · DP · secure aggregation · P2P — intent, rerank, adaptateurs
| Niveau | Objet | TRL estimé | Statut |
|---|---|---|---|
| 1 — Multi-instance | Plusieurs déploiements Calendrier + Baserow (CIRC-INO, partenaires) | 3–4 | Spécifié, déploiement filière à venir |
| 2 — Defaults & webmail | Valeurs par défaut agrégées, templates mail suggérés | 4–5 | Code en production (routes API, tests) |
| 3 — ML fédéré | Rounds FedAvg, DP, secure agg, libp2p/WebRTC | 3–4 | Modules implémentés ; promotion modèles en cours |
Spec : architecture fédérée multi-instance (Calendrier Grainerie)
Topologie hub-and-spoke : un hub central (registre instances, OIDC) et des spokes autonomes (association + Baserow + Qwik).
| Principe | Détail |
|---|---|
| Souveraineté | Chaque instance reste propriétaire de ses données |
| Sync sélective | Événements publics, ressources partagées — pas réplication totale |
| Découverte | register — table Baserow instances_federees |
| Identités | Fédération OIDC / OAuth2 (Authentik) |
Lien PRISME : modèle de mutualisation sans centralisation des données métier — cohérent avec Serveur Outils Grainerie / Nœud IA POC et le réseau CIRC-INO. Complété par PRISME-Mesh (partage de capacité GPU/CPU en créneaux libres) — voir Axe entrepreneurial & edge §4.
Agrégation anonymisée des choix de valeurs par défaut dans les formulaires Baserow (préremplissage intelligent) :
| Composant | Emplacement |
|---|---|
| Client IndexedDB | Client fédération — stockage navigateur |
| Agrégateur Baserow | Agrégateur anonymisé Baserow |
| Store serveur JSON | Persistance bundle global (serveur) |
| API bundle global | API bundle global |
| API contribution | API contributions formulaires |
| Résolution cascade L0→L2 | Résolution cascade L0→L2 |
Mécanisme : les structures contribuent des histogrammes / top valeurs (FederatedDefaultItem : valeur, adoption, n) — pas les lignes brutes. Seuil k-anonymat et budget ε DP dans le bundle (kAnonymityFloor, epsilonDp).
Module : webmail Marty — apprentissage fédéré des suggestions et templates
Vision produit : Vision — module Webmail — parcours webmail, sync par briques, templates L0–L3.
| Fichier | Rôle |
|---|---|
| Suggestions fusion local / fédéré | Suggestions source: "federated", fusion local vs fédéré |
| Signaux d'apprentissage réseau | Signaux d'apprentissage vers le réseau Marty |
| Templates e-mail (sources L0–L3) | Sources generic / local / federated / manual |
Tickets livrés : WEBMAIL-037 (suggestions fédérées), WEBMAIL-038 (templates L0–L3), WEBMAIL-039 (UI sources et confiance).
Garde-fou : mergeSuggestionWithLocal — la suggestion fédérée n'est appliquée que si sa confiance dépasse le template local ; pas de décision automatique opaque.
| Composant | Emplacement |
|---|---|
| État consentement v1.2 | Schéma consentement v1.2 |
Groupe federated + p2p | Panneau Panneau consentements (UI) |
| API contributions | API contributions IA |
| Validateur consent | Validation des contributions |
Agrégateur (filtre granted) | Agrégation (filtre consentements) |
| i18n FR | marty.consent.federated → « Entraînement fédéré » |
Alignement Cranium / RGPD : consentement granulaire, minimisation, pas de contribution sans federatedTraining: "granted".
Spec maîtresse : amélioration continue Marty §6 (FedAvg, DP, P2P)
| Modèle | Rôle | Taille | Fréquence rounds |
|---|---|---|---|
marty-intent-mini | Classification intentions | ~50 k params | quotidien |
marty-rerank-mini | Rerank cross-encoder distillé | ~3,5 M | hebdomadaire |
marty-embed-adapter | Adaptateur LoRA-like | ~150 k | bi-hebdomadaire |
| Calibrateurs NLI | Régressions logistiques | < 1 k | quotidien |
| Module | Fichier | Fonction |
|---|---|---|
| FedAvg | fedavg | Moyenne pondérée par sampleCount |
| Coordinateur | coordinator | Rounds, soumission mises à jour, finalisation |
| Secure aggregation | secure aggregation | Masques pairwise (Bonawitz simplifié) |
| Robust aggregation | robust aggregation | Multi-Krum / médiane bornée |
| Différentielle privée | dp accountant | Budget ε, δ |
| EWC | ewc | Pénalité catastrophic forgetting |
| Registre modèles | federated model registry | MartyFederatedModelV1 |
| Snapshot dashboard | marty federation core snapshot | Métriques admin |
| P2P signaling | signaling server | WebSocket upgrade |
| libp2p / gossip | libp2p | Topics 1.0.0 |
| Client idle | Module client (fed client) | Join round, upload delta |
| Route WS P2P | Point d'entrée API | Signalisation Marty federated P2P |
sequenceDiagram participant Coord as Coordinateur<br/>Serveur Outils Grainerie participant Client as Client<br/>navigateur · GPU idle · consentement Coord->>Client: Publie manifest_round_R Client->>Coord: GET round fédéré (manifest) Coord->>Client: Clés secure aggregation (SA) Note over Client: Entraînement local k ≤ 5 steps Note over Client: Clip delta + bruit Gaussien (DP) Note over Client: Masque secure aggregation Client->>Coord: POST upload-delta + sa-share Note over Coord: FedAvg + robust check Coord-->>Client: Modèle promu (si golden set OK)
Plafond de confidentialité : le bruit ajouté à chaque round limite ce que le modèle agrégé peut révéler sur les données locales d'une structure. Sur toute la durée de vie du modèle (tous les rounds cumulés), la spec retient un budget très serré — équivalent à un risque de ré-identification inférieur à 1 sur 100 000 (paramètres DP : ε ≤ 8, δ ≤ 10⁻⁵).
| Composant | Emplacement |
|---|---|
| Dashboard fédération | Composant interface |
| Panneau libp2p | Composant interface |
| Panneau consentement | Panneau consentements (UI) |
flowchart TB SOG["Serveur Outils Grainerie<br/>API · coordinateur fédération"] Marty["Nœud IA Expérimental (Nœud IA POC)<br/>GPU · vLLM / Hermes"] Clients["Clients ICC<br/>Calendrier Grainerie"] Global["Modèle global léger<br/>têtes fédérées"] SOG -->|"modèle base figé"| Marty Marty -.->|"inférence locale<br/>données brutes non exportées"| Clients Clients -->|"deltas · defaults<br/>consentement F05"| SOG SOG -->|"agrégation FedAvg"| Global Global -->|"mises à jour"| Clients
| Concept | Edge (Nœud IA POC) | Fédéré (Calendrier) |
|---|---|---|
| Données | Restent sur Serveur Outils Grainerie / poste | Ne quittent jamais le client |
| Calcul | Inférence LLM locale | Entraînement têtes légères + agrégation |
| Échelle | Un nœud GPU structure | Réseau de structures CIRC-INO |
| PRISME | Désescalade vs GPAI cloud | Mutualisation du savoir sans mutualiser les données |
Distinction F05 / labo création pure : l'IA fédérée Marty concerne l'administration et l'UX métier (defaults, intents, mails) — pas la génération artistique, qui relève du labo encadré (Labo IA & création pure).
| Principe Cranium / RGPD | Implémentation Marty |
|---|---|
| Minimisation des données | Agrégats, k-anonymat, pas de lignes Baserow brutes |
| Privacy by design | Consentement v1.2, groupes federated / p2p |
| Limitation des transferts | Données locales ; seuls paramètres agrégés |
| Risque inversion modèle | DP (dp-accountant), secure aggregation |
| Transparence | UI consentement, sources federated vs local dans webmail |
| POC (site pilote) | Fédération expérimentée sur Grainerie — consentement v1.2 ; AIPD/DPIA avant généralisation filière (M12, après comité éthique M1) |
| Brique | TRL actuel | Cible F2030 | Jalon |
|---|---|---|---|
| Defaults L2 fédérés | 4–5 | 6 | API stable + 3 tables pilotes |
| Webmail suggestions fédérées | 4–5 | 6 | Déploiement interne Grainerie |
| FedAvg + coordinator | 4 | 6 | Round réel multi-structures |
| Secure agg + DP | 3–4 | 5–6 | Audit sécurité |
| P2P libp2p / WebRTC | 3–4 | 5 | Pilote CIRC-INO (2 instances) |
| Architecture multi-instance hub/spoke | 3 | 5–6 | Registre + 1 spoke partenaire |
Livrables dossier :