Closed super-buster closed 5 months ago
启动指令是什么
启动指令是什么 deepspeed --master_port=$MASTER_PORT /share/projects/latest/FastChat/fastchat/train/train_llama3.py \ --model_name_or_path /share/yanzhongxiang/cpfs_models/models--NousResearch--Meta-Llama-3-8B-Instruct \ --data_path /share/datas/sft/processed/0103-tPkkg/lima_vicuna.json \ --bf16 True \ --output_dir /share/models/llama3_0515-$random_string-test \ --num_train_epochs 3 \ --per_device_train_batch_size 1 \ --per_device_eval_batch_size 1 \ --gradient_accumulation_steps 4 \ --evaluation_strategy "no" \ --save_strategy "epoch" \ --save_total_limit 3 \ --model_max_length 8192\ --learning_rate 3e-6 \ --weight_decay 0. \ --warmup_ratio 0.03 \ --lr_scheduler_type "cosine" \ --logging_steps 1 \ --deepspeed zero3_offload_config.json \ --tf32 True \ --gradient_checkpointing True \ --lazy_preprocess True
你试一下zero3_offload_config.json里面不要将模型和优化器进行卸载。
你试一下zero3_offload_config.json里面不要将模型和优化器进行卸载。 刚试了一下可以正常训练了!!! 不过这么做是不是就相当于zero1了? 然后为什么会出现这样的问题呀
就是有些参数卸载到cpu了,然后训练的框架里面没有考虑到。
就是有些参数卸载到cpu了,然后训练的框架里面没有考虑到。
嗯嗯,我刚确认了只有deepspeed zero3 offload会出现这个问题,zero2,zero2_offload可以正常训练。 因为我之前这些配置都训过,包括不同的模型。最近换了服务器重配了一下环境,怀疑是deepspeed的问题,找到了这个issue,有人提了如果deepspeed版本大于0.14.0会有这个问题。 https://github.com/microsoft/DeepSpeed/issues/5538
你好,我在单机多卡的时候遇到了这个问题,在原先用fschat训练的框架基础上只把preprocess函数给换了(可以确保其它部分没有问题)。参考你的preprocess做了一点点改动,第一,使用了两个 nl_tokens 去做分割,第二,统一使用eot_id去替代所有的tokenizer.pad_token_id。我训练脚本用的是deepspeed zero3启动。开始我以为是数据处理需要转为gpu上的tensor,尝试加载到gpu上,这个问题依然是存在的,并且我对比了一下fschat的实现,这个函数返回的数据就是在cpu上。最后是在计算loss的时候出现的这个问题,想问一下有可能是啥原因呢?
详细报错如下: