THUDM / SwissArmyTransformer

SwissArmyTransformer is a flexible and powerful library to develop your own Transformer variants.

Home Page:https://THUDM.github.io/SwissArmyTransformer

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

模型并行的方式进行lora方式的finetuning要怎么设置呢

kunden0612 opened this issue · comments

我设置会出现mp_size=2以后进行lora训练,会出现维度不匹配的问题

如果是VisualGLM的话,可以参考这个issue:THUDM/VisualGLM-6B#209 (comment)

模型并行里使用lora需要构建好模型以后再model.add_mixin(lora)

如果是VisualGLM的话,可以参考这个issue:THUDM/VisualGLM-6B#209 (comment)

模型并行里使用lora需要构建好模型以后再model.add_mixin(lora)

我这边微调的是GLM-10B-zh,参考这个方式,还是出现一些新的问题,如果使用model, args = FineTuneGLMModel.from_pretrained("glm-large-zh", args=args, overwrite_args={'model_parallel_size':2}),则会出现ValueError: model_parallel_size is inconsistent with prior configuration.We currently do not support changing model_parallel_size.这个问题,在去除overwrite_args={'model_parallel_size':2},和调整layer_range则还是有原来维度的问题

需要在训练脚本里设置--model-parallel-size 2这个参数,否则size就会和overwrite里的不一致

需要在训练脚本里设置--model-parallel-size 2这个参数,否则size就会和overwrite里的不一致

非常感谢您的耐心解答,我这边已经能够调通了!

还有一个问题就是会出现if not (attention_mask.shape[-2] == 1 and (attention_mask > 0).all()): IndexError: tuple index out of range的问题,看了一下我的模型输入的attention_mask的维度是torch.Size([2, 1, 520, 520]),但是在transformer_defaults.py的29行前输出attention_mask的维度时,首先是torch.Size([2, 1, 520, 520]),后面却是torch.Size([540800])了