A small, high quality, dataset was used as a PoC / validation on stabilizing the model after finetuning.
Finetuning details
This is a QLoRA model and the following modules were targeted.
yaml
1lora_target_modules:2- down_proj
3- o_proj
The model is coherent even with training the "zeroed" layers and can write well. In the next experiment, all layers will be finetuned as this was
the recommendation from Charles Goddard - thank you for sharing the method of merging as well as Toasty
Pigeon for bringing it to my attention!
yaml
1The following hyperparameters were used during training:2-learning_rate:1e-053-train_batch_size:24-eval_batch_size:25-seed:426-distributed_type: multi-GPU
7-num_devices:38-total_train_batch_size:69-total_eval_batch_size:610-optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-0811-lr_scheduler_type: cosine
12-lr_scheduler_warmup_steps:2513-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 2h 30m total.
Sample packing and padding was disabled to reduce VRAM consumption significantly at the cost of speed.