模型:
laion/CLIP-convnext_base_w-laion2B-s13B-b82K
CLIP-convnext_base_w-320.laion2B-s13B-b82K模型是一系列在部分LAION-5B( https://laion.ai/blog/laion-5b/ )数据子集上使用OpenCLIP( https://github.com/mlfoundations/open_clip )训练的CLIP ConvNeXt-Base (宽嵌入维度)模型。
目标:
首次:
这些模型使用ConvNeXt-Base模型(convnext_base)作为图像分支,使用与OpenAI CLIP中的RN50x4模型相同的文本分支(深度12,嵌入维度640)。基本模型在256x256的图像分辨率下进行训练,并在FLOPs和激活计数上与RN50x4模型基本匹配。名称中包含320的模型是在320x320下进行训练的。
此系列中的所有模型均训练了13B个样本,并在ImageNet零次射击中的top-1准确率达到70.8%或更高。和使用34B次子采样的ViT-B/16相比,零次射击准确率为70.2%(13B次子采样为68.1%),这表明ConvNeXt架构在模型规模范围内可能具有更高的样本效率。还需要进行更多实验来确认。
Model | Dataset | Resolution | AugReg | Top-1 ImageNet Zero-Shot (%) |
---|---|---|---|---|
12310321 | LAION-2B | 256x256 | RRC (0.9, 1.0) | 70.8 |
12311321 | LAION-2B | 256x256 | RRC (0.33, 1.0), RE (0.35), SD (0.1) | 71.5 |
12312321 | LAION-A | 256x256 | RRC (0.9, 1.0) | 71.0 |
12313321 | LAION-A | 320x320 | RRC (0.9, 1.0) | 71.7 |
12314321 | LAION-A | 320x320 | RRC (0.33, 1.0), RE (0.35), SD (0.1) | 71.3 |
RRC = 随机裁剪(裁剪概率),RE = 随机擦除(概率),SD = 随机深度(概率)--仅应用于图像分支
LAION-A = LAION-Aesthetic,是LAION-2B的约9亿样本子集,包括pHash去重和美学分数过滤。
模型的训练由Ross Wightman在 stability.ai 群集和 JUWELS Booster 超级计算机上进行。请参阅下面的致谢。
正如原始的 OpenAI CLIP model card 所述,此模型旨在成为研究社区的研究产出。我们希望该模型能够帮助研究人员更好地理解和探索零次射击的任意图像分类。我们还希望它可以用于研究此类模型潜在影响的跨学科研究。
OpenAI CLIP论文提供了潜在下游影响的讨论,作为此类分析的示例。此外,LAION-5B博客( https://laion.ai/blog/laion-5b/ )和即将发布的论文还包括与培训数据集相关的其他讨论。
零次射击图像分类、图像和文本检索等。
图像分类和其他图像任务微调、线性探针图像分类、引导和条件图像生成等。
根据OpenAI模型的规定,任何部署模型的用例(无论商业用途与否)都不在讨论范围内。即使在受限环境中的图像搜索等未部署用例中,也不建议使用,除非对模型进行了特定的领域测试,并使用特定的、固定的类别分类进行了测试。这是因为我们的安全性评估表明,尤其是考虑到CLIP在不同类别分类上的性能变化,任务特定的测试有很高的必要性,当前对模型的未经测试和不受限制的部署可能具有潜在的危害性。
无论模型性能如何,总是不建议将模型用于监视和人脸识别等领域。这是因为在目前缺乏测试规范和确保公平使用的检查措施的情况下,使用人工智能进行此类任务可能还为时过早。
由于该模型并没有专门在英语以外的任何语言上进行训练和评估,因此其使用应仅限于英语语言用例。
除了上述注意事项,此模型的训练所使用的LAION-5B数据集还有其他考虑事项,请参见下文。
此模型是使用以下之一训练的(请参阅简介中的表格):
重要说明:数据集创建的动机是使大规模多模态模型训练和处理未经筛选的、从公开可用的互联网中爬取的大规模数据集的研究和实验民主化。因此,我们建议仅将此数据集用于研究目的。请注意,此大规模数据集是未经筛选的。请注意,数据集的未经筛选性质意味着所收集的链接可能导致给人类观察者造成强烈不适和困扰的内容。因此,请谨慎使用演示链接,并自行承担风险。可以通过筛选出基于安全标签的样本(使用我们构建的经过定制训练的不良内容分类器)提取出“安全”子集。尽管这在观看时大大降低了遇到潜在有害内容的可能性,但我们无法完全排除安全模式下仍然存在有害内容的可能性,因此警告也适用于安全模式。我们认为向广大研究和其他感兴趣的社区提供数据集将有助于透明地研究与训练大规模模型相关的好处,以及在使用仅限于小型社区的封闭大型数据集时可能未报告或未注意到的问题和危险。然而,通过向这样大规模的模型提供我们的数据集,我们并不建议将其用于创建即用型工业产品,因为我们希望通过此版本鼓励有关此类大规模模型的基本属性和安全性的基础研究仍在进行中。
所有模型的全局批大小为81920,共进行64个检查点间隔的2.037亿个样本的训练,总共看到约130亿个样本的训练数据。
对于256x256的模型,在20个8-GPU(A100 40GB)节点(稳定性)上使用以下slurm脚本和srun命令进行训练,然后在JUWELS上切换到40个4-GPU节点执行训练。
/opt/slurm/sbin/srun --cpu_bind=v --accel-bind=gn python -m training.main \ --save-frequency 1 \ --name "convnext_256" \ --resume 'latest' \ --train-data="pipe:aws s3 cp s3://mybucket/path/{laion{00000..xxxxx}.tar -" \ --train-num-samples 203666042 \ --dataset-type webdataset \ --precision amp_bfloat16 \ --warmup 10000 \ --batch-size=512 \ --epochs=64 \ --dataset-resampled \ --clip-grad-norm 5.0 \ --lr 1e-3 \ --workers=6 \ --model "convnext_base_w" \ --seed 0 \ --ddp-static-graph \ --local-loss \ --gather-with-grad \ --grad-checkpointing
对于320x320的模型,与上述相同,但在32个8-GPU节点上进行训练,本地批大小为320;或者在JUWELS上使用64个4-GPU节点进行训练。
使用 LAION CLIP Benchmark suite 中的代码进行评估。
使用VTAB+(将VTAB( https://arxiv.org/abs/1910.04867 )与其他鲁棒性数据集结合)进行分类,使用COCO和Flickr进行检索。
这些模型在ImageNet-1k上的零次射击top-1准确率在70.8%和71.7%之间。
初步的基准测试已在更广泛的数据集范围上进行,可以在 https://github.com/LAION-AI/CLIP_benchmark/blob/main/benchmark/results.ipynb 查看。
作为对增加数据增强和正则化的探索的一部分,早期评估表明,augreg训练的模型在更广泛的分辨率范围内评估效果良好。对于320x320的LAION-A模型来说,这一点尤为明显。当以训练分辨率320x320进行评估时,augreg的准确率低于非augreg模型(71.3对71.7),但在384x384的分辨率下,augreg模型的准确率提高到72.2(非augreg模型在384x384的准确率降至71.0)。
感谢 stability.ai 和Gauss Centre for Supercomputing e.V.( http://gauss-centre.eu )通过John von Neumann Institute for Computing (NIC)在Jülich Supercomputing Centre (JSC)的GCS Supercomputer JUWELS Booster提供计算时间支持此工作的资助。
BibTeX:
LAION-5B
@inproceedings{schuhmann2022laionb, title={{LAION}-5B: An open large-scale dataset for training next generation image-text models}, author={Christoph Schuhmann and Romain Beaumont and Richard Vencu and Cade W Gordon and Ross Wightman and Mehdi Cherti and Theo Coombes and Aarush Katta and Clayton Mullis and Mitchell Wortsman and Patrick Schramowski and Srivatsa R Kundurthy and Katherine Crowson and Ludwig Schmidt and Robert Kaczmarczyk and Jenia Jitsev}, booktitle={Thirty-sixth Conference on Neural Information Processing Systems Datasets and Benchmarks Track}, year={2022}, url={https://openreview.net/forum?id=M3Y74vmsMcY} }
OpenCLIP软件
@software{ilharco_gabriel_2021_5143773, author = {Ilharco, Gabriel and Wortsman, Mitchell and Wightman, Ross and Gordon, Cade and Carlini, Nicholas and Taori, Rohan and Dave, Achal and Shankar, Vaishaal and Namkoong, Hongseok and Miller, John and Hajishirzi, Hannaneh and Farhadi, Ali and Schmidt, Ludwig}, title = {OpenCLIP}, month = jul, year = 2021, note = {If you use this software, please cite it as below.}, publisher = {Zenodo}, version = {0.1}, doi = {10.5281/zenodo.5143773}, url = {https://doi.org/10.5281/zenodo.5143773} }
OpenAI CLIP论文
@inproceedings{Radford2021LearningTV, title={Learning Transferable Visual Models From Natural Language Supervision}, author={Alec Radford and Jong Wook Kim and Chris Hallacy and A. Ramesh and Gabriel Goh and Sandhini Agarwal and Girish Sastry and Amanda Askell and Pamela Mishkin and Jack Clark and Gretchen Krueger and Ilya Sutskever}, booktitle={ICML}, year={2021} }
@Article{liu2022convnet, author = {Zhuang Liu and Hanzi Mao and Chao-Yuan Wu and Christoph Feichtenhofer and Trevor Darrell and Saining Xie}, title = {A ConvNet for the 2020s}, journal = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)}, year = {2022}, }
@misc{rw2019timm, author = {Ross Wightman}, title = {PyTorch Image Models}, year = {2019}, publisher = {GitHub}, journal = {GitHub repository}, doi = {10.5281/zenodo.4414861}, howpublished = {\url{https://github.com/rwightman/pytorch-image-models}} }