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
widget:
- src: preview-interior.png
output:
text: "客厅温馨舒适,配有一把红色皮椅和白色桌子。椅子位于中央,桌子在左侧。左侧的台灯照亮空间,墙上悬挂大幅画作增添艺术气息,桌上的花瓶点缀装饰。房间光线充足,营造出温暖宜人的氛围。"
- src: preview-girl.png
output:
text: "小女孩站在青草地上,撑着雨伞遮挡雨水。她身穿黄色连衣裙,似乎很享受户外时光。撑开的雨伞为她挡雨,草地边缘树木环绕,营造出宁静自然的意境。"
UForm
口袋级多模态AI
用于内容理解与生成
模型说明
UForm-Gen是一款小型生成式视觉语言模型,主要用于图像描述生成和视觉问答。模型包含两部分:
uform-vl-english
视觉编码器
- 基于指令数据集微调的
Sheared-LLaMA-1.3B
语言模型
预训练数据集包括:MSCOCO、SBU Captions、Visual Genome、VQAv2、GQA及部分内部数据集。
使用方法
pip install uform
该生成模型可用于图像描述、内容摘要或视觉问答,具体行为由提示词控制。
from uform.gen_model import VLMForCausalLM, VLMProcessor
model = VLMForCausalLM.from_pretrained("unum-cloud/uform-gen")
processor = VLMProcessor.from_pretrained("unum-cloud/uform-gen")
prompt = "[cap] 概括图像视觉内容"
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 |
1.5B |
长文本 |
0.847 |
0.523 |
unum-cloud/uform-gen |
1.5B |
短文本 |
0.842 |
0.522 |
VQAv2数据集评估结果:
模型 |
参数量 |
准确率 |
llava-hf/llava-1.5-7b-hf |
7B |
78.5 |
unum-cloud/uform-gen |
1.5B |
66.5 |
¹ 评估使用apple/DFN5B-CLIP-ViT-H-14-378
CLIP模型
推理速度
在RTX 3090显卡、float16精度、等效PyTorch设置及贪心解码条件下,文本token生成速度如下:
模型 |
参数量 |
生成速度 |
加速比 |
llava-hf/llava-1.5-7b-hf |
7B |
约40 token/秒 |
|
Salesforce/instructblip-vicuna-7b |
7B |
约40 token/秒 |
|
unum-cloud/uform-gen |
1.5B |
约140 token/秒 |
3.5倍 |