elinas's picture
Update README.md
97618bf verified
---
base_model:
- elinas/Llama-3-13B-Instruct
library_name: transformers
tags:
- mergekit
- merge
datasets:
- Chat-Error/Pure-dove-sharegpt
license: llama3
---
# Llama-3-13B-Instruct-ft
This is a QLoRA **finetune** of a merge of pre-trained language models created using [mergekit](https://github.com/cg123/mergekit).
The model is based on my passthrough merge of [Llama-3-13B-Instruct](https://huggingface.co/elinas/Llama-3-13B-Instruct)
This was primarily an experiment to see how a passthrough merge will respond to further finetuning, though this was done on a small dataset.
The goal was to make a "mid" sized model like Meta has released in the past and the merge method was inspired by [mlabonne's Llama-3-120B](https://huggingface.co/mlabonne/Meta-Llama-3-120B-Instruct).
The model was finetuned on **8192 context length** and is likely reliable using RoPE up to 32k.
It still cannot do math reliably; neither can Llama-3-8B, and in my tests only Llama-3-70B passes basic arithmetic, but it is a better storywriter/RP than Llama-3-8B from some side by side testing I conducted.
Further finetuning this model or finetuning the [base model](https://huggingface.co/elinas/Llama-3-13B-Instruct) on more samples is encouraged.
## Datasets
* [Chat-Error/Pure-dove-sharegpt](https://huggingface.co/datasets/Chat-Error/Pure-dove-sharegpt)
A small dataset was used to see how it affects performance. Originally I planned to do a larger dataset (196k samples), but wanted to start with a smaller one first to see how much the model improved with some additional finetuning.
Next steps would be finetuning on a larger dataset if through further testing, performance improvements are noticed.
## Finetuning details
This is a QLoRA model and all modules were targeted.
```yaml
lora_target_modules:
- gate_proj
- down_proj
- up_proj
- q_proj
- v_proj
- k_proj
- o_proj
lora_modules_to_save:
- embed_tokens
- lm_head
```
```yaml
The following hyperparameters were used during training:
- learning_rate: 1e-05
- train_batch_size: 1
- eval_batch_size: 1
- seed: 42
- distributed_type: multi-GPU
- num_devices: 3
- total_train_batch_size: 3
- total_eval_batch_size: 3
- optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
- lr_scheduler_type: cosine
- lr_scheduler_warmup_steps: 25
- num_epochs: 1
```
Optimizer `paged_adamw_8bit` and Deepspeed ZeRO 3 was used at a LR of `1e-5` using the cosine scheduler for 1 epoch on 3x3090s taking 4h 12m 13s total.
Sample packing and padding was disabled to reduce VRAM consumption significantly at the cost of speed.
W&B Run Summary
```
wandb: Run summary:
wandb: eval/loss 1.00774
wandb: eval/runtime 535.3847
wandb: eval/samples_per_second 0.721
wandb: eval/steps_per_second 0.241
wandb: total_flos 4167452590080.0
wandb: train/epoch 1.0
wandb: train/global_step 1157
wandb: train/grad_norm 4.50846
wandb: train/learning_rate 0.0
wandb: train/loss 1.4115
wandb: train_loss 1.00352
wandb: train_runtime 14921.1227
wandb: train_samples_per_second 0.233
wandb: train_steps_per_second 0.078
```
### Framework versions
- PEFT 0.10.0
- Transformers 4.40.0.dev0
- Pytorch 2.3.0+cu121
- Datasets 2.15.0
- Tokenizers 0.15.0
## Model Evaluation
TBD - submitted
If you have any questions or comments on the model, feel free to open a discussion in the community tab.
[<img src="https://raw.githubusercontent.com/OpenAccess-AI-Collective/axolotl/main/image/axolotl-badge-web.png" alt="Built with Axolotl" width="200" height="32"/>](https://github.com/OpenAccess-AI-Collective/axolotl)