A method of ML that allows for Machine Unlearning

Training
- Break up training data into disjoint shards
- Break up each shard into slices
- Train individual constituent models on distinct shards, saving parameters as you train on more and more slices
- Aggregate consistent model output for final output (Mean, most common output, other methods…)
Untraining
When an unlearning request comes in:
- Remove data from shard
- Identify last relevant constituent model parameters
- Re-aggregate model