axolotl-ai-cloud / axolotl

Go ahead and axolotl questions
https://axolotl-ai-cloud.github.io/axolotl/
Apache License 2.0
7.48k stars 808 forks source link

Training early stop without setting the early_stopping_patience parameters #1775

Open leoozy opened 1 month ago

leoozy commented 1 month ago

Please check that this issue hasn't been reported before.

Expected Behavior

image I set the num_epoch 5.0 and early_stopping_patience: But the training of llama3-8b alwasy stops at the ~2.9 epochs

Current behaviour

image I set the num_epoch 5.0 and early_stopping_patience: But the training of llama3-8b alwasy stops at the ~2.9 epochs

Steps to reproduce

/opt/anaconda3/envs/open-sora/bin/accelerate launch -m axolotl.cli.train llama3_8b_sft.yaml --deepspeed zero3_bf16.json

Config yaml

base_model: /zhangjunlei/download/models/Meta-Llama-3-70B-Instruct/Meta-Llama-3-70B-Instruct
model_type: LlamaForCausalLM
tokenizer_type: AutoTokenizer  # PreTrainedTokenizerFast

load_in_8bit: false
load_in_4bit: false
strict: false

datasets:
  - path: /zhangjunlei/code/zjl/axolotl/data/vwa.json
    type: alpaca
    ds_type: json
dataset_prepared_path: last_run_prepared
val_set_size: 0.05
output_dir: /zhangjunlei/code/axolotl/outputs/out/qlora-llama3-70b

adapter: qlora
lora_model_dir:

sequence_len: 8192
sample_packing: false
pad_to_sequence_len: true

lora_r: 8
lora_alpha: 16
lora_dropout: 0.05
lora_target_modules:
lora_target_linear: true
lora_fan_in_fan_out:

wandb_project:
wandb_entity:
wandb_watch:
wandb_name:
wandb_log_model:

gradient_accumulation_steps: 16
micro_batch_size: 1
num_epochs: 5
optimizer: adamw_torch
lr_scheduler: cosine
learning_rate: 0.00001

train_on_inputs: false
group_by_length: false
bf16: auto
fp16:
tf32: false

gradient_checkpointing: true
gradient_checkpointing_kwargs:
  use_reentrant: true
early_stopping_patience:
resume_from_checkpoint:
local_rank:
logging_steps: 1
xformers_attention:
flash_attention: true

warmup_steps: 10
evals_per_epoch: 4
eval_table_size:
saves_per_epoch: 1
debug:
deepspeed:
weight_decay: 0.0
fsdp:
  - full_shard
  - auto_wrap
fsdp_config:
  fsdp_limit_all_gathers: true
  fsdp_sync_module_states: true
  fsdp_offload_params: true
  fsdp_use_orig_params: false
  fsdp_cpu_ram_efficient_loading: true
  fsdp_auto_wrap_policy: TRANSFORMER_BASED_WRAP
  fsdp_transformer_layer_cls_to_wrap: LlamaDecoderLayer
  fsdp_state_dict_type: FULL_STATE_DICT
  fsdp_sharding_strategy: FULL_SHARD
special_tokens:
  pad_token: <|end_of_text|>

Possible solution

No response

Which Operating Systems are you using?

Python Version

3.10

axolotl branch-commit

main

Acknowledgements

mhenrichsen commented 1 month ago

Thanks for reporting. Have you tested what happens if you remove early_stopping_patience: completely from the config?