/ Модель

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

Лицензия
Apache 2.0
Архитектура
mplug-owl · dense
Опубликована
8 мая 2023

mplug-owl-llama-7b

Описание изображенийИзображение → текст6 профессий

Модель mPLUG-Owl на базе LLaMA 7B для создания текстовых описаний изображений.

319скачиваний за 30 дней16лайковвеса обновлены6 июн 2023

Бенчмарки

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

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

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

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

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

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

MAGAer13/mplug-owl-llama-7b — модель для описания изображений, построенная на архитектуре mPLUG-Owl. По идентификатору модели она относится к варианту с LLaMA 7B. Предназначена для преобразования визуального содержимого в текстовые описания.

Модель принимает изображения и выдаёт текст. В метаданных указан английский язык, библиотека Transformers и формат PyTorch. Лицензия — Apache-2.0.

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

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

Ограничения

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

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

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

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

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

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

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

Открыть на Hugging Face

Usage

Get the latest codebase from Github

git clone https://github.com/X-PLUG/mPLUG-Owl.git

Model initialization

from mplug_owl.modeling_mplug_owl import MplugOwlForConditionalGeneration
from mplug_owl.tokenization_mplug_owl import MplugOwlTokenizer
from mplug_owl.processing_mplug_owl import MplugOwlImageProcessor, MplugOwlProcessor

pretrained_ckpt = 'MAGAer13/mplug-owl-llama-7b'
model = MplugOwlForConditionalGeneration.from_pretrained(
    pretrained_ckpt,
    torch_dtype=torch.bfloat16,
)
image_processor = MplugOwlImageProcessor.from_pretrained(pretrained_ckpt)
tokenizer = MplugOwlTokenizer.from_pretrained(pretrained_ckpt)
processor = MplugOwlProcessor(image_processor, tokenizer)

Model inference

Prepare model inputs.

# We use a human/AI template to organize the context as a multi-turn conversation.
# <image> denotes an image placehold.
prompts = [
'''The following is a conversation between a curious human and AI assistant. The assistant gives helpful, detailed, and polite answers to the user's questions.
Human: <image>
Human: Explain why this meme is funny.
AI: ''']

# The image paths should be placed in the image_list and kept in the same order as in the prompts.
# We support urls, local file paths and base64 string. You can custom the pre-process of images by modifying the mplug_owl.modeling_mplug_owl.ImageProcessor
image_list = ['https://xxx.com/image.jpg']

Get response.

# generate kwargs (the same in transformers) can be passed in the do_generate()
generate_kwargs = {
    'do_sample': True,
    'top_k': 5,
    'max_length': 512
}
from PIL import Image
images = [Image.open(_) for _ in image_list]
inputs = processor(text=prompts, images=images, return_tensors='pt')
inputs = {k: v.bfloat16() if v.dtype == torch.float else v for k, v in inputs.items()}
inputs = {k: v.to(model.device) for k, v in inputs.items()}
with torch.no_grad():
    res = model.generate(**inputs, **generate_kwargs)
sentence = tokenizer.decode(res.tolist()[0], skip_special_tokens=True)
print(sentence)

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

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

GPU в ailist

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

Нельзя запустить

Архитектура mplug-owl неизвестна transformers в образе рантайма.

Ревизия весов
057b523

0 моделей