Comments (8)
您好,这个问题我们确实后续需要更好支持下。我们进行Chinese-CLIP预训练时,对于预训练上亿量级图文对的分布式数据读取,其实是采用了集团内部的数据表读取机制(并非LMDB),LMDB这套数据存取逻辑是我们先为开源版本准备的,模型finetune因为数据量级不会很大,问题可能不大,但是处理7000w这种大量级的数据确实还是会有些不便。我们后面看看能否支持一些优化机制(比如支持按机器数/卡数切分成多个LMDB小文件,训练时每台机器/每张卡读取自己的LMDB小文件),但是我们现在人员精力确实相当紧张,所以可能会比较慢一些不太好预估何时完成。您可以先按照这样的思路进行尝试(LMDB本身应该是支持制作时保存在多个小文件中的),更欢迎您为我们提供PR,支持上这个issue哈。
from chinese-clip.
非常感谢您真诚的回答与建议,我们也是内部讨论后也是有相似想法:(1)人工制作多节点,先根据机器device进行LMDB切分,避免单device的IO瓶颈,这个方法代码比较简单,但切分比较繁琐;(2)采用分布式缓存数据库Redis去做多机的,虽然网上没有搜索到先例,但感觉值得一试
from chinese-clip.
路过,对于大规模数据读取,LMDB因为是顺序读取,随着数据量的增加io会成为瓶颈。这类问题可以采用类似tfrecord的处理方式,将数据进行分片,在分片内部顺序读取,分片间随机读取。
可使用工具:webdataset,pickle,tar等。
读取工具可以使用torchdata,目前已经可以较好支持webdataset等类似tar的读取。
另外一个问题是大规模数据的准备:可以借助spark等工具加速数据的生成
from chinese-clip.
明白~ 如果后续尝试有更多问题,欢迎及时沟通同步!
from chinese-clip.
请问一下把这7000万写入lmdb,速度快吗?
from chinese-clip.
各位大佬,把图像buffer存到parquet里的数据形式适合做clip训练吗?
from chinese-clip.
有更新嘛
from chinese-clip.
您好,这个问题我们确实后续需要更好支持下。我们进行Chinese-CLIP预训练时,对于预训练上亿量级图文对的分布式数据读取,其实是采用了集团内部的数据表读取机制(并非LMDB),LMDB这套数据存取逻辑是我们先为开源版本准备的,模型finetune因为数据量级不会很大,问题可能不大,但是处理7000w这种大量级的数据确实还是会有些不便。我们后面看看能否支持一些优化机制(比如支持按机器数/卡数切分成多个LMDB小文件,训练时每台机器/每张卡读取自己的LMDB小文件),但是我们现在人员精力确实相当紧张,所以可能会比较慢一些不太好预估何时完成。您可以先按照这样的思路进行尝试(LMDB本身应该是支持制作时保存在多个小文件中的),更欢迎您为我们提供PR,支持上这个issue哈。
大佬,请问下最后是怎么解决的, 我也是想训练千万级数据,但是处理成lmdb格式就已经很大了,训不起来
from chinese-clip.
Related Issues (20)
- 在GPU 推理报错 Segmentation fault
- 图文特征提取源码bug HOT 1
- image_b64为空 HOT 7
- AttributeError: 'Namespace' object has no attribute 'use_flash_attention'
- main.py: error: unrecognized arguments: --accum_freq=1 HOT 1
- 关于对导入LMDB数据集在微调的时候出现并行的问题 HOT 1
- 好像包里少项了,按路径找过去确实没找到这东西 HOT 1
- 图文特征融合
- 运行Recall计算评测脚本时出现{text_id:: command not found
- 这个问题太折磨了,找不到解决方法,有没有大神看一下 HOT 14
- 图到文检索Recall计算出现The evaluation failed: image_ids
- 使用RN50预训练模型和flick30k后得到的权重文件特别大 HOT 2
- text描述
- 为什么使用同样的词和图片得到的结果不一致?
- Downlodaded issue
- 关于ACC和R@5的问题 HOT 13
- LOSS:nan 微调时LOSS异常 HOT 12
- 无进行任何微调,直接用模型对总的数据集进行测试R@5值为50多,把总数据集切割为train、test和valid后直接测试R@5为10多
- 在finetune时报错KeyError: 'optimizer' HOT 1
- finetune时报错,且Traceback疑似被截断,无法定位出错线程 HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from chinese-clip.