LLaMA-Factory icon indicating copy to clipboard operation
LLaMA-Factory copied to clipboard

全参数微调Qwen1.5-MoE-A2.7似乎卡住了,显卡使用率100%,但是没有在训练

Open Joris-Fu opened this issue 10 months ago • 14 comments

Reminder

  • [X] I have read the README and searched the existing issues.

Reproduction

    --deepspeed ../deepspeed/ds_z3_config.json \
    --stage sft \
    --do_train \
    --model_name_or_path Qwen1.5-MoE-A2.7B-Chat \
    --dataset custom_data\
    --dataset_dir ../../data \
    --template default \
    --finetuning_type full \
    --output_dir ../../saves/Qwen-MoE-2.7B-0325/full/sft \
    --overwrite_cache \
    --overwrite_output_dir \
    --cutoff_len 3000 \
    --preprocessing_num_workers 16 \
    --per_device_train_batch_size 1 \
    --per_device_eval_batch_size 1 \
    --gradient_accumulation_steps 2 \
    --lr_scheduler_type cosine \
    --logging_steps 10 \
    --warmup_steps 20 \
    --save_steps 1000 \
    --learning_rate 5e-5 \
    --num_train_epochs 1.0 \
    --ddp_timeout 180000000 \
    --plot_loss \
    --fp16 \
    --save_total_limit 1

Expected behavior

微信截图_20240405092644 微信截图_20240405092828

一直卡在这一整晚,显卡使用率100%,但是没有开始训练

System Info

微信截图_20240405092924

Others

只有训练moe模型有这个问题,其他非moe模型可以正常训练

Joris-Fu avatar Apr 05 '24 01:04 Joris-Fu

#3070 看来我们遇到了同样的问题

leeyusheng avatar Apr 05 '24 06:04 leeyusheng

遇到了相同的问题, 卡主了,不知道什么原因

zhl5842 avatar Apr 08 '24 02:04 zhl5842

全参数不行,lora可以 --finetuning_type lora
--lora_target q_proj,v_proj \

zimoqingfeng avatar Apr 08 '24 03:04 zimoqingfeng

全参数不行,lora可以 --finetuning_type lora --lora_target q_proj,v_proj \

并且deepspeed要开zero2

zimoqingfeng avatar Apr 08 '24 03:04 zimoqingfeng

我也遇到了这个问题,lora、zero2,跑了两次都是卡住,GPU利用率99%。然后AutoConfig加了output_router_logits=True就可以了,不知道是不是这个原因造成的

5663015 avatar Apr 09 '24 03:04 5663015

我也遇到了这个问题,lora、zero2,跑了两次都是卡住,GPU利用率99%。然后AutoConfig加了output_router_logits=True就可以了,不知道是不是这个原因造成的

请问能再说的详细一点吗,是模型的config的output_router_logits=True就行了,还是有别的改变?

leeyusheng avatar Apr 09 '24 05:04 leeyusheng

我也遇到了这个问题,lora、zero2,跑了两次都是卡住,GPU利用率99%。然后AutoConfig加了output_router_logits=True就可以了,不知道是不是这个原因造成的

请问能再说的详细一点吗,是模型的config的output_router_logits=True就行了,还是有别的改变?

是的,模型config的output_router_logits=True就行了,其他的没变

5663015 avatar Apr 09 '24 06:04 5663015

我也遇到了这个问题,lora、zero2,跑了两次都是卡住,GPU利用率99%。然后AutoConfig加了output_router_logits=True就可以了,不知道是不是这个原因造成的

请问能再说的详细一点吗,是模型的config的output_router_logits=True就行了,还是有别的改变?

是的,模型config的output_router_logits=True就行了,其他的没变

为啥我这边试了 还是不行,能贴下配置参数之类的么?

zhl5842 avatar Apr 09 '24 07:04 zhl5842

我也遇到了这个问题,lora、zero2,跑了两次都是卡住,GPU利用率99%。然后AutoConfig加了output_router_logits=True就可以了,不知道是不是这个原因造成的

请问能再说的详细一点吗,是模型的config的output_router_logits=True就行了,还是有别的改变?

是的,模型config的output_router_logits=True就行了,其他的没变

为啥我这边试了 还是不行,能贴下配置参数之类的么?

    --ddp_timeout 36000 \
    --do_train \
    --do_eval \
    --model_name_or_path $model_name_or_path \
    --data_path $data_path \
    --data_cache $data_cache \
    --eval_data_path $data_path \
    --data_files_list $data_files_list \
    --tokenization_func $tokenization_func \
    --preprocessing_num_workers 64 \
    --use_lora True \
    --use_dora False \
    --lora_r 64 \
    --lora_alpha 16 \
    --lora_target_modules "q_proj v_proj k_proj o_proj gate_proj down_proj up_proj" \
    --bf16 True \
    --torch_dtype "bfloat16" \
    --output_dir $output_dir \
    --overwrite_output_dir \
    --num_train_epochs $num_train_epochs \
    --per_device_train_batch_size $per_device_train_batch_size \
    --per_device_eval_batch_size $per_device_train_batch_size \
    --gradient_accumulation_steps $gradient_accumulation_steps \
    --evaluation_strategy "steps" \
    --eval_steps 0.1 \
    --logging_first_step True \
    --save_strategy "steps" \
    --save_steps 0.1 \
    --save_total_limit 2 \
    --learning_rate 1e-4 \
    --weight_decay 0.1 \
    --adam_beta2 0.95 \
    --warmup_ratio 0.01 \
    --lr_scheduler_type "cosine" \
    --logging_steps 10 \
    --report_to "none" \
    --max_seq_length $max_seq_length\
    --max_source_length $max_source_length \
    --max_target_length $max_target_length \
    --gradient_checkpointing True \
    --lazy_preprocess False \
    --deepspeed "configs/ds_zero2_no_offload.json"

不过我的代码是在qwen官方finetune代码基础上改的,你可以也参考一下qwen官方的代码

5663015 avatar Apr 09 '24 08:04 5663015

我也遇到了这个问题,lora、zero2,跑了两次都是卡住,GPU利用率99%。然后AutoConfig加了output_router_logits=True就可以了,不知道是不是这个原因造成的

请问能再说的详细一点吗,是模型的config的output_router_logits=True就行了,还是有别的改变?

是的,模型config的output_router_logits=True就行了,其他的没变

为啥我这边试了 还是不行,能贴下配置参数之类的么?

    --ddp_timeout 36000 \
    --do_train \
    --do_eval \
    --model_name_or_path $model_name_or_path \
    --data_path $data_path \
    --data_cache $data_cache \
    --eval_data_path $data_path \
    --data_files_list $data_files_list \
    --tokenization_func $tokenization_func \
    --preprocessing_num_workers 64 \
    --use_lora True \
    --use_dora False \
    --lora_r 64 \
    --lora_alpha 16 \
    --lora_target_modules "q_proj v_proj k_proj o_proj gate_proj down_proj up_proj" \
    --bf16 True \
    --torch_dtype "bfloat16" \
    --output_dir $output_dir \
    --overwrite_output_dir \
    --num_train_epochs $num_train_epochs \
    --per_device_train_batch_size $per_device_train_batch_size \
    --per_device_eval_batch_size $per_device_train_batch_size \
    --gradient_accumulation_steps $gradient_accumulation_steps \
    --evaluation_strategy "steps" \
    --eval_steps 0.1 \
    --logging_first_step True \
    --save_strategy "steps" \
    --save_steps 0.1 \
    --save_total_limit 2 \
    --learning_rate 1e-4 \
    --weight_decay 0.1 \
    --adam_beta2 0.95 \
    --warmup_ratio 0.01 \
    --lr_scheduler_type "cosine" \
    --logging_steps 10 \
    --report_to "none" \
    --max_seq_length $max_seq_length\
    --max_source_length $max_source_length \
    --max_target_length $max_target_length \
    --gradient_checkpointing True \
    --lazy_preprocess False \
    --deepspeed "configs/ds_zero2_no_offload.json"

不过我的代码是在qwen官方finetune代码基础上改的,你可以也参考一下qwen官方的代码

那就是llama-factory支持上还有些问题

zhl5842 avatar Apr 09 '24 08:04 zhl5842

请问有解决方案吗

chensongcan avatar Apr 11 '24 03:04 chensongcan

完全一样的问题 用的zero3 其他模型可以

wangshunyi avatar Apr 15 '24 11:04 wangshunyi

我也遇到了这个问题,lora、zero2,跑了两次都是卡住,GPU利用率99%。然后AutoConfig加了output_router_logits=True就可以了,不知道是不是这个原因造成的

请问能再说的详细一点吗,是模型的config的output_router_logits=True就行了,还是有别的改变?

是的,模型config的output_router_logits=True就行了,其他的没变

为啥我这边试了 还是不行,能贴下配置参数之类的么?

这个我加了也不行,有解决这个问题吗

ldh127 avatar Apr 15 '24 13:04 ldh127

更新最新的transformers到4.41.0.dev0, 可以runing了, 但是速度非常慢。。。

zhl5842 avatar Apr 19 '24 08:04 zhl5842