angelahzyuan commited on
Commit
72cd8e5
1 Parent(s): 3dbdb27

Upload tokenizer

Browse files
README.md ADDED
@@ -0,0 +1,96 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ datasets:
4
+ - openbmb/UltraFeedback
5
+ language:
6
+ - en
7
+ pipeline_tag: text-generation
8
+ ---
9
+ Self-Play Preference Optimization for Language Model Alignment (https://arxiv.org/abs/2405.00675)
10
+
11
+ # Mistral7B-PairRM-SPPO-Iter3
12
+
13
+ This model was developed using [Self-Play Preference Optimization](https://arxiv.org/abs/2405.00675) at iteration 3, 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.
14
+
15
+ **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.
16
+
17
+ ## Links to Other Models
18
+ - [Mistral7B-PairRM-SPPO-Iter1](https://huggingface.co/UCLA-AGI/Mistral7B-PairRM-SPPO-Iter1)
19
+ - [Mistral7B-PairRM-SPPO-Iter2](https://huggingface.co/UCLA-AGI/Mistral7B-PairRM-SPPO-Iter2)
20
+ - [Mistral7B-PairRM-SPPO-Iter3](https://huggingface.co/UCLA-AGI/Mistral7B-PairRM-SPPO-Iter3)
21
+ - [Mistral7B-PairRM-SPPO](https://huggingface.co/UCLA-AGI/Mistral7B-PairRM-SPPO)
22
+
23
+
24
+
25
+ ### Model Description
26
+
27
+ - Model type: A 7B parameter GPT-like model fine-tuned on synthetic datasets.
28
+ - Language(s) (NLP): Primarily English
29
+ - License: Apache-2.0
30
+ - Finetuned from model: mistralai/Mistral-7B-Instruct-v0.2
31
+
32
+
33
+ ## [AlpacaEval Leaderboard Evaluation Results](https://tatsu-lab.github.io/alpaca_eval/)
34
+
35
+
36
+ | Model | LC. Win Rate | Win Rate | Avg. Length |
37
+ |-------------------------------------------|:------------:|:--------:|:-----------:|
38
+ | Mistral7B-PairRM-SPPO Iter 1 | 24.79 | 23.51 | 1855 |
39
+ | Mistral7B-PairRM-SPPO Iter 2 | 26.89 | 27.62 | 2019 |
40
+ | Mistral7B-PairRM-SPPO Iter 3 | 28.53 | 31.02 | 2163 |
41
+ | Mistral7B-PairRM-SPPO Iter 1 (best-of-16) | 28.71 | 27.77 | 1901 |
42
+ | Mistral7B-PairRM-SPPO Iter 2 (best-of-16) | 31.23 | 32.12 | 2035 |
43
+ | Mistral7B-PairRM-SPPO Iter 3 (best-of-16) | 32.13 | 34.94 | 2174 |
44
+
45
+ ## [Arena-Hard Evaluation Results](https://github.com/lm-sys/arena-hard)
46
+
47
+ Model | Score | 95% CI | average \# Tokens |
48
+ |----------|-----------|--------------|-----------|
49
+ Mistral7B-PairRM-SPPO-Iter3| 23.3 | (-1.8, 1.8)|578|
50
+
51
+ ## [Open LLM Leaderboard Evaluation Results](https://github.com/EleutherAI/lm-evaluation-harness)
52
+
53
+ Results are reported by using [lm-evaluation-harness](https://github.com/EleutherAI/lm-evaluation-harness) v0.4.1
54
+
55
+ | | arc_challenge | truthfulqa_mc2 | winogrande | gsm8k | hellaswag | mmlu | average |
56
+ |--------|---------------|----------------|------------|-------|-----------|-------|---------|
57
+ | Mistral7B-PairRM-SPPO Iter 1 | 65.02 | 69.4 | 77.82 | 43.82 | 85.11 | 58.84 | 66.67 |
58
+ | Mistral7B-PairRM-SPPO Iter 2 | 65.53 | 69.55 | 77.03 | 44.35 | 85.29 | 58.72 | 66.75 |
59
+ | Mistral7B-PairRM-SPPO Iter 3 | 65.36 | 69.97 | 76.8 | 42.68 | 85.16 | 58.45 | 66.4 |
60
+ ## [MT-Bench Evaluation Results](https://github.com/lm-sys/FastChat/tree/main/fastchat/llm_judge)
61
+
62
+ | | 1st Turn | 2nd Turn | Average |
63
+ |--------|----------|----------|---------|
64
+ | Mistral7B-PairRM-SPPO Iter 1 | 7.63 | 6.79 | 7.21 |
65
+ | Mistral7B-PairRM-SPPO Iter 2 | 7.90 | 7.08 | 7.49 |
66
+ | Mistral7B-PairRM-SPPO Iter 3 | 7.84 | 7.34 | 7.59 |
67
+
68
+ ### Training hyperparameters
69
+ The following hyperparameters were used during training:
70
+
71
+ - learning_rate: 5e-07
72
+ - eta: 1000
73
+ - per_device_train_batch_size: 8
74
+ - gradient_accumulation_steps: 1
75
+ - seed: 42
76
+ - distributed_type: deepspeed_zero3
77
+ - num_devices: 8
78
+ - optimizer: RMSProp
79
+ - lr_scheduler_type: linear
80
+ - lr_scheduler_warmup_ratio: 0.1
81
+ - num_train_epochs: 18.0 (stop at epoch=1.0)
82
+
83
+
84
+
85
+
86
+ ## Citation
87
+ ```
88
+ @misc{wu2024self,
89
+ title={Self-Play Preference Optimization for Language Model Alignment},
90
+ author={Wu, Yue and Sun, Zhiqing and Yuan, Huizhuo and Ji, Kaixuan and Yang, Yiming and Gu, Quanquan},
91
+ year={2024},
92
+ eprint={2405.00675},
93
+ archivePrefix={arXiv},
94
+ primaryClass={cs.LG}
95
+ }
96
+ ```
config.json CHANGED
@@ -1,5 +1,5 @@
1
  {
2
- "_name_or_path": "/mnt/bn/ailab-gqq-hl/mlx/users/quanquan.gu/playground/FoldFlow/checkpoints/iter2_5.0e-7_beta0.001_rmsprop/rpo_score_18/checkpoint-313/checkpoint-313",
3
  "architectures": [
4
  "MistralForCausalLM"
5
  ],
 
1
  {
2
+ "_name_or_path": "",
3
  "architectures": [
4
  "MistralForCausalLM"
5
  ],
special_tokens_map.json ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "bos_token": {
3
+ "content": "<s>",
4
+ "lstrip": false,
5
+ "normalized": false,
6
+ "rstrip": false,
7
+ "single_word": false
8
+ },
9
+ "eos_token": {
10
+ "content": "</s>",
11
+ "lstrip": false,
12
+ "normalized": false,
13
+ "rstrip": false,
14
+ "single_word": false
15
+ },
16
+ "pad_token": {
17
+ "content": "</s>",
18
+ "lstrip": false,
19
+ "normalized": false,
20
+ "rstrip": false,
21
+ "single_word": false
22
+ },
23
+ "unk_token": {
24
+ "content": "<unk>",
25
+ "lstrip": false,
26
+ "normalized": false,
27
+ "rstrip": false,
28
+ "single_word": false
29
+ }
30
+ }
tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
 
tokenizer.model ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:dadfd56d766715c61d2ef780a525ab43b8e6da4de6865bda3d95fdef5e134055
3
+ size 493443
tokenizer_config.json ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_bos_token": true,
3
+ "add_eos_token": false,
4
+ "added_tokens_decoder": {
5
+ "0": {
6
+ "content": "<unk>",
7
+ "lstrip": false,
8
+ "normalized": false,
9
+ "rstrip": false,
10
+ "single_word": false,
11
+ "special": true
12
+ },
13
+ "1": {
14
+ "content": "<s>",
15
+ "lstrip": false,
16
+ "normalized": false,
17
+ "rstrip": false,
18
+ "single_word": false,
19
+ "special": true
20
+ },
21
+ "2": {
22
+ "content": "</s>",
23
+ "lstrip": false,
24
+ "normalized": false,
25
+ "rstrip": false,
26
+ "single_word": false,
27
+ "special": true
28
+ }
29
+ },
30
+ "additional_special_tokens": [],
31
+ "bos_token": "<s>",
32
+ "chat_template": "{{ bos_token }}{% for message in messages %}{% if (message['role'] == 'user') != (loop.index0 % 2 == 0) %}{{ raise_exception('Conversation roles must alternate user/assistant/user/assistant/...') }}{% endif %}{% if message['role'] == 'user' %}{{ '[INST] ' + message['content'] + ' [/INST]' }}{% elif message['role'] == 'assistant' %}{{ message['content'] + eos_token}}{% else %}{{ raise_exception('Only user and assistant roles are supported!') }}{% endif %}{% endfor %}",
33
+ "clean_up_tokenization_spaces": false,
34
+ "eos_token": "</s>",
35
+ "legacy": true,
36
+ "model_max_length": 2048,
37
+ "pad_token": "</s>",
38
+ "sp_model_kwargs": {},
39
+ "spaces_between_special_tokens": false,
40
+ "tokenizer_class": "LlamaTokenizer",
41
+ "unk_token": "<unk>",
42
+ "use_default_system_prompt": false
43
+ }