kongds / MoRA

MoRA: High-Rank Updating for Parameter-Efficient Fine-Tuning
https://arxiv.org/abs/2405.12130
Apache License 2.0
340 stars 21 forks source link

运行时报错:MoRA/peft-mora/src/peft/tuners/lora /layer.py文件中有俩个小bug #17

Open chen-c-alt opened 2 months ago

chen-c-alt commented 2 months ago

修改: 1.在源文件261行前加入: while pad_size > in_f : x = torch.cat([x, x[..., :]], dim=-1) pad_size-=in_f 这是由于没考虑pad_size > in_f得情况导致。

2.在源文件293行代码替换为: if out_x.numel() == 0: out_x = out_x.view(x.shape[:-1], out_f) else : out_x = out_x.view(x.shape[:-1], -1)[..., :out_f] 这是由于未考虑 out_x 中element=0得情况。

kongds commented 2 months ago

感谢您的反馈,不过您提到的情况都比较特殊。

  1. 如果pad_size>in_f, mora的r就超过了in_f。这种情况下可能失去使用mora的必要了
  2. 另外out_x中element=0的情况,out_x是大小为0的tensor,并不会出现在一般情况下,且out_x对后续的操作也会有异常。