Lambent's picture
Update README.md
2abd74f verified
---
base_model:
- Lambent/cosmo-1b-tune-pythontest
- Lambent/cosmo-1b-qlora-pythontest
- Lambent/cosmo-1b-lisa-pythontest
- Lambent/cosmo-1b-galore-pythontest
- HuggingFaceTB/cosmo-1b
library_name: transformers
tags:
- mergekit
- merge
license: apache-2.0
---
# pythontestmerge
This is a merge of pre-trained language models created using [mergekit](https://github.com/cg123/mergekit).
Catastrophic forgetting test results:
Initial evaluation loss on 1k subset of HuggingFaceTB/cosmopedia-100k dataset was 1.038. (I'm impressed.)
100 steps of LISA training isn't strictly reducing this over time, it's reducing but jumping around a bit.
Might be converged to within that method's margin of error; cosmo-1b itself jumped 0.02 points with LISA training.
Comparison to control: cosmo-1b started out with 1.003 loss on (a different subset of) dataset, increasing to 1.024 at 100 steps.
Method by method comparison, initial evaluation loss on Cosmopedia data:
* Full tuning (aka continued pretraining), batch 8: 1.615
* LISA fine-tuning, 4 layers switching every 10 steps, batch 8: 1.217
* QLoRA with Dora (otherwise like below): 1.105
* Qlora fine-tuning, rank 256, scale factor 1, batch 8: 1.102
* Galore tuning, rank 256, scale factor 1, batch 8: 1.182
* This Model Stock merge of all 4 training methods: 1.038
* Model Stock 3/4 Methods (all except full tuning): 1.021
* Control (cosmo-1b): 1.003
Training set validation results:
* Cosmo-1b Starting Eval Loss: ~0.65
* Model Stock 3/4 Loss: 0.451
* Model Stock Loss: 0.40211
* LISA Loss: 0.2534
* GaLore Loss: 0.2426
* QLoRA Loss: 0.2078
* QLoRA with Dora Loss: 0.2055 (almost identical training graph)
* Full Tune Loss: 0.2049
Overall ... not sure what to make of this, beyond that high-rank QLoRA is doing something particularly impressive while using only like 6GB of vRAM.
The Model Stock merge between the 4 different tuning methods clearly recovered a lot of original knowledge, at the cost of something like half the adaptation to new data.
Of course, cosmo-1b was already pretty good at predicting the new data, narrow and task-focused as it was.
## Merge Details
### Merge Method
This model was merged using the [Model Stock](https://arxiv.org/abs/2403.19522) merge method using [HuggingFaceTB/cosmo-1b](https://huggingface.co/HuggingFaceTB/cosmo-1b) as a base.
### Models Merged
The following models were included in the merge:
* [Lambent/cosmo-1b-tune-pythontest](https://huggingface.co/Lambent/cosmo-1b-tune-pythontest)
* [Lambent/cosmo-1b-qlora-pythontest](https://huggingface.co/Lambent/cosmo-1b-qlora-pythontest)
* [Lambent/cosmo-1b-lisa-pythontest](https://huggingface.co/Lambent/cosmo-1b-lisa-pythontest)
* [Lambent/cosmo-1b-galore-pythontest](https://huggingface.co/Lambent/cosmo-1b-galore-pythontest)
### Configuration
The following YAML configuration was used to produce this model:
```yaml
models:
- model: Lambent/cosmo-1b-lisa-pythontest
- model: Lambent/cosmo-1b-qlora-pythontest
- model: Lambent/cosmo-1b-galore-pythontest
- model: Lambent/cosmo-1b-tune-pythontest
base_model: HuggingFaceTB/cosmo-1b
merge_method: model_stock
parameters:
filter_wise: false
dtype: float16
```