File size: 2,416 Bytes
b29fb81
 
c222dcb
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b29fb81
 
c222dcb
b29fb81
 
 
c222dcb
 
 
 
 
 
b29fb81
 
 
c222dcb
 
 
b29fb81
 
 
 
 
 
 
 
 
 
 
 
 
 
c222dcb
 
 
 
 
 
 
 
b29fb81
 
 
 
c222dcb
 
 
 
 
b29fb81
 
 
c222dcb
b29fb81
c222dcb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
---
license: mit
datasets:
- locuslab/TOFU
language:
- en
base_model:
- OPTML-Group/TOFU-origin-Llama-2-7b-chat
pipeline_tag: text-generation
library_name: transformers
tags:
- unlearn
- machine-unlearning
- llm-unlearning
- data-privacy
- large-language-models
- trustworthy-ai
- trustworthy-machine-learning
- language-model
---

# SimNPO-Unlearned Model on Task "TOFU - Forget05"

## Model Details

- **Unlearning**:
  - **Task**: [🤗datasets/locuslab/TOFU - Forget10](https://huggingface.co/datasets/locuslab/TOFU)
  - **Method**: [SimNPO](https://arxiv.org/abs/2410.07163)
- **Origin Model**: [🤗OPTML-Group/TOFU-origin-Llama-2-7b-chat](https://huggingface.co/OPTML-Group/TOFU-origin-Llama-2-7b-chat)
- **Code Base**: [github.com/OPTML-Group/Unlearn-Simple](https://github.com/OPTML-Group/Unlearn-Simple)
- **Research Paper**: ["Simplicity Prevails: Rethinking Negative Preference Optimization for LLM Unlearning"](https://arxiv.org/abs/2410.07163)

## Unlearning Algorithm

This model uses the `SimNPO` unlearning algorithm with the following optimization objective:
$$\ell_{SimNPO}(\mathbf{\theta}) = \mathbb{E}_{(x, y) \in \mathcal{D}_f}\left[-\frac{2}{\beta}\log\sigma\left(-\frac{\beta}{|y|}\log\pi_{\mathbf{\theta}}(y|x) - \gamma\right)\right] + \lambda \mathbb{E}_{(x, y) \in \mathcal{D}_r}[-\log\pi_{\mathbf{\theta}} (y|x)]$$
Unlearning hyper-parameters:
- Learning Rate: `1e-5`
- beta: `4.5`
- lambda: `0.125`
- gamma: `0.0`

## Loading the Model

```python
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

model = AutoModelForCausalLM.from_pretrained("OPTML-Group/SimNPO-TOFU-forget10-Llama-2-7b-chat", use_flash_attention_2=True, torch_dtype=torch.bfloat16, trust_remote_code=True)
```

## Evaluation Results
||Forgeting Quality (FQ)|Model Utility (MU)|
|---|---|---|
|Origin|0.00|0.62|
|Retrain|1.00|0.62|
|NPO|0.29|0.55|
|**SimNPO**|0.45|0.62|

## Citation

If you use this model in your research, please cite: 
```
@article{fan2024simplicity,
  title={Simplicity Prevails: Rethinking Negative Preference Optimization for LLM Unlearning},
  author={Fan, Chongyu and Liu, Jiancheng and Lin, Licong and Jia, Jinghan and Zhang, Ruiqi and Mei, Song and Liu, Sijia},
  journal={arXiv preprint arXiv:2410.07163},
  year={2024}
}
```

## Reporting Issues

Reporting issues with the model: [github.com/OPTML-Group/Unlearn-Simple](https://github.com/OPTML-Group/Unlearn-Simple)