outputs
This model is a fine-tuned version of microsoft/phi-2 using SPIN on ultrachat_200k dataset.
What's new
I think SPIN not only can use on a SFT model, but also it can use on a pretrained model. Therefore, I use SPIN on a pretrained model microsoft/phi-2. And I get a higher score better than origin pretrained model. You can check the open llm leaderboard.
But the ultrachat_200k dataset is a alignment dataset for sft model. I think there should use a alignment dataset for pretrained model.
I Think the best paradigm for training a conversational Large Language Model (LLM): pretrain -> dpo(spin) -> sft -> dpo(spin)
Training procedure
Training hyperparameters
The following hyperparameters were used during training:
- learning_rate: 5e-07
- train_batch_size: 1
- eval_batch_size: 1
- seed: 42
- distributed_type: multi-GPU
- num_devices: 8
- gradient_accumulation_steps: 8
- total_train_batch_size: 64
- total_eval_batch_size: 8
- optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
- lr_scheduler_type: linear
- lr_scheduler_warmup_ratio: 0.1
- num_epochs: 1
Framework versions
- Transformers 4.37.0
- Pytorch 2.1.2+cu121
- Datasets 2.14.6
- Tokenizers 0.15.2
Open LLM Leaderboard Evaluation Results
Detailed results can be found here
| Metric | Value |
|---|---|
| Avg. | 61.68 |
| AI2 Reasoning Challenge (25-Shot) | 63.57 |
| HellaSwag (10-Shot) | 75.57 |
| MMLU (5-Shot) | 57.93 |
| TruthfulQA (0-shot) | 46.22 |
| Winogrande (5-shot) | 73.48 |
| GSM8k (5-shot) | 53.30 |