モデル概要
モデル特徴
モデル能力
使用事例
🚀 CLIP-convnext_base_w.laion_aesthetic-s13B-b82k
このモデルは、OpenCLIPを使用してLAION-5Bのサブセットで学習されたCLIP [ConvNeXt-Base]モデルです。ViTやResNetに代わる、モデルサイズと画像解像度に対して良好にスケーリングするCLIPモデルを探索することを目的としています。
🚀 クイックスタート
このモデルは、ゼロショット画像分類や画像・テキスト検索などのタスクに使用できます。以下のセクションで、モデルの詳細、使用方法、学習手順、評価結果などを説明します。
✨ 主な機能
- ゼロショット画像分類
- 画像とテキストの検索
- 画像分類やその他の画像タスクの微調整
- 線形プローブ画像分類
- 画像生成のガイドと条件付け
📦 インストール
このREADMEには具体的なインストール手順が記載されていないため、このセクションをスキップします。
💻 使用例
このREADMEには具体的なコード例が記載されていないため、このセクションをスキップします。
📚 ドキュメント
モデルの詳細
CLIP ConvNeXt-Base (幅広い埋め込み次元を持つ) モデルのシリーズで、OpenCLIP (https://github.com/mlfoundations/open_clip) を使用してLAION-5B (https://laion.ai/blog/laion-5b/) のサブセットで学習されました。
目標:
- ViTやResNet (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で学習されています。
このシリーズのすべてのモデルは13Bサンプルで学習され、ImageNetゼロショットのトップ1精度は70.8%以上です。34B SSのViT-B/16のゼロショット精度が70.2% (13B SSでは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の約900Mサンプルのサブセットで、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の900Mサンプルのサブセットで、pHashデデュープと審美スコアフィルタリングが適用されています。
⚠️ 重要提示
このデータセットの作成の動機は、大規模なマルチモーダルモデルの学習と、公開されたインターネットからクロールされた未加工の大規模データセットの取り扱いに関する研究と実験を民主化することです。したがって、このデータセットは研究目的で使用することをお勧めします。この大規模データセットは未加工であることに注意してください。データセットの未加工な性質により、収集されたリンクが人間の視聴者にとって非常に不快で不快なコンテンツにつながる可能性があります。したがって、デモリンクを使用する場合は注意して自己責任で行ってください。独自に学習したNSFW分類器を使用して安全タグに基づいてサンプルをフィルタリングすることで、「安全な」サブセットを抽出することができます。これにより、閲覧時に潜在的に有害なコンテンツに遭遇する可能性が大幅に減少しますが、安全モードでも有害なコンテンツがまだ存在する可能性を完全に排除することはできないため、警告は引き続き有効です。私たちは、このデータセットを幅広い研究やその他の関心のあるコミュニティに公開することで、大規模モデルの学習に伴う利点と、閉じた大規模データセットを少数のコミュニティに限定したままでは報告されないままになる可能性のある落とし穴や危険性について透明な調査を行うことができると考えています。ただし、このデータセットを公開することは、このリリースで奨励したいような大規模モデルの一般的な特性と安全性に関する基礎研究がまだ進行中であるため、すぐに使える産業用製品の作成に使用することは推奨しません。
学習手順
すべてのモデルは、グローバルバッチサイズ81920で、203.7Mサンプルの64チェックポイント間隔で合計約13Bサンプルを学習しました。
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コンピューティングセンターe.V. (http://gauss-centre.eu) に感謝します。彼らは、Jülichスーパーコンピューティングセンター (JSC) のGCSスーパーコンピューターJUWELS Boosterで、John von Neumannコンピューティング研究所 (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}}
}









