🚀 太乙-CLIP-Roberta-102M-Chinese
このモデルは、初のオープンソースの中国語CLIPモデルで、1.23億の画像-テキストペアで事前学習されたテキストエンコーダとしてRoBERTa-baseを使用しています。強力なビジュアル-言語表現を得るために、CLIPの実験設定に従っています。
✨ 主な機能
概要
初のオープンソースの中国語CLIPモデルで、1.23億の画像-テキストペアで事前学習されたテキストエンコーダとしてRoBERTa-baseを使用しています。
モデル分類
要件 |
タスク |
シリーズ |
モデル |
パラメータ |
追加情報 |
特殊 |
マルチモーダル |
太乙 |
CLIP (Roberta) |
102M |
中国語 |
モデル情報
CLIPの実験設定に従い、強力なビジュアル-言語表現を得るために努力しています。中国語用のCLIPを得るために、言語エンコーダとしてchinese-roberta-wwmを使用し、ビジュアルエンコーダとしてCLIPのViT-B-32を適用しています。事前学習を迅速かつ安定的に行うために、ビジュアルエンコーダを凍結し、言語エンコーダのみを微調整しました。また、事前学習データセットとしてNoah-Wukongデータセット(100M)とZeroデータセット(23M)を使用し、24エポック、A100x32で7日間学習を行いました。私たちの知る限り、Taiyi-CLIPは現在のHuggingfaceコミュニティで初のオープンソースの中国語CLIPです。
下流タスクの性能
Zero-Shot Classification
モデル |
データセット |
Top1 |
Top5 |
Taiyi-CLIP-Roberta-102M-Chinese |
ImageNet1k-CN |
42.85% |
71.48% |
Zero-Shot Text-to-Image Retrieval
モデル |
データセット |
Top1 |
Top5 |
Top10 |
Taiyi-CLIP-Roberta-102M-Chinese |
Flickr30k-CNA-test |
46.32% |
74.58% |
83.44% |
Taiyi-CLIP-Roberta-102M-Chinese |
COCO-CN-test |
47.10% |
78.53% |
87.84% |
Taiyi-CLIP-Roberta-102M-Chinese |
wukong50k |
49.18% |
81.94% |
90.27% |
📦 インストール
このセクションでは、具体的なインストール手順が提供されていないため、スキップします。
💻 使用例
基本的な使用法
from PIL import Image
import requests
import clip
import torch
from transformers import BertForSequenceClassification, BertConfig, BertTokenizer
from transformers import CLIPProcessor, CLIPModel
import numpy as np
query_texts = ["一只猫", "一只狗",'两只猫', '两只老虎','一只老虎'] # ここは入力テキストを自由に置き換えることができます。
# Taiyi中国語テキストエンコーダをロード
text_tokenizer = BertTokenizer.from_pretrained("IDEA-CCNL/Taiyi-CLIP-Roberta-102M-Chinese")
text_encoder = BertForSequenceClassification.from_pretrained("IDEA-CCNL/Taiyi-CLIP-Roberta-102M-Chinese").eval()
text = text_tokenizer(query_texts, return_tensors='pt', padding=True)['input_ids']
url = "http://images.cocodataset.org/val2017/000000039769.jpg" # ここは任意の画像のURLに置き換えることができます。
# CLIPの画像エンコーダをロード
clip_model = CLIPModel.from_pretrained("openai/clip-vit-base-patch32")
processor = CLIPProcessor.from_pretrained("openai/clip-vit-base-patch32")
image = processor(images=Image.open(requests.get(url, stream=True).raw), return_tensors="pt")
with torch.no_grad():
image_features = clip_model.get_image_features(**image)
text_features = text_encoder(text).logits
# 正規化
image_features = image_features / image_features.norm(dim=1, keepdim=True)
text_features = text_features / text_features.norm(dim=1, keepdim=True)
# コサイン類似度を計算 logit_scaleはスケール係数
logit_scale = clip_model.logit_scale.exp()
logits_per_image = logit_scale * image_features @ text_features.t()
logits_per_text = logits_per_image.t()
probs = logits_per_image.softmax(dim=-1).cpu().numpy()
print(np.around(probs, 3))
📚 ドキュメント
このセクションでは、追加の詳細ドキュメントが提供されていないため、スキップします。
🔧 技術詳細
このセクションでは、具体的な技術詳細が提供されていないため、スキップします。
📄 ライセンス
このモデルはApache-2.0ライセンスの下で提供されています。
引用
論文引用
もしあなたの研究や開発でこのモデルを使用した場合、以下の論文を引用してください。
@article{fengshenbang,
author = {Jiaxing Zhang and Ruyi Gan and Junjie Wang and Yuxiang Zhang and Lin Zhang and Ping Yang and Xinyu Gao and Ziwei Wu and Xiaoqun Dong and Junqing He and Jianheng Zhuo and Qi Yang and Yongfeng Huang and Xiayu Li and Yanghan Wu and Junyu Lu and Xinyu Zhu and Weifeng Chen and Ting Han and Kunhao Pan and Rui Wang and Hao Wang and Xiaojun Wu and Zhongshen Zeng and Chongpei Chen},
title = {Fengshenbang 1.0: Being the Foundation of Chinese Cognitive Intelligence},
journal = {CoRR},
volume = {abs/2209.02970},
year = {2022}
}
ウェブサイト引用
また、以下のウェブサイトも引用することができます。
@misc{Fengshenbang-LM,
title={Fengshenbang-LM},
author={IDEA-CCNL},
year={2021},
howpublished={\url{https://github.com/IDEA-CCNL/Fengshenbang-LM}},
}