Strojové unlearning — ako naučiť AI zabudnúť

Keď GDPR prikáže zmazať vaše dáta, nestačí vymazať riadok v databáze — treba aj odstrániť vplyv týchto dát z modelu, ktorý sa na nich naučil. Strojové unlearning je technika, ktorá to umožňuje bez nutnosti trénovať model od nuly.


1. Čo je strojové unlearning

Strojové unlearning (Machine Unlearning) je proces, pri ktorom sa z natrénovaného modelu odstraňuje vplyv konkrétnych trénovacích dát — bez opätovného trénovania celého modelu od začiatku.

Tradičné riešenie je zdanlivo jednoduché: zmaž dáta a natrénuj model znova. Pri modeloch s miliardami parametrov a mesiacmi trénovania to však nie je reálna možnosť ani z ekonomického, ani z časového hľadiska. Unlearning hľadá skratky, ktoré sú dostatočne presné, rýchle a overiteľné.

Existujú tri kľúčové motivácie:

  • Právo na zabudnutie (GDPR článok 17): Používateľ môže požiadať o vymazanie všetkých svojich dát — vrátane toho, čo sa z nich model naučil počas trénovania.
  • Bezpečnosť: Model sa mohol neúmyselne naučiť citlivé informácie — heslá, osobné údaje, škodlivý obsah — a treba ich selektívne odstrániť.
  • Odstránenie predsudkov: Ak sa zistí, že trénovacie dáta obsahovali systematicky biasované vzory, unlearning umožňuje cielene korigovať konkrétnu podmnožinu bez regresu celého modelu.

2. Ako unlearning funguje — hlavné prístupy

Základná myšlienka: model si "pamätá" trénovacie dáta tým, že upravuje váhy neurónov. Unlearning tieto váhy revertuje — no len pre konkrétnu podmnožinu dát, nie pre celý model.

Gradient ascent je najpriamočiarejší prístup. Namiesto minimalizácie straty na zabudnutých dátach ju maximalizujeme — model sa aktívne "odučuje" konkrétne príklady. Problém: nestabilita. Príliš agresívny gradient ascent degraduje celkový výkon modelu na nesúvisiacich úlohách.

Fine-tuning na retenčnej množine preskočí zabudnuté dáta a doladí model výhradne na zvyšných príkladoch. Jednoduché na implementáciu, no drahé na výpočtové zdroje — stále vyžaduje rozsiahle dotrénování.

SISA tréning (Sharded, Isolated, Sliced, Aggregated) je preventívna architektúra: model sa trénuje v izolovaných segmentoch nazývaných shardy. Keď treba zabudnúť dáta zo shardu X, retrénuje sa iba tento shard — nie celý model. Cena: pomalší inference a komplexnejšia infraštruktúra, ktorú treba nastaviť vopred.

Lokalizácia a patchovanie váh je najmodernejší prístup. Najprv sa identifikuje, ktoré váhy v modeli sú zodpovedné za konkrétne znalosti (technika z oblasti mechanistickej interpretability), potom sa selektívne upravia. Funguje dobre pre faktické znalosti, menej spoľahlivo pre štylistické alebo procedurálne vzory.

3. Porovnanie metód

Metóda Rýchlosť Kvalita zabudnutia Dopad na zvyšok modelu Škálovateľnosť
Retraining od nuly Veľmi pomalá Perfektná Žiadny Nízka
Gradient ascent Rýchla Čiastočná Stredný Stredná
Fine-tuning (retencia) Stredná Dobrá Nízky Stredná
SISA tréning Rýchla* Dobrá Minimálny Vysoká
Lokalizácia váh Veľmi rýchla Závisí od úlohy Veľmi nízky Vysoká

*len ak je SISA architektúra nastavená pred začiatkom trénovania

4. Praktické príklady použitia

Právo na zabudnutie v korporátnom prostredí: Spoločnosť nasadila interného chatbota trénovaného na firemných e-mailoch a dokumentoch. Zamestnanec odíde a podá žiadosť o výmaz podľa GDPR. Bez unlearning: retraining v hodnote desiatok tisíc eur a týždne čakania. S gradient ascent unlearning: hodiny výpočtov, nie mesiace.

Sanitizácia nebezpečného obsahu: Modely môžu absorbovať škodlivé vzory z trénovacích dát — inštrukcie na výrobu nebezpečných látok, osobné údaje obetí, rasistické asociácie. Unlearning umožňuje cielene odstrániť tieto znalosti bez toho, aby sa znehodnotil celý model pre legitímne použitie.

Aktualizácia zastaraných faktov: Model tvrdí, že prezidentom krajiny je konkrétna osoba, hoci medzitým prebehli voľby. Kombinácia fine-tuningu na správnych faktoch a gradient ascent na starých — prístup, ktorý používajú niektoré produkčné systémy na udržiavanie aktuálnosti bez drahého retrainingu.

Compliance pri akvizíciách: Firma A kúpi firmu B, no nesmie využiť dáta z niektorých projektov firmy B kvôli zmluvným záväzkom voči tretím stranám. Unlearning ich retrospektívne vyčistí z modelu trénovaného pred akvizíciou.

5. Limity, riziká a otvorené otázky

Verifikácia je ťažká. Ako dokážeš, že model skutočne zabudol? Membership inference attacks môžu testovať, či model stále "vie" o konkrétnom príklade — no ani negatívny výsledok nie je zárukou úplného zabudnutia. Model mohol zabudnúť explicitný príklad, no zachoval si implicitné štatistické vzory, ktoré z neho vychádzajú.

Zabudnutie má vedľajšie účinky. Gradient ascent na jednej podmnožine dát môže degradovať výkon na súvisiacich doménach, ktoré sú v modeli reprezentované podobnými váhami. Neurónová sieť je prepojená štruktúra — chirurgický zákrok má nezamýšľané dôsledky.

Regulácia zaostáva za technológiou. GDPR definuje právo na zabudnutie, no nešpecifikuje, čo presne to znamená pre ML modely. Musí model zabudnúť konkrétne dátové body? Alebo postačuje, ak nie je schopný ich doslovne reprodukovať? Európske dozorné orgány stále nemajú jednotný výklad, čo vytvára právnu neistotu pre nasadzovateľov AI.

Výskum je stále mladý. Väčšina metód bola pôvodne vyvinutá pre klasifikačné modely — aplikácia na veľké generatívne modely (LLM) je aktívna výskumná oblasť bez ustálených štandardov. NeurIPS Machine Unlearning Challenge odhalila, že žiadna existujúca metóda nedosahuje konzistentné výsledky naprieč rôznymi typmi zabudnutých dát.

Adversariálna rekonštrukcia: Útočník s prístupom k modelu pred aj po unlearning môže matematicky analyzovať rozdiel vo váhach a čiastočne rekonštruovať zabudnutý obsah. Táto hrozba, označovaná ako "unlearning inversion", je aktívna výskumná oblasť a dôvod, prečo samotný unlearning nestačí ako jediná bezpečnostná vrstva.


6. Gradient ascent v princípe

Najpriamočiarejší unlearning len obráti smer učenia na zabudnutej množine — namiesto minimalizácie straty ju maximalizuje:

# bežný tréning: minimalizuj stratu
# unlearning (gradient ascent): maximalizuj ju na "forget set"
for x, y in forget_set:
    loss = loss_fn(model(x), y)
    (-loss).backward()        # POZOR na znamienko — odučuj
    optimizer.step()
# + súčasne dolaďuj na retention set, aby model nezdegradoval inde

Riziko: príliš agresívny ascent poškodí výkon aj na nesúvisiacich úlohách (sieť je prepojená).

7. Súvislosti


Zhrnutie: Strojové unlearning je kľúčová technika pre AI systémy v regulovanom prostredí — umožňuje odstrániť vplyv konkrétnych dát bez drahého retrénovania, no stále nemá štandardizované metódy ani overiteľné záruky plného zabudnutia, čo z neho robí otvorený problém na hranici ML výskumu a právnej regulácie.