🚀 CLIP ViT-L/14 - LAION-2B のモデルカード
このモデルは、LAION-5Bの英語サブセットLAION-2Bを使用して訓練されたCLIP ViT L/14モデルです。ゼロショット画像分類や画像・テキスト検索などのタスクに利用できます。
🚀 クイックスタート
このモデルを使い始めるには、以下のコードを参考にしてください。
✨ 主な機能
直接的な利用
下流の利用
- 画像分類やその他の画像タスクの微調整
- 線形プローブ画像分類
- 画像生成のガイドと条件付け
範囲外の利用
このモデルは、OpenAIのモデルと同様に、現在のところあらゆるデプロイされたユースケース(商用または非商用)は範囲外です。また、制約された環境での画像検索などの非デプロイユースケースも、特定の固定クラス分類法でモデルを十分にテストしない限り推奨されません。
📦 インストール
このセクションでは、モデルのインストールに関する具体的な手順やコマンドが記載される予定です。現時点では詳細情報がありません。
💻 使用例
このセクションでは、モデルの使用例を示す予定です。現時点では具体的なコード例がありません。
📚 ドキュメント
モデルの詳細
CLIP ViT L/14モデルは、OpenCLIPを使用してLAION-5Bの英語サブセットLAION-2Bで訓練されました。モデルの訓練は、JUWELS Boosterスーパーコンピュータで行われました。
利用目的
このモデルは、研究コミュニティ向けの研究成果として意図されています。研究者がゼロショット、任意の画像分類をよりよく理解し、探索するのを可能にすることを期待しています。
評価
評価は、LAION CLIP Benchmarkスイートのコードを使用して行われました。モデルは、ImageNet-1kで75.3のゼロショットトップ1精度を達成しています。
🔧 技術詳細
訓練データ
このモデルは、LAION-5Bの20億サンプルの英語サブセットで訓練されました。このデータセットは未整理であり、収集されたリンクが人間の視聴者にとって不快または不快なコンテンツにつながる可能性があることに注意してください。
訓練手順
モデルは、384台のA100 GPUで訓練され、合計320億サンプルを見た160の仮想エポックで訓練されました。最初の68エポックはfloat16 AMPで訓練され、グローバルバッチサイズは79Kでした。
スクリプト例
#SBATCH --nodes=96
#SBATCH --gres=gpu:4
#SBATCH --ntasks-per-node=4
#SBATCH --cpus-per-task=6
#SBATCH --wait-all-nodes=1
#SBATCH --job-name=open_clip_laion2b
# load low-level libraries
ml purge
source /conda/bin/activate pytorch-112
export NCCL_ASYNC_ERROR_HANDLING=1
export CUDA_VISIBLE_DEVICES=0,1,2,3
export MASTER_PORT=12802
### get the first node name as master address - customized for vgg slurm
### e.g. master(gnodee[2-5],gnoded1) == gnodee2
echo "NODELIST="${SLURM_NODELIST}
master_addr=$(scontrol show hostnames "$SLURM_JOB_NODELIST" | head -n 1)
export MASTER_ADDR=$master_addr"i"
echo "MASTER_ADDR="$MASTER_ADDR
cd /home/me/open_clip
export PYTHONPATH="$PYTHONPATH:$PWD/src"
srun --cpu_bind=none,v --accel-bind=gn python -u src/training/main.py \
--save-frequency 1 \
--zeroshot-frequency 1 \
--train-data="/data/laion2B-en/{00000..23295}.tar" \
--train-num-samples=200000000 \
--warmup 10000 \
--lr "1e-3" \
--batch-size=224 \
--epochs=160 \
--workers=6 \
--model ViT-L-14 \
--name "L14-laion2B" \
--report-to "tensorboard" \
--seed 0 \
--precision 'fp32' \
--ddp-static-graph \
--local-loss \
--dataset-resampled \
--gather-with-grad \
--grad-checkpointing
📄 ライセンス
このモデルはMITライセンスの下で提供されています。
謝辞
この作業の一部について、Gauss Centre for Supercomputing e.V.が、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}
}
OpenAI CLIP paper
@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}
}
OpenCLIP software
@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}
}