模型简介
模型特点
模型能力
使用案例
🚀 CLIP-convnext_base_w-320.laion_aesthetic-s13B-b82k-augreg模型卡片
本模型是一系列基于OpenCLIP在LAION-5B子集上训练的CLIP ConvNeXt-Base(宽嵌入维度)模型,旨在探索可随模型大小和图像分辨率良好扩展的CLIP模型,助力零样本图像分类等研究。
🚀 快速开始
本模型可用于零样本图像分类、图像和文本检索等任务。若你想使用该模型,可参考以下文档了解使用方法和注意事项。
✨ 主要特性
- 架构创新:采用ConvNeXt-Base作为图像塔,探索了替代ViT和ResNet的CLIP模型架构。
- 样本高效:在一定模型规模范围内,ConvNeXt架构可能比ViT-B/16更具样本效率。
- 多分辨率训练:提供不同分辨率(256x256和320x320)的模型,以适应不同任务需求。
📦 安装指南
文档未提及具体安装步骤,可参考OpenCLIP官方仓库(https://github.com/mlfoundations/open_clip)获取安装指导。
💻 使用示例
文档未提供代码示例,你可以参考OpenCLIP的使用文档进行模型调用和推理。
📚 详细文档
模型详情
一系列基于OpenCLIP在LAION-5B子集上训练的CLIP ConvNeXt-Base(宽嵌入维度)模型。
目标:
- 探索可随模型大小和图像分辨率良好扩展的ViT和ResNet(带注意力池化)CLIP模型的替代方案。
首次尝试:
- 首次在CLIP ViT-B/16和RN50x4模型规模范围内训练的ConvNeXt CLIP模型。
- 首次发布通过增加增强和正则化(更大范围的随机裁剪、随机擦除、随机深度)探索图像塔改进的模型权重。
模型使用timm的ConvNeXt-Base模型(convnext_base
)作为图像塔,文本塔与OpenAI CLIP的RN50x4模型(深度12,嵌入维度640)相同。基础模型在256x256图像分辨率下训练,FLOPs和激活计数与RN50x4模型大致匹配。名称中包含320
的模型在320x320分辨率下训练。
该系列所有模型均在13B样本上训练,ImageNet零样本top-1准确率>=70.8%。与34B样本下零样本准确率为70.2%(13B样本下为68.1%)的ViT-B/16相比,表明ConvNeXt架构在该模型规模范围内可能更具样本效率,但需更多实验验证。
模型 | 数据集 | 分辨率 | 增强正则化 | ImageNet零样本top-1准确率(%) |
---|---|---|---|---|
convnext_base_w.laion2b_s13b_b82k | LAION-2B | 256x256 | RRC (0.9, 1.0) | 70.8 |
convnext_base_w.laion2b_s13b_b82k_augreg | LAION-2B | 256x256 | RRC (0.33, 1.0), RE (0.35), SD (0.1) | 71.5 |
convnext_base_w.laion_aesthetic_s13b_b82k | LAION-A | 256x256 | RRC (0.9, 1.0) | 71.0 |
convnext_base_w_320.laion_aesthetic_s13b_b82k | LAION-A | 320x320 | RRC (0.9, 1.0) | 71.7 |
convnext_base_w_320.laion_aesthetic_s13b_b82k_augreg | LAION-A | 320x320 | RRC (0.33, 1.0), RE (0.35), SD (0.1) | 71.3 |
RRC = 随机裁剪(裁剪比例),RE = 随机擦除(概率),SD = 随机深度(概率) - 仅适用于图像塔
LAION-A = LAION美学数据集,是LAION-2B的约9亿样本子集,经过pHash去重和美学分数过滤。
模型训练由Ross Wightman在stability.ai集群和JUWELS Booster超级计算机上完成。
用途
直接用途
零样本图像分类、图像和文本检索等。
下游用途
图像分类和其他图像任务微调、线性探针图像分类、图像生成引导和条件化等。
不适用场景
- 目前,模型的任何部署用例(无论是否商业用途)均超出范围。除非对模型进行特定固定类别分类法的彻底领域内测试,否则不建议在受限环境中进行图像搜索等非部署用例。因为安全评估表明,鉴于CLIP在不同类别分类法下性能的可变性,需要进行特定任务测试,未经测试和无约束的模型部署可能有害。
- 涉及监控和人脸识别领域的用例始终超出范围,因为目前缺乏确保公平使用的测试规范和检查,使用人工智能进行此类任务尚不成熟。
- 由于模型仅在英语环境下训练和评估,其使用应限于英语用例。
训练详情
训练数据
模型在以下数据集之一上训练:
- LAION-2B:LAION-5B的20亿样本英语子集(https://laion.ai/blog/laion-5b/)。
- LAION-Aesthetic:LAION-2B的9亿样本子集,经过pHash去重和美学分数过滤。
重要提示:数据集创建的目的是推动大规模多模态模型训练和处理未整理的大规模互联网爬取数据集的研究。建议仅用于研究目的。该大规模数据集未经过整理,其中的链接可能包含令人不适和不安的内容。请谨慎使用演示链接并自行承担风险。可以通过安全标签过滤(使用自定义训练的NSFW分类器)提取“安全”子集,但不能完全排除有害内容的存在。目前不建议使用该数据集创建工业产品,因为关于此类大规模模型的基本属性和安全性的研究仍在进行中。
训练过程
所有模型在全局批量大小为81920的情况下训练,共64个检查点间隔,每个间隔2.037亿样本,总计约13B样本。
对于256x256模型,在20个8-GPU(A100 40GB)节点(Stability)上使用以下slurm脚本,在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与额外鲁棒性数据集的组合),检索任务使用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
降至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许可证。









