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:
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.
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.
Increased batch size. Thought this also might be helpful in smoothing out learning.
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 | 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 | 24.28 | 51.31 | 40.33 | 29.47 | 36.35 |
Broken model:
Model | AGIEval | GPT4All | TruthfulQA | Bigbench |
---|---|---|---|---|
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 | 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.
See axolotl config
axolotl version: 0.4.0
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 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
- Downloads last month
- 0