模型简介
模型特点
模型能力
使用案例
🚀 CLIP - ConvNeXt Base W - 320.Laion Aesthetic - S13B - B82K模型卡片
本模型基于OpenCLIP,在LAION - 5B的子集上训练,为零样本图像分类任务提供了新的解决方案,有助于研究人员探索零样本图像分类的更多可能性。
🚀 快速开始
本部分将为你提供该模型的基本信息、使用场景、训练细节、评估结果等内容,帮助你快速了解和使用该模型。
✨ 主要特性
- 架构创新:采用ConvNeXt - Base架构作为图像塔,结合特定的文本塔,探索了除ViT和ResNet之外的CLIP模型替代方案。
- 样本高效:在一定模型规模范围内,ConvNeXt架构可能比ViT - B/16更具样本效率。
- 多分辨率支持:提供了不同分辨率(256x256和320x320)的模型,以适应不同的应用场景。
📚 详细文档
🔍 模型详情
模型描述
一系列基于CLIP的ConvNeXt - Base(具有较宽的嵌入维度)模型,使用OpenCLIP(https://github.com/mlfoundations/open_clip)在LAION - 5B(https://laion.ai/blog/laion - 5b/)的子集上进行训练。
目标:
- 探索一种可替代ViT和ResNet(带注意力池化)的CLIP模型,使其在模型大小和图像分辨率方面具有良好的扩展性。
首创:
- 已知的首批在CLIP ViT - B/16和RN50x4模型规模范围内进行大规模训练的ConvNeXt CLIP模型。
- 首个发布的模型权重,通过添加(更大范围的随机裁剪、随机擦除、随机深度)探索了增加图像塔增强和正则化的方法。
这些模型使用[timm](https://github.com/rwightman/pytorch - image - models)的ConvNeXt - Base模型(convnext_base
)作为图像塔,文本塔与OpenAI CLIP的RN50x4(深度12,嵌入维度640)模型相同。基础模型在256x256图像分辨率下进行训练,在浮点运算次数和激活计数方面大致与RN50x4模型匹配。名称中包含320
的模型在320x320分辨率下进行训练。
该系列的所有模型均在130亿个样本上进行训练,在ImageNet零样本top - 1准确率上达到了>= 70.8%。与在340亿个样本上训练的ViT - B/16(零样本准确率为70.2%,在130亿个样本上训练时为68.1%)相比,这表明ConvNeXt架构在该模型规模范围内可能更具样本效率,但仍需更多实验来证实。
模型 | 数据集 | 分辨率 | 增强正则化 | ImageNet零样本top - 1准确率(%) |
---|---|---|---|---|
[convnext_base_w.laion2b_s13b_b82k](https://huggingface.co/laion/CLIP - convnext_base_w - laion2B - s13B - b82K) | LAION - 2B | 256x256 | 随机裁剪(0.9, 1.0) | 70.8 |
[convnext_base_w.laion2b_s13b_b82k_augreg](https://huggingface.co/laion/CLIP - convnext_base_w - laion2B - s13B - b82K - augreg) | LAION - 2B | 256x256 | 随机裁剪(0.33, 1.0),随机擦除(0.35),随机深度(0.1) | 71.5 |
[convnext_base_w.laion_aesthetic_s13b_b82k](https://huggingface.co/laion/CLIP - convnext_base_w - laion_aesthetic - s13B - b82K) | LAION - A | 256x256 | 随机裁剪(0.9, 1.0) | 71.0 |
[convnext_base_w_320.laion_aesthetic_s13b_b82k](https://huggingface.co/laion/CLIP - convnext_base_w_320 - laion_aesthetic - s13B - b82K) | LAION - A | 320x320 | 随机裁剪(0.9, 1.0) | 71.7 |
[convnext_base_w_320.laion_aesthetic_s13b_b82k_augreg](https://huggingface.co/laion/CLIP - convnext_base_w_320 - laion_aesthetic - s13B - b82K - augreg) | LAION - A | 320x320 | 随机裁剪(0.33, 1.0),随机擦除(0.35),随机深度(0.1) | 71.3 |
随机裁剪 = 随机调整裁剪(裁剪比例),随机擦除 = 随机擦除(概率),随机深度 = 随机深度(概率) - 仅针对图像塔
LAION - A = LAION美学数据集,是LAION - 2B的一个约9亿样本子集,经过pHash去重和美学分数过滤。
模型训练由Ross Wightman在stability.ai集群和[JUWELS Booster](https://apps.fz - juelich.de/jsc/hps/juwels/booster - overview.html)超级计算机上完成。详情见下文致谢部分。
💡 使用场景
预期用途
根据原始的[OpenAI CLIP模型卡片](https://github.com/openai/CLIP/blob/d50d76daa670286dd6cacf3bcd80b5e4823fc8e1/model - card.md),本模型旨在作为研究成果供研究社区使用。我们希望该模型能帮助研究人员更好地理解和探索零样本、任意图像分类。同时,也希望它能用于跨学科研究,探讨此类模型的潜在影响。
OpenAI CLIP论文中讨论了潜在的下游影响,为这类分析提供了示例。此外,LAION - 5B博客(https://laion.ai/blog/laion - 5b/)和即将发表的论文将针对训练数据集进行更多讨论。
直接用途
零样本图像分类、图像和文本检索等。
下游用途
图像分类和其他图像任务的微调、线性探针图像分类、图像生成的引导和条件控制等。
非预期用途
与OpenAI模型一样,
任何模型的部署用例(无论是否商业用途)目前都不在预期范围内。非部署用例,如在受限环境中的图像搜索,除非对模型进行了特定、固定类别分类法的全面领域内测试,否则也不建议使用。这是因为我们的安全评估表明,由于CLIP在不同类别分类法下的性能存在差异,因此非常需要进行特定任务测试。这使得在未经测试和不受约束的情况下将模型部署到任何用例中都可能存在潜在危害。
某些属于监控和人脸识别领域的用例,无论模型性能如何,始终不在预期范围内。这是因为目前缺乏确保人工智能公平使用的测试规范和检查,在这些任务中使用人工智能可能还为时过早。
由于该模型未针对英语以外的语言进行专门训练和评估,因此其使用应限于英语用例。
此外,用于训练这些模型的LAION - 5B数据集还有其他注意事项,详见下文。
🔧 训练细节
训练数据
该模型使用以下数据集之一进行训练(见简介中的表格):
- LAION - 2B - LAION - 5B的一个20亿样本英语子集(https://laion.ai/blog/laion - 5b/)。
- LAION美学数据集 - LAION - 2B的一个9亿样本子集,经过pHash去重和美学分数过滤。
⚠️ 重要提示
创建该数据集的目的是推动大规模多模态模型训练和处理未整理的大规模网络爬取数据集的研究和实验。因此,我们建议将该数据集用于研究目的。请注意,这个大规模数据集是未整理的。要知道,未整理的数据集意味着收集的链接可能会指向让人类观看者极度不适和不安的内容。因此,请谨慎使用演示链接,并自行承担风险。可以通过基于安全标签过滤样本(使用我们定制训练的NSFW分类器)来提取一个“安全”子集。虽然这大大降低了在查看时遇到潜在有害内容的可能性,但我们不能完全排除在安全模式下仍存在有害内容的可能性,因此该警告同样适用。我们认为,向广大研究和其他感兴趣的社区公开提供该数据集,将有助于透明地研究训练大规模模型带来的好处,以及在使用仅限于小社区的封闭大型数据集时可能未被报告或注意到的陷阱和危险。然而,我们不建议使用该数据集来创建现成的工业产品,因为关于此类大规模模型的一般属性和安全性的基础研究仍在进行中,我们希望通过此次发布来鼓励这方面的研究。
训练过程
所有模型均使用全局批量大小为81920进行训练,共进行64个检查点间隔,每个间隔包含2.037亿个样本,训练过程中总共处理了约130亿个样本。
对于256x256分辨率的模型,在20个8 - GPU(A100 40GB)节点(Stability)上使用以下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基准套件](https://github.com/LAION - AI/CLIP_benchmark)中的代码进行评估。
测试数据、因素和指标
测试数据
分类任务使用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% vs 71.7%),但在384x384分辨率下评估时提高到72.2%(非augreg
模型在384x384分辨率下降至71.0%)。
🙏 致谢
感谢stability.ai和高斯超级计算中心(http://gauss - centre.eu),通过约翰·冯·诺伊曼计算研究所(NIC)在于利希超级计算中心(JSC)的GCS超级计算机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}}
}
📄 许可证
本项目采用MIT许可证。









