Closed markWJJ closed 1 year ago
seq_len 是640
batch越大计算量越大,这个不难理解吧!
同样的参数,huggingface的Trainer 可以达到batch_size 16 我这边只能达到4左右就会OOM
同样的参数,huggingface的Trainer 可以达到batch_size 16 我这边只能达到4左右就会OOM
例如lora 你改了那些参数呢?上传一下train-info-args看看。
{ "zero_allow_untested_optimizer": true, "fp16": { "enabled": true, "auto_cast": false, "loss_scale": 0, "initial_scale_power": 16, "loss_scale_window": 1000, "hysteresis": 2, "min_loss_scale": 1 }, "zero_optimization": { "stage": 2, "allgather_partitions": true, "allgather_bucket_size": 5e8, "overlap_comm": false, "reduce_scatter": true, "reduce_bucket_size": 5e8, "contiguous_gradients" : true, "offload_optimizer": { "device": "cpu", "pin_memory": true },
"stage3_max_live_parameters" : 1e9,
"stage3_max_reuse_distance" : 1e9,
"stage3_prefetch_bucket_size" : 5e8,
"stage3_param_persistence_threshold" : 1e6,
"sub_group_size" : 1e12,
"elastic_checkpoint" : true,
"stage3_gather_16bit_weights_on_model_save": true,
"ignore_unused_parameters": true,
"round_robin_gradients": true
},
"optimizer": { "type": "AdamW", "params": { "lr": 1e-5, "betas": [0.9,0.99], "eps":1e-8, "weight_decay":3e-7 } }, "train_micro_batch_size_per_gpu":2 }
现在是做deepspeed 这是config
就改了 batch_size 和max_seq_len:1024
就改了 batch_size 和max_seq_len:1024
你这个标题属实没看懂,建议重新提问
就改了 batch_size 和max_seq_len:1024
你这个标题属实没看懂,建议重新提问
或者说您那边实验的时候 A100上1024的长文本 最高能用多少的batch-size ChatGLM的非量化版 lora/ptuning/finetune 的实验都可以
就改了 batch_size 和max_seq_len:1024
你这个标题属实没看懂,建议重新提问
或者说您那边实验的时候 A100上1024的长文本 最高能用多少的batch-size ChatGLM的非量化版 lora/ptuning/finetune 的实验都可以
按照readme 半精度 训练试一下。
就改了 batch_size 和max_seq_len:1024
你这个标题属实没看懂,建议重新提问
或者说您那边实验的时候 A100上1024的长文本 最高能用多少的batch-size ChatGLM的非量化版 lora/ptuning/finetune 的实验都可以
按照readme 半精度 训练试一下。
目前是半精度 请问这样的设置是OK的吧
兄弟你ptuning跑通了吗?我无论怎么调整都是提示爆显存@ @markWJJ
如果半精度训练应该可以将batch加大不少。
兄弟你ptuning跑通了吗?我无论怎么调整都是提示爆显存@ @markWJJ
可以跑通 batch size=4
如果半精度训练应该可以将batch加大不少。
已经使用了半精度的
你能提供一下batch 开到 16 训练脚本和 deepspeed 参数 以及 对应的仓库吗? 学习学习。
你能提供一下batch 开到 16 训练脚本和 deepspeed 参数 以及 对应的仓库吗? 学习学习。
https://github.com/THUDM/ChatGLM-6B deepspeed --num_gpus=4 --master_port $MASTER_PORT main.py \ --deepspeed deepspeed1.json \ --do_train \ --train_file XXXX \ --preprocessing_num_workers 32 \ --prompt_column ask \ --response_column answer \ --cache_dir cache/batch16 \ --model_name_or_path /data/llm/ChatGLM/model \ --output_dir ./output/ask-chatglm-6b-ft \ --max_source_length 512 \ --max_target_length 512 \ --num_train_epochs 3 \ --per_device_train_batch_size 24 \ --per_device_eval_batch_size 1 \ --gradient_accumulation_steps 1 \ --predict_with_generate \ --logging_steps 10 \ --save_steps 1000 \ --learning_rate $LR \ --fp16
你能提供一下batch 开到 16 训练脚本和 deepspeed 参数 以及 对应的仓库吗? 学习学习。
你能提供一下batch 开到 16 训练脚本和 deepspeed 参数 以及 对应的仓库吗? 学习学习。
半精度应该可以开到16 , 之前32精度差不多batch 就是4.
半精度应该可以开到16 , 之前32精度差不多batch 就是4.
文本长度大概多少 我这边文本比较长 max是1024 ,还有个问题 这个deeptraining的loss输出的时候 有没有那种累加的trainloss 而不是每次都是 单个step的loss
有的,见train_info_args.
A100 单卡下 不管什么方式 batch_sized大于4就会OOM,并且模型显存占用和batch_size成线性,请问是什么原因