--- license: cc library_name: peft tags: - generated_from_trainer base_model: Lambent/cosmoem-4x1b model-index: - name: lora-out-2 results: [] --- Tried to keep similar to smaller model training still, but made some adjustments based on prior results with the MoE. Adjustments from previous, learning-broken model: 1. Started smaller. This model is 4x1b, with the positive and negative prompts from the original 8x1b doubled up. Layer 1 is the only layer underutilized in this setup. I did not try to give it a random mask because I am unsure if my method was functional. 2. Decreased learning rate. The loss on the previous CosMoE had sharp spikes, suggesting overshooting appropriate solutions. Here I started with a learning rate of 1/4 the rate used on the smaller model. 3. Increased batch size. Thought this also might be helpful in smoothing out learning. 4. Avoided loading in 8-bit since I am having issues with that currently. Preliminary results: - Training and validation loss is a bit higher than on the small model; not quite as fit. - Train/loss is much less spiky than prior attempt. There's one modest spike to 2.225 at around 25% through the epoch, and otherwise it's not very spiky at all. - GPU memory utilization was at about 30% of an 80GB GPU. Hardware was probably overkill. Capabilities comparisons: Untrained small model: | Model |AGIEval|GPT4All|TruthfulQA|Bigbench|Average| |---------------------------------------------------------|------:|------:|---------:|-------:|------:| |[cosmo-1b](https://huggingface.co/HuggingFaceTB/cosmo-1b)| 22.97| 52.01| 38.02| 28.73| 35.43| Trained small model, same dataset and similar training (at higher learning rate and smaller batch size): | Model |AGIEval|GPT4All|TruthfulQA|Bigbench|Average| |-------------------------------------------------------------------------|------:|------:|---------:|-------:|------:| |[CosmoAlpacaLight-1b](https://huggingface.co/Lambent/CosmoAlpacaLight-1b)| 24.28| 51.31| 40.33| 29.47| 36.35| Broken model: | Model |AGIEval| GPT4All | TruthfulQA |Bigbench| |-------------------------------------------------------------------------------|------:|--------------------------|--------------------------|-------:| |[CosMoEAlpacaLight-8x1b](https://huggingface.co/Lambent/CosMoEAlpacaLight-8x1b)| 24.13|Error: File does not exist|Error: File does not exist| 28.95| This model: | Model |AGIEval|GPT4All|TruthfulQA|Bigbench|Average| |---------------------------------------------------------------------------------|------:|------:|---------:|-------:|------:| |[CosMoE-AlpacaLight-v0.2](https://huggingface.co/Lambent/CosMoE-AlpacaLight-v0.2)| 23.09| 51.98| 39.1| 28.42| 35.65| Observations: Capabilities updates were directionally similar to the smaller/deeper model except on Bigbench; but less was learned. (Probably has something to do with the lower learning rate.) Lack of errors on GPT4All and TruthfulQA is hopefully a sign that it did not break in training this time. Thoughts for further testing: One or two additional epochs on the dataset might be interesting to test both the small model and the MoE on. [Built with Axolotl](https://github.com/OpenAccess-AI-Collective/axolotl)
See axolotl config axolotl version: `0.4.0` ```yaml base_model: Lambent/cosmoem-4x1b model_type: AutoModelForCausalLM tokenizer_type: LlamaTokenizer trust_remote_code: true load_in_8bit: false load_in_4bit: false strict: false datasets: - path: vicgalle/alpaca-gpt4 type: alpaca dataset_prepared_path: val_set_size: 0.05 output_dir: ./lora-out-2 sequence_len: 2048 sample_packing: true eval_sample_packing: false pad_to_sequence_len: true adapter: lora lora_model_dir: lora_r: 64 lora_alpha: 16 lora_dropout: 0.1 lora_target_linear: true lora_fan_in_fan_out: wandb_project: CosMoE-AlpacaLight-v0.2 wandb_entity: wandb_watch: wandb_name: wandb_log_model: gradient_accumulation_steps: 4 micro_batch_size: 8 num_epochs: 1 optimizer: adamw_bnb_8bit lr_scheduler: cosine learning_rate: 0.00005 train_on_inputs: false group_by_length: false bf16: auto fp16: tf32: false gradient_checkpointing: true early_stopping_patience: resume_from_checkpoint: local_rank: logging_steps: 1 xformers_attention: flash_attention: true warmup_steps: 10 evals_per_epoch: 4 saves_per_epoch: 1 debug: deepspeed: weight_decay: 0.0 fsdp: fsdp_config: special_tokens: ```

# lora-out-2 This model is a fine-tuned version of [Lambent/cosmoem-4x1b](https://huggingface.co/Lambent/cosmoem-4x1b) on the alpaca-gpt4 dataset. It achieves the following results on the evaluation set: - Loss: 1.0984 ## Model description More information needed ## Intended uses & limitations More information needed ## Training and evaluation data More information needed ## Training procedure ### Training hyperparameters The following hyperparameters were used during training: - learning_rate: 5e-05 - train_batch_size: 8 - eval_batch_size: 8 - seed: 42 - gradient_accumulation_steps: 4 - total_train_batch_size: 32 - optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08 - lr_scheduler_type: cosine - lr_scheduler_warmup_steps: 10 - num_epochs: 1 ### Training results | Training Loss | Epoch | Step | Validation Loss | |:-------------:|:-----:|:----:|:---------------:| | 1.2267 | 0.01 | 1 | 1.2979 | | 1.148 | 0.25 | 41 | 1.1314 | | 1.0815 | 0.51 | 82 | 1.1038 | | 1.0768 | 0.76 | 123 | 1.0984 | ### Framework versions - PEFT 0.9.0 - Transformers 4.39.0.dev0 - Pytorch 2.1.2+cu118 - Datasets 2.18.0 - Tokenizers 0.15.0