🚀 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 |