🚀 UForm
UForm是一款轻量级的多模态人工智能模型,可用于内容理解与生成,尤其在图像描述和视觉问答任务中表现出色。
🚀 快速开始
安装
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] Summarize the visual content of the image."
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]
✨ 主要特性
- UForm-Gen是一个小型生成式视觉语言模型,主要用于图像描述和视觉问答。
- 模型由两部分组成:
uform-vl-english
视觉编码器
- 在指令数据集上微调的
Sheared-LLaMA-1.3B
语言模型
- 模型在以下数据集上进行了预训练:MSCOCO、SBU Captions、Visual Genome、VQAv2、GQA 和一些内部数据集。
📚 详细文档
评估
图像描述评估
我们使用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设置和贪心解码,文本令牌生成的预期性能如下:
模型 |
大小 |
速度 |
加速比 |
llava-hf/llava-1.5-7b-hf |
7B |
~ 40 令牌/秒 |
|
Salesforce/instructblip-vicuna-7b |
7B |
~ 40 令牌/秒 |
|
unum-cloud/uform-gen |
1.5B |
~ 140 令牌/秒 |
x 3.5 |
📄 许可证
本项目采用 apache-2.0
许可证。
模型相关信息
属性 |
详情 |
模型类型 |
小型生成式视觉语言模型 |
训练数据 |
MSCOCO、SBU Captions、Visual Genome、VQAv2、GQA 和一些内部数据集 |
基础模型 |
unum-cloud/uform-vl-english |
适用任务 |
图像描述、视觉问答 |
许可证 |
apache-2.0 |