🚀 TinyLLaVA
TinyLLaVA發佈了一系列小規模的大多模態模型(LMMs),模型規模從14億參數到31億參數不等。我們表現最優的模型TinyLLaVA - Phi - 2 - SigLIP - 3.1B,在整體性能上優於現有的70億參數模型,如LLaVA - 1.5和Qwen - VL。
🚀 快速開始
這裡,我們介紹TinyLLaVA - Phi - 2 - SigLIP - 3.1B,它是由TinyLLaVA Factory代碼庫訓練得到的。對於大語言模型(LLM)和視覺塔,我們分別選擇了[Phi - 2](microsoft/phi - 2)和[siglip - so400m - patch14 - 384](https://huggingface.co/google/siglip - so400m - patch14 - 384)。用於訓練該模型的數據集是[ShareGPT4V](https://github.com/InternLM/InternLM - XComposer/blob/main/projects/ShareGPT4V/docs/Data.md)數據集。
💻 使用示例
基礎用法
from transformers import AutoTokenizer, AutoModelForCausalLM
hf_path = 'tinyllava/TinyLLaVA-Phi-2-SigLIP-3.1B'
model = AutoModelForCausalLM.from_pretrained(hf_path, trust_remote_code=True)
model.cuda()
config = model.config
tokenizer = AutoTokenizer.from_pretrained(hf_path, use_fast=False, model_max_length = config.tokenizer_model_max_length,padding_side = config.tokenizer_padding_side)
prompt="What are these?"
image_url="http://images.cocodataset.org/test-stuff2017/000000000001.jpg"
output_text, genertaion_time = model.chat(prompt=prompt, image=image_url, tokenizer=tokenizer)
print('model output:', output_text)
print('runing time:', genertaion_time)
📚 詳細文檔
結果展示
模型名稱 |
VQAv2 |
GQA |
SQA |
TextVQA |
MM - VET |
POPE |
MME |
MMMU |
[LLaVA - 1.5 - 7B](https://huggingface.co/llava - hf/llava - 1.5 - 7b - hf) |
78.5 |
62.0 |
66.8 |
58.2 |
30.5 |
85.9 |
1510.7 |
- |
[bczhou/TinyLLaVA - 3.1B](https://huggingface.co/bczhou/TinyLLaVA - 3.1B) (我們的舊模型) |
79.9 |
62.0 |
69.1 |
59.1 |
32.0 |
86.4 |
1464.9 |
- |
[tinyllava/TinyLLaVA - Gemma - SigLIP - 2.4B](https://huggingface.co/tinyllava/TinyLLaVA - Gemma - SigLIP - 2.4B) |
78.4 |
61.6 |
64.4 |
53.6 |
26.9 |
86.4 |
1339.0 |
31.7 |
[tinyllava/TinyLLaVA - Phi - 2 - SigLIP - 3.1B](https://huggingface.co/tinyllava/TinyLLaVA - Phi - 2 - SigLIP - 3.1B) |
80.1 |
62.1 |
73.0 |
60.3 |
37.5 |
87.2 |
1466.4 |
38.4 |
關於TinyLLaVA Factory
TinyLLaVA Factory是一個開源的模塊化代碼庫,專注於小規模大多模態模型的開發,具有代碼實現簡單、新特性易於擴展以及訓練結果可復現等特點。該代碼庫提供了標準的訓練和評估流程、靈活的數據預處理和模型配置,以及易於擴展的架構。用戶可以用最少的編碼工作和更少的編碼錯誤來定製自己的大多模態模型。
TinyLLaVA Factory集成了一系列前沿的模型和方法:
- 大語言模型(LLM)目前支持OpenELM、TinyLlama、StableLM、Qwen、Gemma和Phi。
- 視覺塔目前支持CLIP、SigLIP、Dino以及CLIP和Dino的組合。
- 連接器目前支持MLP、Qformer和Resampler。
📄 許可證
本項目採用Apache - 2.0許可證。