peft
peft copied to clipboard
Deepspeed Zero3 LoRA merge error
Hi,
I found that when I use Deepspeed zero3, the LoRA merge cannot work. (The zero2 case works properly.) Could you help me to check that?
RuntimeErrorRuntimeError: : The size of tensor a (0) must match the size of tensor b (2048) at non-singleton dimension 1The size of tensor a (0) must match the size of tensor b (2048) at non-singleton dimension 1
Full error:
target.weight.data += (
RuntimeError: The size of tensor a (0) must match the size of tensor b (2048) at non-singleton dimension 1
target.weight.data += (
target.weight.data += (
RuntimeErrorRuntimeError: : The size of tensor a (0) must match the size of tensor b (2048) at non-singleton dimension 1The size of tensor a (0) must match t
he size of tensor b (2048) at non-singleton dimension 1
Traceback (most recent call last):
model.merge_lora_weights()
File "hf_decoder_model.py", line 415, in merge_lora_weights
self.get_backend_model().merge_and_unload()
File "lib/python3.9/site-packages/peft/tuners/lora.py", line 275, in merge_and_unload
target.weight.data += (
RuntimeError: The size of tensor a (0) must match the size of tensor b (2048) at non-singleton dimension 1
The config:
"fp16": {
"enabled": "auto",
"loss_scale": 0,
"loss_scale_window": 1000,
"initial_scale_power": 16,
"hysteresis": 2,
"min_loss_scale": 1
},
"bf16": {
"enabled": "auto"
},
"optimizer": {
"type": "AdamW",
"params": {
"lr": "auto",
"betas": "auto",
"eps": "auto",
"weight_decay": "auto"
}
},
"zero_optimization": {
"stage": 3,
"offload_optimizer": {
"device": "cpu",
"pin_memory": true
},
"offload_param": {
"device": "cpu",
"pin_memory": true
},
"overlap_comm": true,
"contiguous_gradients": true,
"sub_group_size": 1e9,
"reduce_bucket_size": "auto",
"stage3_prefetch_bucket_size": "auto",
"stage3_param_persistence_threshold": "auto",
"stage3_max_live_parameters": 1e9,
"stage3_max_reuse_distance": 1e9,
"stage3_gather_16bit_weights_on_model_save": true
},
"gradient_accumulation_steps": "auto",
"gradient_clipping": "auto",
"steps_per_print": 2000,
"train_batch_size": "auto",
"train_micro_batch_size_per_gpu": "auto",
"wall_clock_breakdown": false
}```