/ Модель

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

Контекст
514 токенов
Параметры
146 млн
Архитектура
roberta · dense

clip-fa-text

ЭмбеддингиТекст → embedding6 профессий

Текстовый энкодер персидской версии CLIP, который превращает запросы на фарси в векторы для поиска и сопоставления с изображениями.

59скачиваний за 30 дней1лайквеса обновлены22 дек 2021

Бенчмарки

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

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Эмбеддинги» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

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

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

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

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

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

CLIP-fa-text — текстовый энкодер персидской версии CLIP, созданной разработчиком Sajjad Ayoubi. Модель дообучена на 400 тысячах пар «изображение — текст»; в качестве текстового энкодера использована RoBERTa-fa Фарахани. Архитектура — RoBERTa, около 145,5 млн параметров, контекст — 514 токенов. Репозиторий содержит веса PyTorch.

Модель преобразует персидский текст в векторы размерности 768, сопоставимые с векторами изображений, получаемыми парным визуальным энкодером CLIP-fa. Это позволяет искать изображения по персидскому запросу и находить текстовые описания, близкие к изображению, в системах поиска и сопоставления мультимодальных данных. В карточке показан текстовый компонент; сам он принимает текст и выдаёт векторные признаки.

Разработчик отмечает, что для обучения использовано меньше пар, чем для исходного CLIP, поэтому качество зависит от задачи и набора изображений. Лицензия в предоставленных сведениях не указана.

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

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

Ограничения

Обучение использовало 400 тысяч пар «изображение — текст», что меньше объёма данных исходного CLIP; качество поиска также зависит от размера и состава коллекции изображений. Сведения о лицензии отсутствуют в предоставленной карточке.

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

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

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

Также подходит для

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

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

Открыть на Hugging Face

CLIPfa: Connecting Farsi Text and Images

OpenAI released the paper Learning Transferable Visual Models From Natural Language Supervision in which they present the CLIP (Contrastive Language–Image Pre-training) model. This model is trained to connect text and images, by matching their corresponding vector representations using a contrastive learning objective. CLIP consists of two separate models, a vision encoder and a text encoder. These were trained on 400 Million images and corresponding captions. We have trained a Farsi (Persian) version of OpenAI's CLIP on a dataset of 400,000 (image, text) pairs. We used Farahani's RoBERTa-fa as the text encoder and ‍‍ViT‍ as the vision encoder from Original CLIP and finetuned them.

  • It should be noted that only 400K pairs were used for this training, whereas 4 million pairs were used for the Original CLIP. Also, the training took 30 days across 592 GPUs powered by the V100 chip.

How to use?

Both models generate vectors with 768 dimensions.

from transformers import CLIPVisionModel, RobertaModel, AutoTokenizer, CLIPFeatureExtractor
# download pre-trained models
vision_encoder = CLIPVisionModel.from_pretrained('SajjadAyoubi/clip-fa-vision')
preprocessor = CLIPFeatureExtractor.from_pretrained('SajjadAyoubi/clip-fa-vision')
text_encoder = RobertaModel.from_pretrained('SajjadAyoubi/clip-fa-text')
tokenizer = AutoTokenizer.from_pretrained('SajjadAyoubi/clip-fa-text')
# define input image and input text
text = 'something'
image = PIL.Image.open('my_favorite_image.jpg')
# compute embeddings
text_embedding = text_encoder(**tokenizer(text,
                                          return_tensors='pt')).pooler_output
image_embedding = vision_encoder(**preprocessor(image, 
                                                return_tensors='pt')).pooler_output
text_embedding.shape == image_embedding.shape

Demo:

The followings are just some use cases of CLIPfa on 25K Unsplash images

  • use pip install -q git+https://github.com/sajjjadayobi/clipfa.git
from clipfa import CLIPDemo
demo = CLIPDemo(vision_encoder, text_encoder, tokenizer)
demo.compute_text_embeddings(['گاو' ,'اسب' ,'ماهی'])
demo.compute_image_embeddings(test_df.image_path.to_list())

Online Demo: CLIPfa at Huggingface🤗 spaces

We used a small set of images (25K) to keep this app almost real-time, but it's obvious that the quality of image search depends heavily on the size of the image database.

Made with ❤️ in my basement🤫

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

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

GPU в ailist

Универсальный рантайм

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

Подбираем GPU…

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

0 моделей