angelahzyuan's picture
Update README.md
8201064 verified
---
license: apache-2.0
datasets:
- openbmb/UltraFeedback
language:
- en
pipeline_tag: text-generation
---
Self-Play Preference Optimization for Language Model Alignment (https://arxiv.org/abs/2405.00675)
# Mistral7B-PairRM-SPPO-Iter2
This model was developed using [Self-Play Preference Optimization](https://arxiv.org/abs/2405.00675) at iteration 2, based on the [mistralai/Mistral-7B-Instruct-v0.2](https://huggingface.co/mistralai/Mistral-7B-Instruct-v0.2) architecture as starting point. We utilized the prompt sets from the [openbmb/UltraFeedback](https://huggingface.co/datasets/openbmb/UltraFeedback) dataset, splited to 3 parts for 3 iterations by [snorkelai/Snorkel-Mistral-PairRM-DPO-Dataset](https://huggingface.co/datasets/snorkelai/Snorkel-Mistral-PairRM-DPO-Dataset). All responses used are synthetic.
**This is the model reported in the paper** , with K=5 (generate 5 responses per iteration). We attached the Arena-Hard eval results in this model page.
## Links to Other Models
- [Mistral7B-PairRM-SPPO-Iter1](https://huggingface.co/UCLA-AGI/Mistral7B-PairRM-SPPO-Iter1)
- [Mistral7B-PairRM-SPPO-Iter2](https://huggingface.co/UCLA-AGI/Mistral7B-PairRM-SPPO-Iter2)
- [Mistral7B-PairRM-SPPO-Iter3](https://huggingface.co/UCLA-AGI/Mistral7B-PairRM-SPPO-Iter3)
- [Mistral7B-PairRM-SPPO](https://huggingface.co/UCLA-AGI/Mistral7B-PairRM-SPPO)
### Model Description
- Model type: A 7B parameter GPT-like model fine-tuned on synthetic datasets.
- Language(s) (NLP): Primarily English
- License: Apache-2.0
- Finetuned from model: mistralai/Mistral-7B-Instruct-v0.2
## [AlpacaEval Leaderboard Evaluation Results](https://tatsu-lab.github.io/alpaca_eval/)
| Model | LC. Win Rate | Win Rate | Avg. Length |
|-------------------------------------------|:------------:|:--------:|:-----------:|
| Mistral7B-PairRM-SPPO Iter 1 | 24.79 | 23.51 | 1855 |
| Mistral7B-PairRM-SPPO Iter 2 | 26.89 | 27.62 | 2019 |
| Mistral7B-PairRM-SPPO Iter 3 | 28.53 | 31.02 | 2163 |
| Mistral7B-PairRM-SPPO Iter 1 (best-of-16) | 28.71 | 27.77 | 1901 |
| Mistral7B-PairRM-SPPO Iter 2 (best-of-16) | 31.23 | 32.12 | 2035 |
| Mistral7B-PairRM-SPPO Iter 3 (best-of-16) | 32.13 | 34.94 | 2174 |
## [Arena-Hard Evaluation Results](https://github.com/lm-sys/arena-hard)
Model | Score | 95% CI | average \# Tokens |
|----------|-----------|--------------|-----------|
Mistral7B-PairRM-SPPO-Iter3| 23.3 | (-1.8, 1.8)|578|
## [Open LLM Leaderboard Evaluation Results](https://github.com/EleutherAI/lm-evaluation-harness)
Results are reported by using [lm-evaluation-harness](https://github.com/EleutherAI/lm-evaluation-harness) v0.4.1
| | arc_challenge | truthfulqa_mc2 | winogrande | gsm8k | hellaswag | mmlu | average |
|--------|---------------|----------------|------------|-------|-----------|-------|---------|
| Mistral7B-PairRM-SPPO Iter 1 | 65.02 | 69.4 | 77.82 | 43.82 | 85.11 | 58.84 | 66.67 |
| Mistral7B-PairRM-SPPO Iter 2 | 65.53 | 69.55 | 77.03 | 44.35 | 85.29 | 58.72 | 66.75 |
| Mistral7B-PairRM-SPPO Iter 3 | 65.36 | 69.97 | 76.8 | 42.68 | 85.16 | 58.45 | 66.4 |
## [MT-Bench Evaluation Results](https://github.com/lm-sys/FastChat/tree/main/fastchat/llm_judge)
| | 1st Turn | 2nd Turn | Average |
|--------|----------|----------|---------|
| Mistral7B-PairRM-SPPO Iter 1 | 7.63 | 6.79 | 7.21 |
| Mistral7B-PairRM-SPPO Iter 2 | 7.90 | 7.08 | 7.49 |
| Mistral7B-PairRM-SPPO Iter 3 | 7.84 | 7.34 | 7.59 |
### Training hyperparameters
The following hyperparameters were used during training:
- learning_rate: 5e-07
- eta: 1000
- per_device_train_batch_size: 8
- gradient_accumulation_steps: 1
- seed: 42
- distributed_type: deepspeed_zero3
- num_devices: 8
- optimizer: RMSProp
- lr_scheduler_type: linear
- lr_scheduler_warmup_ratio: 0.1
- num_train_epochs: 18.0 (stop at epoch=1.0)
## Citation
```
@misc{wu2024self,
title={Self-Play Preference Optimization for Language Model Alignment},
author={Wu, Yue and Sun, Zhiqing and Yuan, Huizhuo and Ji, Kaixuan and Yang, Yiming and Gu, Quanquan},
year={2024},
eprint={2405.00675},
archivePrefix={arXiv},
primaryClass={cs.LG}
}
```