pipeline_tag: 视觉问答
tags:
- 图像描述生成
- 视觉问答
datasets:
- sbu_captions
- visual_genome
- HuggingFaceM4/VQAv2
- ChristophSchuhmann/MS_COCO_2017_URL_TEXT
language:
- en
license: apache-2.0
base_model: unum-cloud/uform-vl-english
UForm
口袋级多模态AI
用于内容理解与生成
模型描述
UForm-Gen是一款小型生成式视觉语言模型,主要设计用于图像描述生成和视觉问答任务。该模型包含两个核心组件:
- UForm视觉编码器
- 基于指令数据集微调的Sheared-LLaMA-1.3B语言模型
模型在以下数据集进行预训练:MSCOCO、SBU Captions、Visual Genome、VQAv2、GQA以及部分内部数据集。UForm-Gen-Chat是UForm-Gen
的多模态对话精调版本。
使用方式
pip install uform
运行命令行交互 demo:
uform-chat --model unum-cloud/uform-gen-chat --image_path=zebra.jpg
uform-chat --model unum-cloud/uform-gen-chat --image_path=zebra.jpg --device="cuda:0" --fp16
或在代码中调用模型:
from uform.gen_model import VLMForCausalLM, VLMProcessor
model = VLMForCausalLM.from_pretrained("unum-cloud/uform-gen-chat")
processor = VLMProcessor.from_pretrained("unum-cloud/uform-gen-chat")
prompt = "你看到了什么?"
image = Image.open("zebra.jpg")
inputs = processor(texts=[prompt], images=[image], return_tensors="pt")
with torch.inference_mode():
output = model.generate(
**inputs,
do_sample=False,
use_cache=True,
max_new_tokens=128,
eos_token_id=32001,
pad_token_id=processor.tokenizer.pad_token_id
)
prompt_len = inputs["input_ids"].shape[1]
decoded_text = processor.batch_decode(output[:, prompt_len:])[0]
性能评估
图像描述生成任务采用CLIPScore和RefCLIPScore¹作为评估指标。
模型 |
参数量 |
描述长度 |
CLIPScore |
RefCLIPScore |
llava-hf/llava-1.5-7b-hf |
7B |
长文本 |
0.878 |
0.529 |
llava-hf/llava-1.5-7b-hf |
7B |
短文本 |
0.886 |
0.531 |
|
|
|
|
|
Salesforce/instructblip-vicuna-7b |
7B |
长文本 |
0.902 |
0.534 |
Salesforce/instructblip-vicuna-7b |
7B |
短文本 |
0.848 |
0.523 |
|
|
|
|
|
unum-cloud/uform-gen-chat |
1.5B |
长文本 |
0.860 |
0.525 |
unum-cloud/uform-gen-chat |
1.5B |
短文本 |
0.858 |
0.525 |
¹ 评估使用apple/DFN5B-CLIP-ViT-H-14-378
作为CLIP评分模型