Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于训练的一些疑问? #25

Open
pange1802703882 opened this issue Dec 2, 2024 · 9 comments
Open

关于训练的一些疑问? #25

pange1802703882 opened this issue Dec 2, 2024 · 9 comments

Comments

@pange1802703882
Copy link

您好,在测试的过程中发现,您提供的Qwen2_vl_7b模型遗忘问题很少,在千问官方提供的例子上仍然有特别好的效果,遗忘不明显;同时在ScreenSpot数据集上的效果非常有竞争力,请问您是用了什么特殊的训练方法吗?

@numbmelon
Copy link
Collaborator

并没有采取特别的训练方法, 可能是因为我们控制了learning rate在一个较低的水平(1e-6)。 Qwen2VL本身可能已经训练过大量GUI数据了,在我们scaling数据时并没有像InternVL-4B那样有显著的GUI能力提升,而是较缓慢地提升能力。

@pange1802703882
Copy link
Author

请问在pre-training和Fine-tuning阶段,对于qwen2-vl,您是采用全参数调整,还是lora训练呢,有没有对于某些层进行冻结什么的操作吗? 还有就是我看论文中原始的qwen2-vl 7B在screenSpot数据集上成绩就很高,但是我实际测试的时候,按照SeeClick的prompt提问,效果其实比较差,这是什么原因呀?

@numbmelon
Copy link
Collaborator

numbmelon commented Dec 3, 2024

用的是全参数训练,没有进行freeze操作。
Qwen2-VL 7B在screenspot上测试不高可能跟prompt有关。
可以尝试使用类似下面的prompt:

prompt_origin = "Identify the object in the image that belong to \"<|object_ref_start|>{}<|object_ref_end|>\". The output should be a point in the format (x, y), where x, y are the relative coordinate of the object. The relative coordinates should be within the range [0, 1000]"

(注意输出的是归一化后的相对坐标,需要更改评测代码)
还有一点就是未进行微调时,Qwen2-VL在输入尺寸为1000x1000左右的图片时grounding会更加准确一些(只是测试了部分例子,说法不一定准确),所以可以控制输入模型的max_pixel,或是在输入模型之前对图片进行等比例放缩,保证图片的长/宽不超过1024

@pange1802703882
Copy link
Author

奥奥,您的测试都是采用的point-grounding吗,没有采用bbox-grounding吗? 还有您在两个阶段训练的时候,数据集有使用通用数据集吗,还是只使用了GUI数据集呀?

@numbmelon
Copy link
Collaborator

不是,只是对没训练过的模型使用了point-grounding,这样测出来的基线会更高一些。实际测试时我们的7B模型使用的是bbox-grounding。数据集中只使用了GUI相关数据。

@pange1802703882
Copy link
Author

非常感谢您的回复,我再去实验一下^_^

@pange1802703882
Copy link
Author

您好,我采用您给的prompt,使用qwen2-vl-7B的原始模型,在screenspot上测试,效果虽然比您在论文里面的差一点点,但是总体提升非常明显。我有两个问题请教一下

  1. 请问,您是出于什么考虑,在qwen2-vl-7B上采用这个prompt呢(或者您是怎么生成这种高评估成绩的prompt的呢? 您给的是Point-grounding的,如果要采用box-grounding,我该怎么生成呢?)
  2. 我在采用您的os-altas-7B模型测试的时候,采用的是SeeClick的prompt(或者说您在hugging上给的例子) : "In this UI screenshot, what is the position of the element corresponding to the command "switch language of current page" (with bbox)?", 为什么这个您没有再选择用原始qwen2-vl的prompt,而是选择了这种prompt呢?

@numbmelon
Copy link
Collaborator

  1. 这个prompt其实我没有过多考虑过,应该会有更优的选择,你可以去查看一些评测相关的工作例如llms-eval, 或许能找到更优质的prompt,我这里只是遵循qwen的输出格式写了一条简单的指令。如果要做box-grounding,大概就是引导模型生成(x1,y1),(x2,y2)这样的格式?qwen给出的grounding输出示例中,坐标都是归一化到0-1000的整数的,我们沿用了这一点。
  2. 这是因为我们处理后的训练数据中包含很多这类格式的数据(沿用并增广了seeclick的预处理方式),对于我们训练后的模型,使用这种prompt在纯grounding任务上得到的输出会比较稳定。

@pange1802703882
Copy link
Author

感谢回复!!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants