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

训练数据集图文多对多的问题 #41

Closed
jerryl777 opened this issue Jan 18, 2023 · 4 comments
Closed

训练数据集图文多对多的问题 #41

jerryl777 opened this issue Jan 18, 2023 · 4 comments

Comments

@jerryl777
Copy link

感谢分享这个工作。
想请教下训练集里会存在一个图对应多个文本以及一个文本对应多个图的情况吗?目前我的finetune数据训练集里有比较多的这种多对多的数据,请教下最恰当的处理方式是?像一个图对多个文本的话,一般是将这多个文本拼接成一个长文本,还是拆成多个图文对样本来处理会比较好?谢谢!

@yangapku
Copy link
Member

您好,这里有一个相关的issue #36 有所解释,相关具体流程可以参考readme数据预处理部分finetune dataset的代码实现。目前我们处理上,在预处理时会把多对多的情况,拆成多个一对一的图文对用于训练。由于训练中对图文对会进行shuffle,shuffle的随机性减缓了相同图像或文本的样例出现在一个batch。同时我们在多卡global batch上计算对比学习损失,batch如果开大些,能学习的负例也比较多,相对这个因素造成的因素就会小一些了。目前Chinese-CLIP在预训练和汇报的下游任务上,简单起见没有再进行更多这方面的特殊处理,您也可以在目前的基础上继续优化数据处理和采样流程,可能会有更好的提升~

@jerryl777
Copy link
Author

感谢回复。
冒昧多问一下,一个图对应多个文本的情况,“将这多个文本拼接成一个长文本”以及“拆成多个图文对样本”这两种处理方式的优劣是什么?

@yangapku
Copy link
Member

您好!我们使用"多个文本拼接成一个长文本"这种情况还是比较少的,主要的考虑,一个是可能文本的长度会变长,有可能超出我们预训练模型52的文本长度限制,另一个是可能文本的形式会和下游应用产生一定的gap(下游一般是针对单条文本的任务)。最终采用了直接拆成多个图文对样本这种方案。

如果有更多问题,欢迎继续留言。如果觉得Chinese-CLIP代码库对您有帮助,请您为我们点点star⭐️并推荐给身边的朋友们!

@jerryl777
Copy link
Author

👌谢谢!

@yangapku yangapku closed this as completed Feb 4, 2023
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