🚀 TinyCLIP: 類似度模倣と重み継承によるCLIP蒸留
TinyCLIPは、大規模言語画像事前学習モデルのための新しいクロスモーダル蒸留手法です。この手法は、「類似度模倣」と「重み継承」の2つの核心技術を導入しています。この研究により、小規模なCLIPモデルの能力が引き出され、大規模モデルや事前学習データが十分に活用され、速度と精度のバランスが最適化されます。
🚀 クイックスタート
モデル情報
プロパティ |
詳細 |
パイプラインタグ |
ゼロショット画像分類 |
タグ |
tinyclip |
データセット |
laion/laion400m |
ライセンス |
MIT |
Transformersでの使用方法
from PIL import Image
import requests
from transformers import CLIPProcessor, CLIPModel
model = CLIPModel.from_pretrained("wkcn/TinyCLIP-ViT-61M-32-Text-29M-LAION400M")
processor = CLIPProcessor.from_pretrained("wkcn/TinyCLIP-ViT-61M-32-Text-29M-LAION400M")
url = "http://images.cocodataset.org/val2017/000000039769.jpg"
image = Image.open(requests.get(url, stream=True).raw)
inputs = processor(text=["a photo of a cat", "a photo of a dog"], images=image, return_tensors="pt", padding=True)
outputs = model(**inputs)
logits_per_image = outputs.logits_per_image
probs = logits_per_image.softmax(dim=1)
✨ 主な機能
高性能
TinyCLIP ViT-45M/32は、ViT-B/32のパラメータの半分しか使用せずに、同等のゼロショット性能を達成します。
高速推論
TinyCLIP ResNet-19Mは、パラメータを50%削減しながら、推論速度を2倍にし、ImageNetで56.4%の精度を達成します。
📚 ドキュメント
モデル一覧
モデル |
重み継承 |
事前学習 |
IN-1K Acc@1(%) |
MACs(G) |
スループット(pairs/s) |
リンク |
TinyCLIP ViT-39M/16 Text-19M |
手動 |
YFCC-15M |
63.5 |
9.5 |
1,469 |
モデル |
TinyCLIP ViT-8M/16 Text-3M |
手動 |
YFCC-15M |
41.1 |
2.0 |
4,150 |
モデル |
TinyCLIP ResNet-30M Text-29M |
手動 |
LAION-400M |
59.1 |
6.9 |
1,811 |
モデル |
TinyCLIP ResNet-19M Text-19M |
手動 |
LAION-400M |
56.4 |
4.4 |
3,024 |
モデル |
TinyCLIP ViT-61M/32 Text-29M |
手動 |
LAION-400M |
62.4 |
5.3 |
3,191 |
モデル |
TinyCLIP ViT-40M/32 Text-19M |
手動 |
LAION-400M |
59.8 |
3.5 |
4,641 |
モデル |
TinyCLIP ViT-63M/32 Text-31M |
自動 |
LAION-400M |
63.9 |
5.6 |
2,905 |
モデル |
TinyCLIP ViT-45M/32 Text-18M |
自動 |
LAION-400M |
61.4 |
3.7 |
3,682 |
モデル |
TinyCLIP ViT-22M/32 Text-10M |
自動 |
LAION-400M |
53.7 |
1.9 |
5,504 |
モデル |
TinyCLIP ViT-63M/32 Text-31M |
自動 |
LAION+YFCC-400M |
64.5 |
5.6 |
2,909 |
モデル |
TinyCLIP ViT-45M/32 Text-18M |
自動 |
LAION+YFCC-400M |
62.7 |
1.9 |
3,685 |
モデル |
注: 自動継承のモデルの設定は自動生成されます。
公式PyTorch実装
https://github.com/microsoft/Cream/tree/main/TinyCLIP
引用
このリポジトリが役に立った場合は、引用を検討してください。ありがとうございます!
@InProceedings{tinyclip,
title = {TinyCLIP: CLIP Distillation via Affinity Mimicking and Weight Inheritance},
author = {Wu, Kan and Peng, Houwen and Zhou, Zhenghong and Xiao, Bin and Liu, Mengchen and Yuan, Lu and Xuan, Hong and Valenzuela, Michael and Chen, Xi (Stephen) and Wang, Xinggang and Chao, Hongyang and Hu, Han},
booktitle = {Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV)},
month = {October},
year = {2023},
pages = {21970-21980}
}
謝辞
当社のコードは、CLIP、OpenCLIP、CoFi、PyTorchに基づいています。貢献者の素晴らしい貢献に感謝します!
📄 ライセンス