模型概述
模型特點
模型能力
使用案例
🚀 CLIP - ConvNeXt-Large-D 模型卡
本模型基於ConvNeXt-Large架構,在LAION - 2B數據集上訓練,旨在為研究社區提供零樣本圖像分類等功能的研究工具,助力研究人員探索圖像分類相關領域。
🚀 快速開始
本模型是一系列基於ConvNeXt - Large架構的CLIP模型,使用OpenCLIP在LAION - 2B數據集上進行訓練。以下將詳細介紹模型的細節、用途、訓練過程、評估結果等內容。
✨ 主要特性
- 架構創新:採用ConvNeXt - Large作為圖像塔,視覺塔使用MLP頭,文本塔有特定的深度和嵌入維度。
- 訓練優勢:在256x256分辨率下,ConvNext - Large - D使用約1/2的訓練FLOPs就能達到比之前L/14模型更高的準確率。
- 多樣用途:可用於零樣本圖像分類、圖像和文本檢索等直接任務,也可用於圖像分類微調、圖像生成引導等下游任務。
📦 安裝指南
文檔未提及安裝步驟,暫不提供相關內容。
💻 使用示例
文檔未提供代碼示例,暫不提供相關內容。
📚 詳細文檔
🔍 模型細節
模型描述
一系列基於CLIP的ConvNeXt - Large(具有額外文本深度和視覺MLP頭)模型,在LAION - 2B(英文)數據集上訓練,該數據集是LAION - 5B的子集,使用OpenCLIP進行訓練。
目標:
- 探索一種可替代ViT和ResNet(帶注意力池化)的CLIP模型,該模型能隨模型大小和圖像分辨率良好擴展。
首次嘗試:
- 首次在CLIP ViT - L/16、ViT - L14和RN50x16規模範圍內訓練已知的ConvNeXt CLIP模型。
- 首次發佈通過增加(更大範圍的RRC、隨機擦除、隨機深度)探索圖像塔增強和正則化的模型權重。
模型特性:
- 使用[timm](https://github.com/rwightman/pytorch - image - models)的ConvNeXt - Large模型(
convnext_large
)作為圖像塔。 - 視覺塔使用MLP(
fc - gelu - drop - fc
)頭,而非其他CLIP模型的單一投影。 - 文本塔寬度與ViT - L / RN50x16模型相同,但深度多4層(深度16,嵌入維度768)。
模型在256x256圖像分辨率下訓練(正在開發384變體)。在256x256分辨率下,ConvNext - Large - D使用約1/2的訓練FLOPs就能達到比之前在LAION - 2B上訓練的L/14模型更高的準確率。L/14模型的GMAC約為1.65倍,激活值約為1.45倍,參數約為1.22倍。ConvNeXt在訓練中見過約26B個樣本,而L/14為34B。
模型 | 數據集 | 分辨率 | 增強正則化 | ImageNet零樣本Top - 1準確率(%) |
---|---|---|---|---|
[convnext_large_d.laion2b_s26b_b102k - augreg](https://huggingface.co/laion/CLIP - convnext_large_d.laion2B - s26B - b102K - augreg) | LAION - 2B | 256x256 | RRC (0.33, 1.0), RE (0.35), SD (0.1), D(0.1) | 75.9 |
[convnext_large_d_320.laion2b_s29b_b131k - ft](https://huggingface.co/laion/CLIP - convnext_large_d_320.laion2B - s29B - b131K - ft) | LAION - 2B | 320x320 | RRC (0.5, 1.0), RE (0.4), SD (0.1), D(0.0) | 76.6 |
[convnext_large_d_320.laion2b_s29b_b131k - ft - soup](https://huggingface.co/laion/CLIP - convnext_large_d_320.laion2B - s29B - b131K - ft - soup) | 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美學,是LAION - 2B的約9億樣本子集,經過pHash去重和美學分數過濾。
模型由Ross Wightman在stability.ai集群上完成訓練。
💡 用途
直接用途
零樣本圖像分類、圖像和文本檢索等。
下游用途
圖像分類和其他圖像任務的微調、線性探針圖像分類、圖像生成引導和條件設置等。
超出範圍的用途
- 部署使用:目前,模型的任何部署用例(無論是否商業用途)都超出了範圍。除非對模型進行特定、固定類別的全面領域測試,否則不建議在受限環境中進行圖像搜索等非部署用例。因為安全評估表明,鑑於CLIP在不同類別分類法下性能的可變性,非常需要進行特定任務測試,未經測試和無約束的模型部署可能有害。
- 特定領域:涉及監控和麵部識別領域的用例始終超出範圍,因為目前缺乏確保公平使用的測試規範和檢查,使用人工智能進行此類任務可能還不成熟。
- 語言限制:由於模型僅在英語上進行訓練和評估,其使用應限於英語用例。
🔧 訓練細節
訓練數據
本模型使用LAION - 2B數據集進行訓練,這是LAION - 5B的20億樣本英文子集(https://laion.ai/blog/laion - 5b/)。
⚠️ 重要提示
該數據集的創建旨在推動大規模多模態模型訓練和未整理大規模數據集處理的研究與實驗。建議僅將其用於研究目的。此大規模數據集未經過整理,其中的鏈接可能包含令人不適和不安的內容。可以通過基於安全標籤過濾樣本來提取“安全”子集,但不能完全排除有害內容的存在。不建議使用該數據集創建工業產品,因為關於此類大規模模型的基本屬性和安全性的研究仍在進行中。
訓練過程
所有模型以102400的全局批次大小訓練,共進行128個檢查點間隔,每個間隔203.7M樣本,訓練過程中總共見過約26B個樣本。
對於256x256分辨率的模型,在16個8 - GPU(A100 80GB)節點(Stability)上使用以下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](https://github.com/LAION - AI/CLIP_benchmark)中的代碼進行。
測試數據、因素和指標
測試數據
分類任務使用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}}
}









