Machine Unlearning
O esquecimento de máquina remove a influência de dados de treinamento específicos de um modelo treinado. Conheça os métodos exatos e aproximados, como os resultados são testados e quais são os limites.
O esquecimento de máquina é o processo de remover a influência de dados de treinamento específicos de um modelo de aprendizado de máquina treinado, para que o modelo se comporte como se nunca tivesse visto esses exemplos. O objetivo é igualar um modelo retreinado do zero sem esses dados, gastando muito menos computação do que no retreinamento completo. Os pedidos para esquecer dados decorrem da legislação de privacidade de dados, como o direito ao apagamento previsto no Artigo 17 do GDPR, de reivindicações de direitos autorais, de dados posteriormente identificados como rotulados incorretamente ou envenenados e de iniciativas para remover conhecimento perigoso de grandes modelos de linguagem (LLMs).
Por que apagar os dados não basta#
A descida do gradiente distribui o que um modelo aprende com cada exemplo pelos pesos do modelo; por isso, apagar as imagens ou os documentos originais do armazenamento não elimina esse aprendizado. Os modelos também podem reter vestígios recuperáveis de exemplos individuais: ataques de inferência de associação testam se um registro específico estava no conjunto de treinamento, e grandes modelos de linguagem podem reproduzir literalmente trechos memorizados. Os órgãos reguladores consideram o próprio modelo um produto dos dados. Em um acordo de 2021, a Comissão Federal de Comércio dos EUA exigiu que a fabricante do aplicativo de fotos Everalbum apagasse os modelos e algoritmos de reconhecimento facial que havia criado usando as fotos dos usuários sem o consentimento adequado, uma medida hoje chamada de confisco algorítmico.
Esquecimento exato e aproximado#
O esquecimento exato produz um modelo extraído da mesma distribuição que um modelo retreinado sem os dados esquecidos. O retreinamento do zero é a referência, e a estrutura SISA de Bourtoule et al. reduz seu custo dividindo o conjunto de treinamento em fragmentos (Sharding), treinando um modelo isolado em cada fragmento, dividindo cada fragmento em etapas com checkpoints (Slicing) e agregando as previsões dos modelos dos fragmentos (Aggregating). Assim, um pedido de exclusão exige retreinar apenas o fragmento que continha o exemplo:
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}")O script imprime Retrained 251 of 1257 samples, test accuracy 0.957: o dígito esquecido nunca passou pelo modelo retreinado do fragmento, e a exclusão custou um quinto de um retreinamento completo. O custo é pago antecipadamente, porque cada modelo de fragmento vê menos dados: na classificação ImageNet, o artigo mediu uma aceleração de retreinamento de 1.36x com uma pequena perda de precisão, em comparação com 4.63x no conjunto de dados mais simples Purchase.
O esquecimento aproximado, em vez disso, edita um modelo existente e aceita que o resultado apenas se pareça com o modelo retreinado. Os métodos comuns incluem aplicar subida do gradiente ao conjunto a esquecer para aumentar a perda, fazer ajuste fino nos dados retidos para reparar danos colaterais e usar atualizações baseadas em influência para estimar como cada exemplo alterou os pesos. Para LLMs, pesquisadores da Microsoft apagaram o conhecimento sobre Harry Potter do Llama 2 7B com cerca de uma hora de ajuste fino em GPU, enquanto as pontuações em benchmarks comuns permaneceram praticamente inalteradas.
Como testar se um modelo esqueceu#
Uma avaliação convincente compara o modelo após o esquecimento com um modelo retreinado sem os dados. A precisão no conjunto a esquecer deve cair ao nível do modelo retreinado, não a zero, pois um modelo que falha de forma evidente justamente nos exemplos excluídos revela quais exemplos foram excluídos. A precisão nos dados retidos e nos dados de teste deve se manter, e um ataque de inferência de associação aos exemplos esquecidos não deve ter desempenho superior ao acaso. Benchmarks como TOFU, criado com biografias fictícias de autores, e WMDP, que mede conhecimento perigoso em biologia, química e cibersegurança, aplicam esses testes a LLMs.
Os métodos aproximados muitas vezes ocultam o conhecimento em vez de removê-lo. Um estudo adversarial constatou que o ajuste fino com apenas 10 exemplos não relacionados restaurou a maior parte dos recursos perigosos suprimidos pelo RMU, um dos principais métodos de esquecimento de LLMs. Apenas os métodos exatos garantem a remoção por construção.
Esquecimento de máquina e termos relacionados#
- Esquecimento catastrófico: Perda não intencional de conhecimento anterior quando um modelo é treinado com novos dados. O esquecimento remove intencionalmente o conhecimento escolhido.
- Aprendizado contínuo: Adição de novos conhecimentos ao longo do tempo sem perder os antigos. O esquecimento atua na direção oposta.
- Edição de modelos: Alteração de fatos ou comportamentos específicos, como atualizar quem ocupa um cargo. O esquecimento visa a influência de determinados exemplos de treinamento, e seu êxito é avaliado em relação a um modelo retreinado.
- Privacidade diferencial: Uma garantia durante o treinamento que limita o quanto um único exemplo pode afetar o modelo, restringindo o que um invasor poderia descobrir sobre um registro que talvez precise ser esquecido posteriormente.
Esquecimento na prática#
Cada exclusão começa pela identificação dos modelos que foram treinados com os dados:
Para modelos de visão computacional ajustados a partir de pesos pré-treinados que nunca tiveram contato com os dados excluídos, o retreinamento completo costuma ser viável e muito menos trabalhoso do que pré-treinar um LLM. Na Ultralytics Platform, a guia Models de cada conjunto de dados lista todos os modelos treinados com ele, incluindo a versão imutável do conjunto de dados para as execuções que a salvaram; assim, é possível rastrear um pedido de exclusão até os modelos YOLO26 que viram uma imagem e retreiná-los em uma nova versão sem essa imagem. As mesmas etapas de rastreamento e retreinamento abrangem um paciente que retira o consentimento para o uso de exames em análise de imagens médicas, assim como rostos e placas capturados por câmeras de segurança que o proprietário de um modelo concorda em excluir.










