Le désapprentissage machine (machine unlearning) répond à un problème très concret : un modèle a déjà été entraîné sur un ensemble de données, et on lui demande désormais de se comporter comme s'il ne les avait jamais vues. Supprimer les fichiers de données d'origine ne suffit pas, car l'influence de ces données vit déjà dans les paramètres du modèle, qui peut encore les répéter ou les utiliser.
Il existe aujourd'hui deux approches. Le désapprentissage exact retire les données à oublier de l'ensemble d'entraînement et réentraîne le modèle de zéro. Par définition, c'est le résultat le plus propre, mais le coût de calcul est souvent difficile à supporter. Le désapprentissage approximatif ajuste directement les paramètres du modèle existant pour que son comportement s'approche le plus possible de celui d'un modèle réentraîné. Cela économise du calcul, mais il faut vérifier, par rapport à un modèle de référence réentraîné, à quel point « proche » l'est vraiment.
Ce n'est pas la même chose que l'oubli catastrophique
L'oubli catastrophique, c'est quand un modèle perd d'anciennes compétences en apprenant une nouvelle tâche. C'est un effet secondaire de l'entraînement, et personne ne précise quelles données doivent être oubliées. Le désapprentissage machine, lui, suit une demande de suppression explicite : il s'agit d'éliminer l'influence d'un ensemble précis de données, et l'objectif comme les critères de vérification figurent dans la demande. Les deux parlent d'« oubli », mais ils vont dans des directions complètement différentes.
Pourquoi « oublié » est si difficile à vérifier
Il ne suffit pas de constater que le modèle ne produit plus rien : il peut simplement être bridé et répondre à nouveau si on le lui demande autrement. La recherche compare donc souvent le modèle désappris à un modèle de référence réentraîné, pour vérifier si son comportement sur les données oubliées et sur les données conservées est suffisamment proche. Une méthode économe en calcul entraîne les données par fragments (SISA) et ne réentraîne que le fragment concerné. Lors d'un audit, ce qu'on peut généralement vérifier, c'est quel algorithme a été exécuté et si le processus est contrôlable — pas si une promesse comme « déjà oublié » est vraie.
Alors, quand on affirme qu'un modèle a oublié certaines données, posez d'abord trois questions : quel ensemble précis de données ? Réentraînement exact ou méthode approximative ? Vérifié par rapport à quelle référence ? Qui ne peut pas y répondre offre, tout au plus, un « ne le produit plus activement », et non une suppression à l'intérieur du modèle. Pour les utilisateurs ordinaires, cela signifie aussi : supprimer une phrase d'un historique de conversation ou effacer une conversation, ce n'est pas la même chose que faire oublier des données d'entraînement à un modèle. Le premier cas concerne les traces sous vos yeux ; le second, l'influence à l'intérieur du modèle.