/ Модель

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

Контекст
32 768 токенов
Параметры
71,5 млрд
Размер весов
146 ГБ
Лицензия
Apache 2.0
Архитектура
llava · dense
Библиотека
transformers
Опубликована
6 авг 2024

llava-onevision-qwen2-72b-ov-sft

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

Производная модели lmms-lab/llava-onevision-qwen2-72b-si. Мультимодальная модель на базе Qwen2 для диалогового анализа изображений, нескольких изображений и видео с генерацией текстовых ответов.

283скачиваний за 30 дней15лайковвеса обновлены2 сен 2024

Бенчмарки

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

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

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

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

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

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

Карточка модели lmms-lab/llava-onevision-qwen2-72b-ov-sft на Hugging Face совпадает с карточкой lmms-lab/llava-onevision-qwen2-72b-si, поэтому описание составлено по ней.

LLaVA-OneVision — мультимодальная модель семейства LLaVA, разработанная LMMS-Lab и основанная на языковой модели Qwen2. Версия с 71,5 млрд параметров сочетает визуальный энкодер SO400M с языковой моделью и принимает текстовые запросы вместе с изображениями, несколькими изображениями или видео для диалогового взаимодействия и генерации текста. Модель предназначена для описания и анализа визуального содержимого в сценариях с одним или несколькими изображениями, а также с видео. Модель обучалась на наборах данных LLaVA-OneVision в несколько этапов, включая обучение на данных изображений, нескольких изображений и видео. Она поддерживает английский и китайский языки, использует контекстное окно в 32 768 токенов и распространяется в формате safetensors для Transformers. Лицензия — Apache-2.0. Для запуска модели такого размера требуются значительные вычислительные ресурсы; README не приводит оценки качества или подробностей ограничений распознавания отдельных типов визуального содержимого.

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

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

Ограничения

Модель содержит 71,5 млрд параметров и для запуска требует значительных вычислительных ресурсов. README не приводит измерений качества или подробных ограничений для отдельных типов визуальных задач.

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

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

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

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

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

Открыть на Hugging Face

LLaVA-OneVision

banner

Play with the model on the LLaVA OneVision Chat.

Table of Contents

  1. Model Summary
  2. Use
  3. Limitations
  4. Training
  5. License
  6. Citation

Model Summary

The LLaVA-OneVision models are 0.5/7/72B parameter models trained on LLaVA-OneVision, based on Qwen2 language model with a context window of 32K tokens.

Use

Intended use

The model was trained on LLaVA-OneVision Dataset and have the ability to interact with images, multi-image and videos.

Feel free to share your generations in the Community tab!

Generation

# pip install git+https://github.com/LLaVA-VL/LLaVA-NeXT.git
from llava.model.builder import load_pretrained_model
from llava.mm_utils import get_model_name_from_path, process_images, tokenizer_image_token
from llava.constants import IMAGE_TOKEN_INDEX, DEFAULT_IMAGE_TOKEN, DEFAULT_IM_START_TOKEN, DEFAULT_IM_END_TOKEN, IGNORE_INDEX
from llava.conversation import conv_templates, SeparatorStyle

from PIL import Image
import requests
import copy
import torch

import sys
import warnings

warnings.filterwarnings("ignore")
pretrained = "lmms-lab/llava-onevision-qwen2-0.5b-si"
model_name = "llava_qwen"
device = "cuda"
device_map = "auto"
tokenizer, model, image_processor, max_length = load_pretrained_model(pretrained, None, model_name, device_map=device_map)  # Add any other thing you want to pass in llava_model_args

model.eval()

url = "https://github.com/haotian-liu/LLaVA/blob/1a91fc274d7c35a9b50b3cb29c4247ae5837ce39/images/llava_v1_5_radar.jpg?raw=true"
image = Image.open(requests.get(url, stream=True).raw)
image_tensor = process_images([image], image_processor, model.config)
image_tensor = [_image.to(dtype=torch.float16, device=device) for _image in image_tensor]

conv_template = "qwen_1_5"  # Make sure you use correct chat template for different models
question = DEFAULT_IMAGE_TOKEN + "\nWhat is shown in this image?"
conv = copy.deepcopy(conv_templates[conv_template])
conv.append_message(conv.roles[0], question)
conv.append_message(conv.roles[1], None)
prompt_question = conv.get_prompt()

input_ids = tokenizer_image_token(prompt_question, tokenizer, IMAGE_TOKEN_INDEX, return_tensors="pt").unsqueeze(0).to(device)
image_sizes = [image.size]


cont = model.generate(
    input_ids,
    images=image_tensor,
    image_sizes=image_sizes,
    do_sample=False,
    temperature=0,
    max_new_tokens=4096,
)
text_outputs = tokenizer.batch_decode(cont, skip_special_tokens=True)
print(text_outputs)

Training

Model

  • Architecture: SO400M + Qwen2
  • Pretraining Stage: LCS-558K, 1 epoch, projector
  • Mid Stage: A mixture of 4.7M high-quality synthetic data, 1 epoch, full model
  • Final-Image Stage: A mixture of 3.6M single-image data, 1 epoch, full model
  • OneVision Stage: A mixture of 1.6M single-image/multi-image/video data, 1 epoch, full model
  • Precision: bfloat16

Hardware & Software

Citation

@article{li2024llavaonevision,
      title={LLaVA-OneVision},
}

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

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

GPU в ailist

vLLM

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

Модели нужен vLLM (несколько GPU), но архитектура LlavaQwenForCausalLM ему неизвестна.

Класс архитектуры
LlavaQwenForCausalLM
Ревизия весов
1ac2142

0 моделей