/ Модель

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

Размер весов
28,6 ГБ
Лицензия
GPL 3.0
Архитектура
blip-2 · dense
Опубликована
19 окт 2023

Ziya-Visual-14B-Chat

Вопросы по изображениюИзображение, текст → текст3 профессии

Мультимодальная модель Fengshenbang-LM на базе InstructBLIP и LLaMA с 14 млрд параметров отвечает на вопросы об изображениях на китайском и английском языках.

15скачиваний за 30 дней7лайковвеса обновлены20 окт 2023

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ziya-Visual-14B-Chat — мультимодальная модель семейства Ziya от команды Fengshenbang-LM. Она предназначена для ответов на вопросы об изображениях на китайском и английском языках. В карточке указана архитектура InstructBLIP с языковой моделью LLaMA и 14 млрд параметров; метаданные относят модель к семейству BLIP-2 и задаче visual-question-answering. Модель принимает изображения и текстовые вопросы и формирует текстовые ответы.

Репозиторий содержит веса PyTorch. Модель распространяется по лицензии GPL-3.0. Карточка не приводит сведения о длине контекста или конкретных ограничениях качества; для использования потребуются совместимые версии PyTorch и tokenizers, приведённые в README.

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

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

Ограничения

Заявлены китайский и английский языки; применимость к другим языкам не подтверждена. Для работы необходимы совместимые версии PyTorch и tokenizers.

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

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

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

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

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

Открыть на Hugging Face

Ziya-Visual-14B-Chat

姜子牙系列模型

软件依赖

pip install torch==1.12.1 tokenizers==0.13.3 git+https://github.com/huggingface/transformers

模型分类 Model Taxonomy

需求 Demand任务 Task系列 Series模型 Model参数 Parameter额外 Extra
多模态 Multi-Modal通用 General姜子牙-多模态 Ziya-VisualInstructBLIP LLaMA14BEnglish&Chinese

使用 Usage

import gradio as gr
from PIL import Image
import torch
import random
from fengshen.models.instruct_ditto.modeling_instruct_ditto import InstructDittoLMForConditionalGeneration, DittoQFromerForPretrain, DittoLMForConditionalGeneration
from torchvision.transforms import Compose, ToTensor, Resize, Normalize
from transformers import LlamaTokenizer, BertTokenizer, GenerationConfig
from torchvision.transforms import Normalize, Compose, RandomResizedCrop, InterpolationMode, ToTensor, RandomHorizontalFlip

OPENAI_DATASET_MEAN = (0.48145466, 0.4578275, 0.40821073)
OPENAI_DATASET_STD = (0.26862954, 0.26130258, 0.27577711)

device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
_MODEL_PATH = "your model path"

transforms = Compose([
    RandomResizedCrop(
        224,
        scale=(0.5, 1.0),
        interpolation=InterpolationMode.BICUBIC,
    ),
    RandomHorizontalFlip(),
    ToTensor(),
    Normalize(mean=OPENAI_DATASET_MEAN, std=OPENAI_DATASET_STD),
])

model = InstructDittoLMForConditionalGeneration.from_pretrained(_MODEL_PATH).to(device).eval()
instruct_tokenizer = BertTokenizer.from_pretrained(os.path.join(_MODEL_PATH, "qformer_tokenizer"))
tokenizer = LlamaTokenizer.from_pretrained(_MODEL_PATH, use_fast = False)

qformer_prompt = "{prompt}"
qformer_prompt_list = []
prompt_prefix = ''
llm_prompt = "<human>: {prompt}\n<bot>:"
llm_prompt_list = []

prompt = ["your prompt"]

for i in prompt:
    qformer_prompt_list.append(qformer_prompt.format_map({"prompt":i}))
    llm_prompt_list.append(llm_prompt.format_map({"prompt":i}))

image_url = ["your image"]

imgs = []
for img_url in image_url:
    imgs.append(transforms(Image.open(img_url).convert('RGB')))

config = GenerationConfig(
    # do_sample=True, #False
    # num_beams=3, # 3
    # min_length=4,
    max_new_tokens=128, 
    repetition_penalty=1.18, 
    # length_penalty=1, 
    temperature=0.7,
    top_p=0.1,
    bos_token_id=1,
    eos_token_id=2, 
    pad_token_id=39410, 
)

imgs = torch.stack(imgs)

instruct_tokenizer.padding_side = 'right'
tokenizer.padding_side = 'left'

for i in range(imgs.shape[0]):
    prompt_prefix_ids = tokenizer(prompt_prefix, return_tensors="pt").input_ids
    qformer_instruct_ids = instruct_tokenizer(qformer_prompt_list[i], return_tensors="pt").input_ids
    llm_instruct_ids = tokenizer(llm_prompt_list[i], return_tensors="pt", add_special_tokens=False).input_ids
    qformer_instruct_atts = instruct_tokenizer(qformer_prompt_list[i], return_tensors="pt").attention_mask
    llm_instruct_atts = tokenizer(llm_prompt_list[i], return_tensors="pt", add_special_tokens=False).attention_mask
    captions = model.generate(
                            imgs[i].unsqueeze(0).to('cuda'),
                            qformer_instruct_ids=qformer_instruct_ids.to('cuda'),
                            prompt_prefix_ids = prompt_prefix_ids.to('cuda'),
                            llm_instruct_ids=llm_instruct_ids.to('cuda'),
                            generation_config=config
                            )
    caption = tokenizer.decode(captions[0])
    print("问: " + prompt[i] + "\n" + "答: " + caption)


引用 Citation

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

If you are using the resource for your work, please cite the our paper, 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}
}
@article{lu2023ziya,
  title={Ziya-VL: Bilingual Large Vision-Language Model via Multi-Task Instruction Tuning},
  author={Lu, Junyu and Zhang, Dixiang and Wu, Xiaojun and Gao, Xinyu and Gan, Ruyi and Zhang, Jiaxing and Song, Yan and Zhang, Pingjian},
  journal={arXiv preprint arXiv:2310.08166},
  year={2023}
}

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

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

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

Подбираем GPU…

Класс архитектуры
InstructDittoLMForConditionalGeneration
Ревизия весов
64cf752

0 моделей