模型:

laion/CLIP-convnext_large_d.laion2B-s26B-b102K-augreg

英文

CLIP-convnext_large_d.laion2B-s26B-b102K-augreg的模型卡片

目录

  • 模型详情
  • 用途
  • 训练详情
  • 评估
  • 致谢
  • 引用
  • 模型详情

    模型描述

    基于LAION-2B(英文)子集的一系列CLIP ConvNeXt-Large (带有额外文本深度,视觉MLP头部)模型,使用 OpenCLIP 进行训练。

    训练目标:

    • 探索一种与ViT和ResNet不同的CLIP模型替代方案,该方案可以很好地与模型大小和图像分辨率进行扩展

    首创:

    • 已知首次基于CLIP ViT-L/16、ViT-L14和RN50x16进行大规模训练的ConvNeXt CLIP模型
    • 探索增加图片塔的增强和正则化的释放模型权重

    这些模型使用了:

    • ConvNeXt-Large模型(convnext_large)作为图像塔
    • 在视觉塔中使用了一个MLP(fc - gelu - drop - fc)头部,而其他CLIP模型只有一个投影
    • 文本塔与ViT-L/RN50x16模型相比宽度相同,但深度增加了4层(深度16,嵌入维度768)

    模型在256x256(正在进行384变体)图像分辨率下进行训练。

    在256x256的分辨率下,ConvNext-Large-D的训练FLOPs约为L/14模型训练的一半,但准确率更高。L/14模型的GMAC约高1.65倍,激活函数高1.45倍,参数高1.22倍。ConvNeXt训练了26B个样本,L/14训练了34B个样本。

    Model Dataset Resolution AugReg Top-1 ImageNet Zero-Shot (%)
    12310321 LAION-2B 256x256 RRC (0.33, 1.0), RE (0.35), SD (0.1), D(0.1) 75.9
    12311321 LAION-2B 320x320 RRC (0.5, 1.0), RE (0.4), SD (0.1), D(0.0) 76.6
    12312321 LAION-2B 320x320 RRC (0.5, 1.0), RE (0.4), SD (0.1), D(0.0) 76.9

    RRC = 随机调整大小裁剪(裁剪百分比),RE = 随机删除(概率),SD = 随机深度(概率)--仅适用于图像塔,D = 丢失(概率)--仅适用于图像塔头部

    LAION-A = LAION Aesthetic,是LAION-2B的一个近9亿个样本的子集,通过pHash去重和美学评分筛选而来。

    模型训练由Ross Wightman在 stability.ai 集群上完成。

    用途

    正如最初的研究所述,该模型旨在为研究社区提供研究成果。我们希望这个模型能够帮助研究人员更好地理解和探索零样本、任意图像分类。我们还希望它能够用于研究任何可能影响该模型的潜在影响。

    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/ )。

    重要提示:数据集的创建动机是为了使大规模多模态模型训练和处理来自公共可用互联网的非策划大规模数据集的研究和实验变得更加民主化。因此,我们建议仅将数据集用于研究目的。请注意,这个大规模数据集是没有经过策划的。请注意,数据集的未策划性质意味着收集的链接可能会导致对人类观众产生强烈的不适和困扰。因此,请谨慎使用演示链接并自行承担风险。可以通过基于安全标签(使用我们构建的经过定制训练的NSFW分类器)对样本进行筛选,以提取出“安全”的子集。虽然这大大减少了在查看时可能遇到可能有害内容的机会,但我们不能完全排除在安全模式下仍可能存在有害内容的可能性,所以警告仍然适用。我们认为,向广泛的研究和其他感兴趣的社区提供数据集,将允许透明地研究使用大规模模型的好处,以及在使用保持关闭且仅限于小型社区的大规模数据集时可能未报告或未注意到的风险和危险。然而,通过公开提供我们的数据集,我们不建议将其用于创建现成的工业产品,因为这次发布的基础研究,关于此类大规模模型的通用属性和安全性的研究尚在进行中。

    训练过程

    所有模型的全局批量大小为102400,共进行128个检查点间隔的203.7M个样本,总共观察了约260B个样本。

    对于256x256模型,在16个8-GPU(A100 80GB)节点(稳定性)上使用了以下slurm脚本和srun命令。

    /opt/slurm/sbin/srun --cpu_bind=v --accel-bind=gn python -m training.main \
        --save-frequency 1 \
        --name "convnext_large_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 \
        --beta2 0.98 \
        --warmup 10000 \
        --batch-size=800 \
        --epochs=128 \
        --dataset-resampled \
        --aug-cfg use_timm=True scale='(0.33, 1.0)' re_prob=0.35 \
        --clip-grad-norm 5.0 \
        --lr 1.667e-3 \
        --workers=6 \
        --model "convnext_large_d" \
        --seed 0 \
        --ddp-static-graph \
        --local-loss \
        --gather-with-grad \
        --grad-checkpointing
    

    评估

    使用 LAION CLIP Benchmark suite 中的代码进行评估。

    测试数据、因素和指标

    测试数据

    对于分类任务,使用VTAB+(VTAB( https://arxiv.org/abs/1910.04867 )与其他用于鲁棒性的数据集的组合),而对于检索任务,使用COCO和Flickr进行测试。

    结果

    该模型在ImageNet-1k上实现了75.9%的Top-1零样本准确率。

    已对更广泛的数据集进行了初步的基准测试,可在 https://github.com/LAION-AI/CLIP_benchmark/blob/main/benchmark/results.ipynb 查看。

    致谢

    感谢 stability.ai 提供的计算资源用于训练这个模型。

    引用

    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}}
    }