|
--- |
|
license: apache-2.0 |
|
library_name: peft |
|
tags: |
|
- alignment-handbook |
|
- generated_from_trainer |
|
- trl |
|
- sft |
|
- generated_from_trainer |
|
datasets: |
|
- HuggingFaceH4/ultrachat_200k |
|
base_model: mistralai/Mistral-7B-v0.1 |
|
model-index: |
|
- name: zephyr-7b-sft-qlora |
|
results: [] |
|
--- |
|
|
|
# zephyr-7b-sft-qlora |
|
|
|
This model is a fine-tuned version of [mistralai/Mistral-7B-v0.1](https://huggingface.co/mistralai/Mistral-7B-v0.1) on the HuggingFaceH4ultrachat_200k dataset. |
|
It is the first step (Step 1 SFT, see below) of building Zephyr, i.e. before DPO. |
|
It achieves the following results on the evaluation set: |
|
- Loss: 0.9523 |
|
|
|
## Model description |
|
|
|
QLoRA SFT via |
|
``` |
|
# Step 1 - SFT |
|
ACCELERATE_LOG_LEVEL=info accelerate launch --config_file recipes/accelerate_configs/multi_gpu.yaml --num_processes=1 scripts/run_sft.py recipes/zephyr-7b-beta/sft/config_qlora.yaml --load_in_4bit=true |
|
``` |
|
see https://github.com/huggingface/alignment-handbook/blob/main/recipes/zephyr-7b-beta/README.md |
|
|
|
## Intended uses & limitations |
|
|
|
``` |
|
chat_template: "{% for message in messages %}\n{% if message['role'] == 'user' %}\n{{ '<|user|>\n' + message['content'] + eos_token }}\n{% elif message['role'] == 'system' %}\n{{ '<|system|>\n' + message['content'] + eos_token }}\n{% elif message['role'] == 'assistant' %}\n{{ '<|assistant|>\n' + message['content'] + eos_token }}\n{% endif %}\n{% if loop.last and add_generation_prompt %}\n{{ '<|assistant|>' }}\n{% endif %}\n{% endfor %}" |
|
``` |
|
|
|
see https://github.com/huggingface/alignment-handbook/blob/main/recipes/zephyr-7b-beta/sft/config_qlora.yaml |
|
|
|
## Training and evaluation data |
|
|
|
``` |
|
dataset_mixer: |
|
HuggingFaceH4/ultrachat_200k: 1.0 |
|
dataset_splits: |
|
- train_sft |
|
- test_sft |
|
``` |
|
|
|
see https://github.com/huggingface/alignment-handbook/blob/main/recipes/zephyr-7b-beta/sft/config_qlora.yaml |
|
|
|
## Training procedure |
|
|
|
### Training hyperparameters |
|
|
|
The following hyperparameters were used during training: |
|
- learning_rate: 0.0002 |
|
- train_batch_size: 1 |
|
- eval_batch_size: 2 |
|
- seed: 42 |
|
- distributed_type: multi-GPU |
|
- gradient_accumulation_steps: 8 |
|
- total_train_batch_size: 8 |
|
- optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08 |
|
- lr_scheduler_type: cosine |
|
- lr_scheduler_warmup_ratio: 0.1 |
|
- num_epochs: 1 |
|
|
|
### Training results |
|
|
|
| Training Loss | Epoch | Step | Validation Loss | |
|
|:-------------:|:-----:|:-----:|:---------------:| |
|
| 0.913 | 1.0 | 17428 | 0.9523 | |
|
|
|
|
|
### Framework versions |
|
|
|
- PEFT 0.7.1 |
|
- Transformers 4.36.2 |
|
- Pytorch 2.1.2 |
|
- Datasets 2.14.6 |
|
- Tokenizers 0.15.0 |