Open WeiXuanLi-1024 opened 1 year ago
qformer 尝试用了别的参数,训练图像4000张左右,输出都是这样。难道是qformer不能lora微调吗?
给的信息太少,我也无法判断你的代码有bug还是其他问题
qformer 添加微调位置如图所示: 其他参数 train-iters 2000 ChatGLM Lora参数默认 lora_rank 10 layer_range 0 14
请更新sat到最新版代码,已经没有head_first
后面这些参数了。(并且qformer不应该使用head_first=True)
git clone https://github.com/THUDM/SwissArmyTransformer
cd SwissArmyTransformer
pip install .
相应的,visualglm-6b的checkpoint也要重新下载。(visualglm的代码也要保持和github一致)
升级sat版本至0.4.3 同时更新代码 使用web_demo.py 进行测试,发现不管提问问题是什么,输出都是不变的, 然后做了一次实验,微调轮数设置设置200次,还是这个问题。
你用微调之前的visualglm-6b进行推理,输出是正常的吗?使用cli_demo.py
测是图像是泰坦尼克号,微调前: 是正常的
那用cli_demo.py试一下微调以后的模型呢?可能是web_demo.py有bug
昨天用cli_demo.py 试了下微调后模型,qformer 部分rank:10 layer 0(如第一张图所示) 语言微调参数部分默认,训练图像4000张左右,训练1000次,分别测试了600&400次保存权重测试,输出都是一样的。我想请问下,这个qformer 是必须要很多数据才能调吗?还是哪里设置的不对?之前只微调了语言部分不加qformer,对一些小目标识别不是很好。
代码部分没有问题,如何设计训练得你自己研究了。
可以试试把layer_range=[0]
改成layer_range=[-1]
,训练qformer的最后一层而不是第0层。
遇到同样问题
qformer在微调的时候不是默认一起训练的嘛?
默认不训练qformer,如果你想训练其他参数可以修改这里:https://github.com/THUDM/VisualGLM-6B/blob/main/finetune_visualglm.py#L34