モデル概要
モデル特徴
モデル能力
使用事例
🚀 CLIP - convnext_base_w - 320.laion2B - s13B - b82K
OpenCLIPを使用してLAION - 5Bのサブセットで学習されたCLIP [ConvNeXt - Base]モデルで、ゼロショット画像分類に適しています。
🚀 クイックスタート
このモデルは、ゼロショット画像分類や画像・テキスト検索などのタスクに使用できます。詳細な使用方法やコード例については、以下のセクションを参照してください。
✨ 主な機能
- ゼロショット画像分類、画像とテキストの検索などのタスクに対応。
- ConvNeXtアーキテクチャを使用し、ViTやResNetベースのCLIPモデルとは異なるアプローチを提供。
- 画像タワーに増強と正則化を追加することで、性能向上を図っています。
📦 インストール
このREADMEには具体的なインストール手順が記載されていないため、このセクションを省略します。
💻 使用例
このREADMEには具体的なコード例が記載されていないため、このセクションを省略します。
📚 ドキュメント
モデルの詳細
モデルの説明
OpenCLIP (https://github.com/mlfoundations/open_clip) を使用してLAION - 5B (https://laion.ai/blog/laion - 5b/) のサブセットで学習された一連のCLIP ConvNeXt - Base(幅広い埋め込み次元を持つ)モデルです。
目標:
- ViTやResNet(AttentionPooling付き)のCLIPモデルの代替案を探索し、モデルサイズと画像解像度に合わせてスケーリングできるようにする。
最初の試み:
- CLIP ViT - B/16やRN50x4モデルの範囲で大規模に学習された最初のConvNeXt CLIPモデル。
- 画像タワーに増強と正則化を追加することで(RRCのスケール範囲を拡大、ランダム消去、確率的深さ)、最初に公開されたモデル重み。
これらのモデルは、画像タワーとして[timm](https://github.com/rwightman/pytorch - image - models)のConvNeXt - Baseモデル (convnext_base
) を使用し、テキストタワーはOpenAI CLIPのRN50x4(深さ12、埋め込み次元640)モデルと同じものを使用しています。ベースモデルは256x256の画像解像度で学習され、FLOPsと活性化カウントでRN50x4モデルとほぼ一致しています。名前に 320
が含まれるモデルは320x320で学習されています。
このシリーズのすべてのモデルは13Bサンプルで学習され、ImageNetゼロショットのトップ1精度は70.8%以上です。34B SSのViT - B/16のゼロショット精度が70.2%(13B SSでは68.1%)と比較すると、ConvNeXtアーキテクチャはこのモデルスケールの範囲でよりサンプル効率が高い可能性があります。これを確認するには、さらなる実験が必要です。
モデル | データセット | 解像度 | 増強と正則化 | ImageNetゼロショットトップ1精度 (%) |
---|---|---|---|---|
[convnext_base_w.laion2b_s13b_b82k](https://huggingface.co/laion/CLIP - convnext_base_w - laion2B - s13B - b82K) | LAION - 2B | 256x256 | RRC (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 | RRC (0.33, 1.0), RE (0.35), SD (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 | RRC (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 | RRC (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 | RRC (0.33, 1.0), RE (0.35), SD (0.1) | 71.3 |
RRC = ランダムリサイズクロップ (クロップパーセント), RE = ランダム消去 (確率), SD = 確率的深さ (確率) -- 画像タワーのみ
LAION - A = LAION Aesthetic、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 - Aesthetic - LAION - 2Bの9億サンプルのサブセットで、pHashデデュープと審美スコアフィルタリングが適用されています。
⚠️ 重要提示
このデータセットの作成の動機は、大規模なマルチモーダルモデルの学習と、公開されたインターネットからクロールされた未精製の大規模データセットの取り扱いに関する研究と実験を民主化することです。したがって、私たちの推奨事項は、このデータセットを研究目的で使用することです。この大規模データセットは未精製であることに注意してください。データセットの未精製な性質により、収集されたリンクが人間の視聴者にとって非常に不快で不快なコンテンツにつながる可能性があります。したがって、デモリンクを使用する場合は、注意して自己責任で行ってください。独自に学習したNSFW分類器を使用して安全タグに基づいてサンプルをフィルタリングすることで、「安全な」サブセットを抽出することが可能です。これにより、閲覧時に潜在的に有害なコンテンツに遭遇する可能性が大幅に減少しますが、安全モードでも有害なコンテンツがまだ存在する可能性を完全に排除することはできないため、警告は依然として有効です。私たちは、このデータセットを幅広い研究やその他の関心のあるコミュニティに公開することで、大規模モデルの学習に伴う利点と、閉じた大規模データセットを使用する際に小さなコミュニティに制限されたままで報告されないままになる可能性のある落とし穴や危険性を透明に調査できるようになると考えています。ただし、このデータセットを公開しているが、このリリースで奨励したい大規模モデルの一般的な特性と安全性に関する基礎研究がまだ進行中であるため、このデータセットをすぐに使える産業用製品の作成に使用することはお勧めしません。
学習手順
すべてのモデルは、グローバルバッチサイズ81920で、203.7Mサンプルの64チェックポイント間隔で合計約13Bサンプルを学習しました。
256x256のモデルの場合、以下のsrunを含むslurmスクリプトが20台の8 - GPU(A100 40GB)ノード(Stability)で使用され、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で70.8から71.7のゼロショットトップ1精度を達成しています。
初期のベンチマークは、より広範囲のデータセットで実行されており、https://github.com/LAION - AI/CLIP_benchmark/blob/main/benchmark/results.ipynb で確認できます。
増強と正則化の増加を探索する一環として、初期の評価では、augreg
で学習されたモデルがより広範囲の解像度で良好に評価されることが示唆されています。これは、320x320のLAION - Aモデルで特に顕著で、augreg実行は320x320の学習解像度で評価した場合、非augregよりも低かった(71.3対71.7)が、384x384で評価すると72.2に向上します(非augregは384x384で71.0に低下します)。
謝辞
stability.ai とGaussセンターfor Supercomputing e.V. (http://gauss - centre.eu) に感謝します。これらの組織は、Jülich Supercomputing Centre (JSC) のGCS Supercomputer JUWELS BoosterでJohn von Neumann Institute for Computing (NIC) を通じてコンピューティング時間を提供することで、この作業の一部を資金提供しています。
引用
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ライセンスの下でライセンスされています。









