|
--- |
|
license: apache-2.0 |
|
datasets: |
|
- jondurbin/airoboros-3.2 |
|
language: |
|
- en |
|
library_name: transformers |
|
base_model: h2oai/h2o-danube2-1.8b-base |
|
--- |
|
|
|
# h2o-danube2 with ChatML template |
|
|
|
This is a [BAdam fine-tuned](https://arxiv.org/abs/2404.02827 "BAdam: A Memory Efficient Full Parameter Optimization Method for Large Language Models") and [LoRA+](https://arxiv.org/abs/2402.12354 "LoRA+: Efficient Low Rank Adaptation of Large Models") danube2 base model. It uses the ChatML template and was trained on the [Airoboros-3.2](https://huggingface.co/datasets/jondurbin/airoboros-3.2) (CC BY 4.0) dataset from [jondurbin](https://huggingface.co/jondurbin). |
|
|
|
## Quants |
|
|
|
Thank you [mradermacher](https://huggingface.co/mradermacher)! |
|
|
|
- [mradermacher/danube2-1.8b-airoboros-3.2-GGUF](https://huggingface.co/mradermacher/danube2-1.8b-airoboros-3.2-GGUF) |
|
|
|
## Template |
|
|
|
```jinja |
|
<|im_start|>user |
|
{{instruction}}<|im_end|> |
|
<|im_start|>assistant |
|
{{response}}<|im_end|> |
|
``` |
|
|
|
## BAdam |
|
|
|
**System:** You are a helpful assistant. |
|
|
|
```yaml |
|
### model |
|
model_name_or_path: danube2-base-chatml |
|
|
|
### method |
|
stage: sft |
|
do_train: true |
|
finetuning_type: full |
|
use_badam: true |
|
badam_switch_mode: ascending |
|
badam_switch_interval: 50 |
|
badam_verbose: 1 |
|
badam_start_block: 13 |
|
badam_mask_mode: scatter |
|
seed: 314 |
|
|
|
### dataset |
|
dataset: airoboros32 |
|
template: hermes_chatml |
|
cutoff_len: 8192 |
|
overwrite_cache: false |
|
preprocessing_num_workers: 12 |
|
|
|
### output |
|
output_dir: airoboros32-chatml-badam |
|
logging_steps: 5 |
|
save_steps: 1 |
|
save_strategy: epoch |
|
plot_loss: true |
|
overwrite_output_dir: false |
|
|
|
### train |
|
per_device_train_batch_size: 2 |
|
gradient_accumulation_steps: 8 |
|
learning_rate: 0.00001 |
|
num_train_epochs: 2 |
|
lr_scheduler_type: cosine |
|
warmup_ratio: 0.01 |
|
pure_bf16: true |
|
flash_attn: fa2 |
|
|
|
### eval |
|
val_size: 0.01 |
|
per_device_eval_batch_size: 1 |
|
eval_strategy: steps |
|
eval_steps: 1000 |
|
``` |
|
|
|
### BAdam Training results |
|
|
|
| Training Loss | Epoch | Step | Validation Loss | |
|
|:-------------:|:------:|:----:|:---------------:| |
|
| 0.9124 | 0.2753 | 1000 | 0.9466 | |
|
| 0.8072 | 0.5506 | 2000 | 0.9149 | |
|
| 0.9017 | 0.8258 | 3000 | 0.8982 | |
|
| 0.8883 | 1.1011 | 4000 | 0.8844 | |
|
| 0.8405 | 1.3764 | 5000 | 0.8786 | |
|
| 0.864 | 1.6517 | 6000 | 0.8754 | |
|
| 0.7758 | 1.9270 | 7000 | 0.8752 | |
|
|
|
## QLoRA+ |
|
|
|
**System:** None |
|
|
|
```yaml |
|
### model |
|
model_name_or_path: airoboros32-chatml-badam |
|
|
|
### method |
|
stage: sft |
|
do_train: true |
|
finetuning_type: lora |
|
lora_target: all |
|
loraplus_lr_ratio: 16.0 |
|
lora_rank: 8 |
|
lora_alpha: 16 |
|
use_unsloth: true |
|
quantization_bit: 4 |
|
upcast_layernorm: true |
|
seed: 314 |
|
|
|
### dataset |
|
dataset: airoboros32 |
|
template: hermes_chatml |
|
cutoff_len: 8192 |
|
overwrite_cache: false |
|
preprocessing_num_workers: 12 |
|
|
|
### output |
|
output_dir: airoboros32-chatml-badam/loraplus |
|
logging_steps: 1 |
|
save_steps: 1 |
|
save_strategy: epoch |
|
plot_loss: true |
|
overwrite_output_dir: false |
|
|
|
### train |
|
per_device_train_batch_size: 4 |
|
gradient_accumulation_steps: 4 |
|
learning_rate: 0.0001 |
|
num_train_epochs: 2.0 |
|
lr_scheduler_type: cosine |
|
warmup_ratio: 0.01 |
|
bf16: true |
|
flash_attn: fa2 |
|
|
|
### eval |
|
val_size: 0.02 |
|
per_device_eval_batch_size: 1 |
|
eval_strategy: steps |
|
eval_steps: 1000 |
|
``` |
|
|
|
### QLoRA+ Training results |
|
|
|
| Training Loss | Epoch | Step | Validation Loss | |
|
|:-------------:|:------:|:----:|:---------------:| |
|
| 0.9691 | 0.2781 | 1000 | 0.8704 | |
|
| 0.7387 | 0.5562 | 2000 | 0.8443 | |
|
| 0.6769 | 0.8343 | 3000 | 0.8250 | |
|
| 0.5156 | 1.1123 | 4000 | 0.8134 | |
|
| 0.4142 | 1.3904 | 5000 | 0.8029 | |
|
| 0.6328 | 1.6685 | 6000 | 0.7953 | |
|
| 0.872 | 1.9466 | 7000 | 0.7927 | |
|
|