モデル概要
モデル特徴
モデル能力
使用事例
🚀 CLIP-convnext_base_w-320.laion_aesthetic-s13B-b82k
OpenCLIPを使用してLAION-5Bのサブセットで学習されたCLIP [ConvNeXt-Base] モデルで、ゼロショット画像分類などのタスクに利用できます。
🚀 クイックスタート
このモデルは、ゼロショット画像分類や画像・テキスト検索などのタスクに使用できます。詳細な使用方法については、以下のセクションを参照してください。
✨ 主な機能
- ゼロショット画像分類、画像とテキストの検索などのタスクに対応。
- ConvNeXtアーキテクチャを使用し、モデルサイズと画像解像度に対して良好なスケーラビリティを持つ。
- 大規模なデータセットで学習され、高い性能を発揮。
📦 インストール
このREADMEには具体的なインストール手順が記載されていないため、このセクションをスキップします。
💻 使用例
このREADMEには具体的なコード例が記載されていないため、このセクションをスキップします。
📚 ドキュメント
モデル詳細
モデル説明
OpenCLIP (https://github.com/mlfoundations/open_clip) を使用して、LAION-5B (https://laion.ai/blog/laion-5b/) のサブセットで学習された一連のCLIP ConvNeXt-Base (幅広い埋め込み次元を持つ) モデルです。
目標:
- ViTやResNet (w/ AttentionPooling) CLIPモデルの代替案を探索し、モデルサイズと画像解像度に対して良好にスケーリングする。
最初の成果:
- CLIP ViT-B/16やRN50x4モデルの範囲で大規模に学習された最初のConvNeXt CLIPモデル。
- 画像タワーの拡張 + 正則化の増加を探索した最初の公開モデルウェイト (RRCのスケール範囲の拡大、ランダム消去、確率的深さの追加)。
これらのモデルは、画像タワーとして timm のConvNeXt-Baseモデル (convnext_base
) を使用し、テキストタワーとしてOpenAI CLIPのRN50x4 (深さ12、埋め込み次元640) モデルと同じものを使用しています。ベースモデルは256x256の画像解像度で学習され、FLOPsと活性化カウントでRN50x4モデルとほぼ一致します。名前に 320
が含まれるモデルは320x320で学習されています。
このシリーズのすべてのモデルは、130億サンプルで学習され、ImageNetゼロショットのトップ1精度が70.8%以上です。340億サンプルで学習されたViT-B/16のゼロショット精度が70.2% (130億サンプルでは68.1%) と比較すると、このモデルスケールの範囲でConvNeXtアーキテクチャがよりサンプル効率が高い可能性があります。これを確認するためには、さらなる実験が必要です。
モデル | データセット | 解像度 | AugReg | ImageNetゼロショットトップ1精度 (%) |
---|---|---|---|---|
convnext_base_w.laion2b_s13b_b82k | LAION-2B | 256x256 | RRC (0.9, 1.0) | 70.8 |
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 | LAION-A | 256x256 | RRC (0.9, 1.0) | 71.0 |
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 | 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 スーパーコンピュータの両方で行われました。詳細は、以下の謝辞を参照してください。
用途
元の OpenAI CLIPモデルカード に従い、このモデルは研究コミュニティ向けの研究成果として意図されています。このモデルが、研究者がゼロショット、任意の画像分類をよりよく理解し、探索するのに役立つことを期待しています。また、このようなモデルの潜在的な影響に関する学際的な研究にも使用できることを期待しています。
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で、2億370万サンプルの64チェックポイント間隔で学習され、合計で約130億サンプルが学習に使用されました。
256x256のモデルの場合、以下のsrunを使用したslurmスクリプトが、20台の8GPU (A100 40GB) ノード (Stability) で使用され、JUWELSでは40台の4GPUノードに切り替えられました。
/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台の8GPUノード、ローカルバッチサイズ320、またはJUWELsでは64台の4GPUノードが使用されます。
評価
評価は、LAION CLIPベンチマークスイート のコードを使用して行われました。
テストデータ、要因、メトリクス
テストデータ
テストは、分類には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には具体的な技術詳細が記載されていないため、このセクションをスキップします。
📄 ライセンス
このモデルは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:
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}}
}









