Inférence chiffrée (FHE) sur modèles à base d'arbres
Arbre de décision, forêt aléatoire et XGBoost exécutés sous chiffrement homomorphe avec Concrete-ML 1.9.0, sur cinq jeux de données. Toutes les valeurs affichées proviennent des sorties du notebook (CPU Kaggle, graine 42).
Ce que présente cette interface
Résultats expérimentaux de l'inférence chiffrée (FHE, Concrete-ML) sur trois modèles à base d'arbres (arbre de décision, forêt aléatoire, XGBoost) et cinq jeux de données : Spambase, WDBC, Adult, Pima et Heart.
Hypothèse H1 : les modèles à base d'arbres atteignent une latence FHE nettement inférieure à celle des réseaux de neurones. État : pas encore concluante, car la comparaison avec le MLP doit être refaite au même nombre de bits (voir Neural preprocessing).
Synthèse
Latence FHE réelle par jeu et par modèle
Secondes par échantillon, moyenne de 3 répétitions. Détail et intervalles de confiance dans « Plaintext vs FHE ».
Clair contre FHE, quinze configurations
Précision en clair (D=5, 50 arbres) contre FHE en simulation sur tout le jeu de test (D=4, 15 arbres, 5 bits). La latence est mesurée en FHE réel sur 30 observations, 3 répétitions.
| Jeu | Modèle | Clair | FHE simulé | Écart | FHE réel (n=30) | Latence s/éch. [IC 95 %] |
|---|
L'accord entre prédictions simulées et prédictions FHE réelles vaut 100 % sur les quinze configurations. Un arbre seul répond en 1,4 à 1,6 s ; forêt et XGBoost demandent 11 à 17,5 s par échantillon. Un écart positif n'est pas une preuve d'effet causal (le jeu Heart ne compte que 60 observations de test).
Sensibilité aux hyperparamètres
Deux jeux comparés : WDBC et Pima. Passez la souris ou touchez un point pour lire la valeur.
Prudence sur la précision. Chaque point vient d'une seule partition train/test et d'un seul entraînement. Avec 154 observations de test (Pima), l'erreur standard est d'environ 3,5 points : les écarts de quelques points entre profondeurs ou nombres de bits ne sont pas concluants. La même configuration (WDBC, DT, D=5, 6 bits) a d'ailleurs donné 93,9 %, 94,7 % puis 93,0 % dans trois exécutions, probablement faute de graine sur l'entraînement de l'arbre.
Parcours d'une requête chiffrée
WDBC, arbre de décision, D=5, 6 bits. Le rejeu utilise les durées mesurées dans le notebook ; aucun calcul FHE n'est exécuté dans le navigateur.
30 caractéristiques en clairrien encoreLe chiffré affiché est un aperçu généré localement, à titre d'illustration ; le vrai message fait 0,96 Ko.
Coûts mesurés
La clé d'évaluation est envoyée avec la requête dans le prototype Flask, ce qui explique en grande partie l'écart entre 3,86 s (sans réseau) et 7,51 s (bout en bout).
Prétraitement neuronal (autoencodeur, goulot de 8)
| Jeu | Nœuds brut → goulot | Précision brut → goulot | Latence brute | Latence goulot | Variation |
|---|
Dans ces essais, le goulot n'a pas réduit la latence : les arbres appris sur les représentations compressées ont plus de nœuds (43 contre 29 sur WDBC ; 49 contre 39 sur Pima).
Réseau de neurones compatible FHE (MLP, 6 bits)
| Jeu | Précision (simulée) | Latence s/éch. |
|---|---|---|
| WDBC | 96,5 % | 24,84 ± 0,05 |
| Pima | 72,1 % | 5,96 ± 0,03 |
df_fhe is not defined après le calcul des latences du MLP. Les deux lignes ci-dessus sont issues de cette exécution.FHE et confidentialité différentielle (simulation)
Bruit gaussien sur les probabilités prédites, 20 répétitions, δ = 10⁻⁵. Précision moyenne ± écart-type.
| Jeu | Modèle | Sans bruit | ε = 0,1 | ε = 1 | ε = 10 |
|---|
Protocole
- Partition 80/20 stratifiée, graine 42 (jeux de test : 921, 114, 9 769, 154 et 60 observations pour Spambase, WDBC, Adult, Pima, Heart).
- Référence en clair : profondeur 5, 50 arbres pour RF et XGBoost ; latence mesurée sur le jeu de test, 10 répétitions.
- FHE : profondeur 4, 15 arbres, 5 bits ; calibration sur 50 observations d'entraînement.
- Précision FHE simulée sur tout le jeu de test ; FHE réel sur 30 observations stratifiées, passage d'échauffement exclu, 3 répétitions, intervalle de confiance à 95 % (loi de Student).
- Environnement : Concrete-ML 1.9.0, concrete-python 2.10.0, Python 3.12.13, scikit-learn 1.5.0, XGBoost 1.6.2, NumPy 1.26.4, pandas 2.2.2 ; CPU Kaggle.
Limites connues
- Le modèle en clair (D=5, 50 arbres) et le modèle FHE (D=4, 15 arbres, 5 bits) diffèrent : l'écart de précision mélange l'effet de la quantification et celui de la taille du modèle.
- Une seule partition et un seul entraînement par point, sans graine sur l'entraînement des arbres : la même configuration (WDBC, DT, D=5, 6 bits) a donné 93,9 %, 94,7 % puis 93,0 % selon les exécutions.
- Le rapport de surcoût FHE/clair n'est pas fourni : les temps en clair sont arrondis à la microseconde.
- La mémoire maximale du processus est cumulative sur la session ; elle ne mesure pas chaque expérience séparément.
- Étude du nombre d'arbres : cinq points sur six proviennent d'une session interrompue, sans configuration enregistrée.
- La confidentialité différentielle est une simulation illustrative, et la comparaison arbres contre MLP est à refaire à nombre de bits égal.