模型概述
模型特點
模型能力
使用案例
🚀 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許可證。









