/ Модель

Характеристики

Контекст
512 токенов
Параметры
129 млн
Лицензия
Apache 2.0
Архитектура
bert · dense
Опубликована
9 июл 2022

Taiyi-CLIP-Roberta-102M-Chinese

Классификация текстаТекст → label4 профессии

Китайская CLIP-модель с энкодерами RoBERTa и ViT-B/32 для классификации изображений и поиска изображений по тексту.

437скачиваний за 30 дней54лайкавеса обновлены25 мая 2023

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Taiyi-CLIP-Roberta-102M-Chinese — китайская модель для сопоставления изображений и текста, разработанная командой Fengshenbang. Она использует архитектуру CLIP с визуальным энкодером ViT-B/32 и текстовым энкодером RoBERTa-base на основе chinese-roberta-wwm; при предобучении визуальный энкодер был заморожен, а текстовый дообучался. Модель обучали на 123 млн пар изображение–текст из наборов Noah-Wukong и Zero; текстовый энкодер содержит около 129,5 млн параметров по метаданным, контекст ограничен 512 токенами.

Модель предназначена для получения общих визуально-языковых представлений на китайском языке. Её можно применять для классификации изображений без дополнительного обучения и поиска изображений по текстовому запросу; в README приведены результаты на ImageNet1k-CN, Flickr30k-CNA, COCO-CN и wukong50k. Заявленные возможности и обучающие данные ориентированы на китайский язык, поэтому качество для других языков не установлено. Распространяется по лицензии Apache-2.0.

Сценарии применения

  • классификация изображений без обучения на китайских метках
  • поиск изображений по китайскому текстовому запросу
  • сопоставление китайских описаний с изображениями
  • извлечение визуально-языковых признаков для downstream-задач

Ограничения

Модель обучена преимущественно на китайских парах изображение–текст, а контекст текстового энкодера ограничен 512 токенами. Результаты для языков, отличных от китайского, не приведены.

Для каких профессий подходит4

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Taiyi-CLIP-Roberta-102M-Chinese

简介 Brief Introduction

首个开源的中文CLIP模型,1.23亿图文对上进行预训练的文本端RoBERTa-base。

The first open source Chinese CLIP, pre-training on 123M image-text pairs, the text encoder: RoBERTa-base.

模型分类 Model Taxonomy

需求 Demand任务 Task系列 Series模型 Model参数 Parameter额外 Extra
特殊 Special多模态 Multimodal太乙 TaiyiCLIP (Roberta)102M中文 Chinese

模型信息 Model Information

我们遵循CLIP的实验设置,以获得强大的视觉-语言表征。在训练中文版的CLIP时,我们使用chinese-roberta-wwm作为语言的编码器,并将CLIP中的ViT-B-32应用于视觉的编码器。为了快速且稳定地进行预训练,我们冻结了视觉编码器并且只微调语言编码器。此外,我们将Noah-Wukong数据集(100M)和Zero数据集(23M)用作预训练的数据集,训练了24个epoch,在在A100x32上训练了7天。据我们所知,我们的Taiyi-CLIP是目前Huggingface社区中首个的开源中文CLIP。

We follow the experimental setup of CLIP to obtain powerful visual-language intelligence. To obtain the CLIP for Chinese, we employ chinese-roberta-wwm for the language encoder, and apply the ViT-B-32 in CLIP for the vision encoder. We freeze the vision encoder and tune the language encoder to speed up and stabilize the pre-training process. Moreover, we apply Noah-Wukong dataset (100M) and Zero dataset (23M) as the pre-training datasets. We train 24 epochs, which takes 7 days to train on A100x16. To the best of our knowledge, our TaiyiCLIP is currently the only open-sourced Chinese CLIP in the huggingface community.

下游效果 Performance

Zero-Shot Classification

modeldatasetTop1Top5
Taiyi-CLIP-Roberta-102M-ChineseImageNet1k-CN42.85%71.48%

Zero-Shot Text-to-Image Retrieval

modeldatasetTop1Top5Top10
Taiyi-CLIP-Roberta-102M-ChineseFlickr30k-CNA-test46.32%74.58%83.44%
Taiyi-CLIP-Roberta-102M-ChineseCOCO-CN-test47.10%78.53%87.84%
Taiyi-CLIP-Roberta-102M-Chinesewukong50k49.18%81.94%90.27%

使用 Usage

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 encoder
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的image encoder
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))

引用 Citation

如果您在您的工作中使用了我们的模型,可以引用我们的论文:

If you are using the resource for your work, please cite the our paper:

@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}
}

也可以引用我们的网站:

You can also cite our website:

@misc{Fengshenbang-LM,
  title={Fengshenbang-LM},
  author={IDEA-CCNL},
  year={2021},
  howpublished={\url{https://github.com/IDEA-CCNL/Fengshenbang-LM}},
}

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · text-classification

Можно запустить

Подбираем GPU…

Класс архитектуры
BertForSequenceClassification
Ревизия весов
bc37cdc

0 моделей