Open elesun2018 opened 1 month ago
DATA的样例就是README给出的json示例
--num_train_epochs 5 这个参数配置能否减少,默认5训练时长太久了 1.5epoch-2epoch是否为best 经验值
另,是否支持训练日志可视化?观察训练效果
Qwen-VL/finetune/finetune_lora_single_gpu.sh中的--fix_vit True 的作用,谢谢
我在2400+对图文定位数据集上做微调,效果很差,完全找不到图片目标和文本得对应关系,我也试着调整--fix-vit参数,但也没用,效果依旧很差。 @elesun2018 楼上微调效果怎么样?
是否支持训练日志可视化?观察训练效果 A: 通过修改--report_to wandb实现观察训练效果。
我设置的--num_train_epochs 1.5 训练时长比较久目前没训练完成。
训练的label我使用的格式如下:狗[0.836,0.48,1.0,0.66],没有严格按照README给出的json示例。
另,训练过程中能否进行评估。谢谢!
有大佬只微调过视觉模块吗,最低需要多少算力?
你是说model.transformer.visual.requiresgrad(True)来实现微调过视觉模块? 这段代码没搞懂,不使用lora,fixvit为true,冻结vit? 使用lora占用资源较多,冻结vit,占用的资源不再那麽多?
请问这两者有什么区别 --lazy_preprocess True LazySupervisedDataset if data_args.lazy_preprocess else SupervisedDataset 谢谢!
你是说model.transformer.visual.requiresgrad(True)来实现微调过视觉模块? 这段代码没搞懂,不使用lora,fixvit为true,冻结vit? 使用lora占用资源较多,冻结vit,占用的资源不再那麽多?
这个似乎是全量微调的时候通过设置--fix_vit参数确定visual是否微调。通过lora微调,不是通过target_modules参数吗,就是对应finetune.py中的类LoraArguments的lora_target_modules。
请问gradient_checkpointing是何用途,谢谢
在标准的反向传播过程中,为了计算梯度,模型会保存所有中间层的输出(也就是激活值)。对于大型模型,这会迅速消耗大量内存。而启用gradient_checkpointing后,模型不会保存所有这些中间激活值。相反,它会在反向传播过程中重新计算部分前向传播步骤,仅在需要计算梯度的那一刻才计算相应的激活值。这样,尽管会增加一些计算开销(因为某些前向过程需要执行两次),但可以大幅度减少内存使用量。
请问这两者有什么区别 --lazy_preprocess True LazySupervisedDataset if data_args.lazy_preprocess else SupervisedDataset 谢谢!
请问如何根据peft保存的模型文件转换成推理用的qwen模型 有没有相应的代码
@KDD2018 我在2400+对图文定位数据集上做微调,效果很差,完全找不到图片目标和文本得对应关系,我也试着调整--fix-vit参数,但也没用,效果依旧很差。 后来找到问题了吗?
@KDD2018 我在2400+对图文定位数据集上做微调,效果很差,完全找不到图片目标和文本得对应关系,我也试着调整--fix-vit参数,但也没用,效果依旧很差。 后来找到问题了吗?
没有,微调之后,整体的聊天套路是学到了,但是目标和标签的关系完全没学到。我猜测是因为没有微调视觉模块,因为我看源码中LoraArguments的lora_target_modules参数指定的都是LM中的模块。仅仅是猜测,也请大佬们指点迷津。
请问如何根据peft保存的模型文件转换成推理用的qwen模型 有没有相应的代码
可以参考README中的微调部分,有相关代码
请问这两者有什么区别 --lazy_preprocess True LazySupervisedDataset if data_args.lazy_preprocess else SupervisedDataset 谢谢!
你是指LazySupervisedDataset和SupervisedDataset的区别吧, LazySupervisedDataset是获取到单个样本之后才进行preprocess。
按照上图进行lora merge_save生成结果 与huggingface下载的模型文件不太一致 请问tokenization_qwen.py tokenizer_config.json如何获取,什么作用,影响推理使用吗 谢谢!
@KDD2018 我在4W图文对,带定位box数据集上做lora微调。 效果也不行,跟没有训练没什么差异。但是训练日志还算可以。 wandb trainloss下降比较明显! --num_train_epochs 1.5,准备增大5-10epoch看下效果。 我Q 294813364
请问finetune中modules_to_save是什么用途 wte和lm head怎么设置 base_model.model.transformer.wte.modules_to_save base_model.model.lm_head.modules_to_save
请问target_modules的用途,应该根据什么如何设置,谢谢 这几个模块 "w1", "attn.c_proj", "c_attn", "w2"
@KDD2018 请问对Qwen-VL-Chat微调所需要的”图文对“数据量大概需要多少?目前进行lora微调效果不大 #300 我看其中提到,具体怎么对齐,有知道的吗,可以加Q交流:315386775
在进行lora微调后,进行测试,发现性能确实得到显著提升(大约10个点),原因在于可能之前的微调Prompt和测试Prompt没有对齐,将他们对齐后进行测试,性能的确是提升了。
能否解答下上述几个问题,谢谢
目前问题是lora训练loss下降明显趋于稳定,但是推理时发现跟没训练几乎没区别 lora训练后数参数,如何知道正在合并到了新的整体模型中了 谢谢
请问model.transformer.ln_f是论文里面的adapter层(交叉注意力)吗? finetune时adapter层是冻结的?
能否帮忙解答一下,谢谢
目前问题是lora训练loss下降明显趋于稳定,但是推理时发现跟没训练几乎没区别 lora训练后数参数,如何知道正在合并到了新的整体模型中了 谢谢
the same issue
请问model.transformer.ln_f是论文里面的adapter层(交叉注意力)吗? finetune时adapter层是冻结的? 梯度参数:base_model.model.transformer.ln_f.weight: torch.Size([4096]) False 这个参数需要打开 True,lora训练吗 如何跟论文对应上,参数量不对,to fix 256
请问model.transformer.ln_f是论文里面的adapter层(交叉注意力)吗? finetune时adapter层是冻结的? 梯度参数:base_model.model.transformer.ln_f.weight: torch.Size([4096]) False 这个参数需要打开 True,lora训练吗 如何跟论文对应上,参数量不对,to fix 256
我用finetune.py加载Qwen-VL-Chat-hug0611 huggingface trainer.train(),loss已训练至接近0 然后trainer.predict(data_module["eval_dataset"]) decoded_labels是正常的,而decoded_predicts是乱码。 使用trainer.predict后解码输出就看不出文字效果呢。 请问是什么原因
能否解答一下上述几个问题,谢谢!
请问train loss下降明显,而trainer.predict results中出现大部分乱码。是否正常,如何从results中提取想要的输出答案。
DATA="path_to_data" 能否提供DATA样例,比如coco图片描述 另,finetune是单阶段训练就可以了(冻结Vit训练CrossAtt+QwenLM),还是要训练多个阶段。 谢谢!