/ Модель

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

Размер весов
18 ГБ
Лицензия
Apache 2.0
Архитектура
ovis · dense
Библиотека
transformers
Опубликована
13 июн 2024

Ovis-Clip-Llama3-8B

Генерация текстаТекст → текст3 профессии

Мультимодальная модель Ovis на базе CLIP и Llama 3 8B для диалога и ответов на вопросы по изображениям.

22скачиваний за 30 дней7лайковвеса обновлены14 июн 2024

Бенчмарки

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

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

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

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

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

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

Ovis-Clip-Llama3-8B — мультимодальная большая языковая модель архитектуры Ovis, разработанная авторами семейства Ovis. Она объединяет визуальный энкодер CLIP с Llama 3 8B Instruct и структурно согласует визуальные и текстовые представления. Модель предназначена для диалога по изображениям и ответов на вопросы о визуальном содержимом; поддерживает также генерацию текста. В карточке указаны библиотека Transformers, формат PyTorch и лицензия Apache-2.0.

Модель принимает изображения вместе с текстовыми запросами и выдаёт текстовые ответы. В предоставленных материалах не приведены длина контекста и список поддерживаемых естественных языков. Практическое использование описано через Transformers; README отсылает к репозиторию Ovis за подробными инструкциями. Качество ответов зависит от изображения и формулировки запроса.

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

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

Ограничения

В предоставленной карточке не указаны языковой охват и длина контекста. Для запуска README перечисляет зависимости с конкретными версиями PyTorch, Transformers и DeepSpeed.

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

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

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

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

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

Открыть на Hugging Face

Introduction

Ovis is a novel Multimodal Large Language Model (MLLM) architecture, designed to structurally align visual and textual embeddings. For a comprehensive introduction, please refer to Ovis paper and Ovis GitHub.

Model

Ovis can be instantiated with popular LLMs (e.g., Qwen, Llama3). We provide the following pretrained Ovis MLLMs:

Ovis-Clip-Qwen1.5-7BOvis-Clip-Llama3-8BOvis-Clip-Qwen1.5-14B
ViTClipClipClip
LLMQwen1.5-7B-ChatLlama3-8B-InstructQwen1.5-14B-Chat
DownloadHuggingfaceHuggingfaceHuggingface
MMStar44.349.548.5
MMB-EN75.177.478.4
MMB-CN70.272.876.6
MMMU-Val39.744.746.7
MMMU-Test37.739.040.7
MathVista-Mini41.440.843.4
MME188220091961
HallusionBench56.461.157.6
RealWorldQA60.057.962.7

Usage

Below is a code snippet to run Ovis with multimodal inputs. For additional usage instructions, including inference wrapper and Gradio UI, please refer to Ovis GitHub.

pip install torch==2.1.0 transformers==4.41.1 deepspeed==0.14.0 pillow==10.3.0
import torch
from PIL import Image
from transformers import AutoModelForCausalLM

# load model
model = AutoModelForCausalLM.from_pretrained("AIDC-AI/Ovis-Clip-Llama3-8B",
                                             torch_dtype=torch.bfloat16,
                                             multimodal_max_length=8192,
                                             trust_remote_code=True).cuda()
text_tokenizer = model.get_text_tokenizer()
visual_tokenizer = model.get_visual_tokenizer()
conversation_formatter = model.get_conversation_formatter()

# enter image path and prompt
image_path = input("Enter image path: ")
image = Image.open(image_path)
text = input("Enter prompt: ")
query = f'<image> {text}'
prompt, input_ids = conversation_formatter.format_query(query)
input_ids = torch.unsqueeze(input_ids, dim=0).to(device=model.device)
attention_mask = torch.ne(input_ids, text_tokenizer.pad_token_id).to(device=model.device)
pixel_values = [visual_tokenizer.preprocess_image(image).to(
    dtype=visual_tokenizer.dtype, device=visual_tokenizer.device)]

# print model output
with torch.inference_mode():
    kwargs = dict(
        pixel_values=pixel_values,
        attention_mask=attention_mask,
        do_sample=False,
        top_p=None,
        temperature=None,
        top_k=None,
        repetition_penalty=None,
        max_new_tokens=512,
        use_cache=True,
        eos_token_id=text_tokenizer.eos_token_id,
        pad_token_id=text_tokenizer.pad_token_id
    )
    output_ids = model.generate(input_ids, **kwargs)[0]
    input_token_len = input_ids.shape[1]
    output = text_tokenizer.decode(output_ids[input_token_len:], skip_special_tokens=True)
    print(f'Output: {output}')

Citation

If you find Ovis useful, please cite the paper

@article{lu2024ovis,
  title={Ovis: Structural Embedding Alignment for Multimodal Large Language Model}, 
  author={Shiyin Lu and Yang Li and Qing-Guo Chen and Zhao Xu and Weihua Luo and Kaifu Zhang and Han-Jia Ye},
  year={2024},
  journal={arXiv:2405.20797}
}

License

The project is licensed under the Apache 2.0 License and is restricted to uses that comply with the license agreements of Qwen, Llama3, and Clip.

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

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

GPU в ailist

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

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

Модели нужен код из репозитория; автор пока не в списке доверенных организаций.

Класс архитектуры
Ovis
Ревизия весов
82f62bf

0 моделей