モデル概要
モデル特徴
モデル能力
使用事例
🚀 CLIP - convnext_base_w.laion2B - s13B - b82k - augreg
OpenCLIPを使用してLAION - 5Bのサブセットで学習されたCLIP [ConvNeXt - Base]モデル。ViTやResNetの代替案を探索し、ゼロショット画像分類などのタスクに役立ちます。
🚀 クイックスタート
このモデルは研究コミュニティ向けの研究成果として提供されています。ゼロショット、任意の画像分類の理解と探索を支援することを目的としています。
✨ 主な機能
- ゼロショット画像分類、画像とテキストの検索などの直接的な利用が可能です。
- 画像分類や他の画像タスクの微調整、線形プローブ画像分類、画像生成のガイドや条件付けなどの下流タスクにも使用できます。
📦 インストール
このREADMEには具体的なインストール手順が記載されていないため、このセクションをスキップします。
💻 使用例
このREADMEには具体的なコード例が記載されていないため、このセクションをスキップします。
📚 ドキュメント
モデル詳細
OpenCLIPを使用してLAION - 5Bのサブセットで学習された一連のCLIP [ConvNeXt - Base](幅広い埋め込み次元)モデルです。
目標:
- ViTやResNet(AttentionPooling付き)のCLIPモデルの代替案を探索し、モデルサイズと画像解像度に合わせてスケーリングできるようにする。
最初の試み:
- CLIP ViT - B/16やRN50x4モデルの規模で学習された最初のConvNeXt CLIPモデル。
- 画像タワーの拡張 + 正則化の増加を探索した最初の公開モデルウェイト。
これらのモデルは[timm](https://github.com/rwightman/pytorch - image - models)のConvNeXt - Baseモデル(convnext_base
)を画像タワーとして使用し、OpenAI CLIPのRN50x4モデルと同じテキストタワーを使用しています。ベースモデルは256x256の画像解像度で学習され、FLOPsとアクティベーションカウントでRN50x4モデルとほぼ一致します。名前に320
が含まれるモデルは320x320で学習されています。
このシリーズのすべてのモデルは13Bサンプルで学習され、ImageNetゼロショットトップ1精度が70.8%以上です。34B SSのViT - B/16のゼロショット精度が70.2%(13B SSでは68.1%)と比較すると、このモデル規模ではConvNeXtアーキテクチャがよりサンプル効率が高い可能性があります。ただし、さらなる実験が必要です。
モデル | データセット | 解像度 | AugReg | トップ1 ImageNetゼロショット(%) |
---|---|---|---|---|
[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の性能が異なるクラス分類法で変動するため、タスク固有のテストが必要であることが安全性評価で示されているためです。このため、未テストかつ制約のないモデルの展開は現在、潜在的に有害です。
監視や顔認識の分野に該当する特定のユースケースは、モデルの性能に関係なく常に範囲外です。これは、このようなタスクに人工知能を使用することは、公平な使用を保証するためのテスト基準やチェックが不足しているため、現時点では時期尚早であると考えられるためです。
このモデルは英語以外の言語での学習や評価が行われていないため、英語のユースケースに限定して使用する必要があります。
学習詳細
学習データ
このモデルは以下のいずれかのデータセットで学習されています(冒頭の表を参照):
- LAION - 2B - LAION - 5Bの20億サンプルの英語サブセット(https://laion.ai/blog/laion - 5b/)。
- LAION - Aesthetic - LAION - 2Bの9億サンプルのサブセットで、pHashデデュプリケーションと美学スコアフィルタリングが適用されています。
⚠️ 重要提示
このデータセットの作成目的は、大規模なマルチモーダルモデルの学習と、公開されたインターネットからクロールされた未精製の大規模データセットの取り扱いに関する研究と実験を民主化することです。したがって、このデータセットは研究目的で使用することを推奨します。この大規模データセットは未精製であることに注意してください。データセットの未精製な性質により、収集されたリンクが人間の視聴者にとって非常に不快で不快なコンテンツにつながる可能性があります。したがって、デモリンクを使用する場合は注意してください。独自の責任で使用してください。カスタム学習したNSFW分類器を使用して安全タグに基づいてサンプルをフィルタリングすることで、「安全な」サブセットを抽出することが可能です。これにより、視聴時に潜在的に有害なコンテンツに遭遇する可能性が大幅に減少しますが、安全モードでも有害なコンテンツが存在する可能性を完全に排除することはできません。したがって、そこでも警告が適用されます。このデータセットを広く研究や他の関心のあるコミュニティに公開することで、大規模モデルの学習に伴う利点と、閉じた大規模データセットで作業する際に報告されないままになる可能性のある落とし穴や危険を透明に調査することができます。ただし、このデータセットを公開することで、このリリースで奨励したい大規模モデルの一般的な特性と安全性に関する基礎研究がまだ進行中であるため、すぐに使える産業用製品の作成に使用することは推奨しません。
学習手順
すべてのモデルは、グローバルバッチサイズ81920で、203.7Mサンプルの64チェックポイント間隔で合計約13Bサンプルを学習しました。
256x256のモデルの場合、以下の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 Benchmark suite](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に低下します)。
🔧 技術詳細
このREADMEには具体的な技術詳細の説明(50文字以上)が記載されていないため、このセクションをスキップします。
📄 ライセンス
このモデルはMITライセンスの下で提供されています。
謝辞
stability.aiとGauss Centre 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:
@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}}
}









