Machine Unlearning
L’oubli sélectif en apprentissage automatique supprime l’influence de données d’entraînement spécifiques sur un modèle entraîné. Découvre les méthodes exactes et approximatives, la vérification des résultats et les limites.
L'oubli machine est le processus qui consiste à supprimer l'influence de certaines données d'entraînement d'un modèle d'apprentissage automatique entraîné, afin que le modèle se comporte comme s'il n'avait jamais vu ces exemples. L'objectif est d'obtenir un résultat équivalent à celui d'un modèle réentraîné de zéro sans ces données, tout en dépensant bien moins de calcul que pour un réentraînement complet. Les demandes d'oubli peuvent découler des lois sur la protection des données, comme le droit à l'effacement prévu à l'article 17 du RGPD, de réclamations relatives aux droits d'auteur, de la découverte ultérieure de données mal étiquetées ou empoisonnées, ou encore de tentatives visant à retirer des connaissances dangereuses des grands modèles de langage (LLM).
Pourquoi supprimer les données ne suffit pas#
La descente de gradient répartit ce qu'un modèle apprend de chaque exemple dans ses poids du modèle ; supprimer les images ou les documents d'origine du stockage ne supprime donc pas cet apprentissage. Les modèles peuvent aussi conserver des traces récupérables d'exemples individuels : les attaques par inférence d'appartenance vérifient si un enregistrement donné figurait dans le jeu d'entraînement, et les grands modèles de langage peuvent reproduire mot pour mot des passages mémorisés. Les autorités de réglementation considèrent le modèle lui-même comme un produit des données. Dans le cadre d'un accord conclu en 2021, la Commission fédérale du commerce des États-Unis a ordonné au fabricant de l'application photo Everalbum de supprimer les modèles et algorithmes de reconnaissance faciale conçus à partir des photos des utilisateurs sans consentement valable ; cette mesure est désormais appelée confiscation algorithmique des gains.
Oubli exact et approximatif#
L'oubli exact produit un modèle issu de la même distribution qu'un modèle réentraîné sans les données à oublier. Le réentraînement à partir de zéro sert de référence, et le cadre SISA de Bourtoule et al. le rend moins coûteux en partitionnant le jeu d'entraînement, en entraînant un modèle isolé sur chaque partition, en découpant chaque partition en étapes avec points de contrôle, puis en agrégeant les prédictions des modèles de partition. Une demande de suppression ne nécessite alors de réentraîner que la partition contenant l'exemple :
import numpy as np
from sklearn.datasets import load_digits
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
X, y = load_digits(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)
# SISA: split the training set into isolated shards and train one model per shard
shards = np.array_split(np.arange(len(X_train)), 5)
models = [LogisticRegression(max_iter=5000).fit(X_train[s], y_train[s]) for s in shards]
# Honor a deletion request for training sample 123 by retraining only the shard that held it
k = next(i for i, s in enumerate(shards) if 123 in s)
shards[k] = shards[k][shards[k] != 123]
models[k] = LogisticRegression(max_iter=5000).fit(X_train[shards[k]], y_train[shards[k]])
# Aggregate the shard models by majority vote
votes = np.stack([m.predict(X_test) for m in models])
pred = np.array([np.bincount(v).argmax() for v in votes.T])
print(f"Retrained {len(shards[k])} of {len(X_train)} samples, test accuracy {(pred == y_test).mean():.3f}")Le script affiche Retrained 251 of 1257 samples, test accuracy 0.957 : le chiffre à oublier n'a jamais été utilisé pour entraîner le modèle de la partition réentraînée, et la suppression a coûté un cinquième d'un réentraînement complet. Le coût est payé à l'avance, car chaque modèle de partition voit moins de données : pour la classification sur ImageNet, l'article mesurait une accélération du réentraînement de 1.36x, avec une légère baisse de précision, contre 4.63x sur le jeu de données plus simple Purchase.
L'oubli approximatif modifie plutôt un modèle existant et accepte que le résultat ne fasse que ressembler au modèle réentraîné. Les méthodes courantes comprennent l'ascension de gradient sur le jeu à oublier pour augmenter sa perte, le réglage fin sur les données conservées pour corriger les dommages collatéraux, ainsi que les mises à jour fondées sur l'influence, qui estiment l'effet de chaque exemple sur les poids. Pour les LLM, des chercheurs de Microsoft ont effacé les connaissances sur Harry Potter de Llama 2 7B en environ une heure d'entraînement sur GPU, tandis que les scores des tests de référence courants sont restés presque inchangés.
Vérifier qu'un modèle a oublié#
Une évaluation convaincante compare le modèle ayant subi l'oubli à un modèle réentraîné sans les données. La précision sur le jeu à oublier devrait descendre au niveau de celle du modèle réentraîné, et non tomber à zéro, car un modèle qui échoue de manière manifeste précisément sur les exemples supprimés révèle lesquels ont été supprimés. La précision sur les données conservées et les données de test devrait rester stable, et une attaque par inférence d'appartenance appliquée aux exemples oubliés ne devrait pas faire mieux que le hasard. Des tests de référence tels que TOFU, fondé sur des biographies fictives d'auteurs, et WMDP, qui mesure les connaissances dangereuses en biologie, en chimie et en cybersécurité, appliquent ces tests aux LLM.
Les méthodes approximatives dissimulent souvent les connaissances au lieu de les supprimer. Une étude contradictoire a montré qu'un réglage fin sur seulement 10 exemples sans rapport rétablissait la plupart des capacités dangereuses supprimées par RMU, une méthode d'oubli des LLM de premier plan. Seules les méthodes exactes garantissent la suppression par construction.
L'oubli machine et les notions connexes#
- Oubli catastrophique : Perte involontaire de connaissances antérieures lorsqu'un modèle s'entraîne sur de nouvelles données. L'oubli supprime intentionnellement des connaissances choisies.
- Apprentissage continu : Acquisition de nouvelles connaissances au fil du temps sans perdre les anciennes. L'oubli va dans la direction opposée.
- Modification de modèle : Modification de faits ou de comportements précis, par exemple pour mettre à jour le titulaire d'une fonction. L'oubli cible l'influence d'exemples d'entraînement particuliers, et sa réussite est évaluée par rapport à un modèle réentraîné.
- Confidentialité différentielle : Garantie fournie lors de l'entraînement qui limite l'influence de chaque exemple sur le modèle et, par conséquent, ce qu'un attaquant pourrait apprendre au sujet d'un enregistrement qu'il faudrait ensuite oublier.
L'oubli en pratique#
Toute suppression commence par l'identification des modèles entraînés sur les données :
Pour les modèles de vision par ordinateur affinés à partir de poids préentraînés qui n'ont jamais été exposés aux données supprimées, un réentraînement complet est souvent abordable et constitue une tâche bien moins lourde que le préentraînement d'un LLM. Dans Ultralytics Platform, l'onglet Modèles de chaque jeu de données répertorie tous les modèles entraînés sur celui-ci, avec la version immuable du jeu de données pour les exécutions qui l'ont enregistrée ; une demande de suppression peut ainsi être reliée aux modèles YOLO26 qui ont vu une image, lesquels sont alors réentraînés sur une nouvelle version qui ne la contient pas. Les mêmes étapes de traçabilité et de réentraînement s'appliquent au cas d'un patient qui retire son consentement à l'utilisation d'examens d'imagerie pour l'analyse d'images médicales, ainsi qu'aux visages ou aux plaques d'immatriculation capturés par des caméras de sécurité qu'un propriétaire de modèle accepte de supprimer.










