jiajunlong's picture
Update README.md
8320341 verified
|
raw
history blame
2.6 kB
metadata
license: apache-2.0
pipeline_tag: image-text-to-text

TinyLLaVA

We trained 1 model with fewer than 1B parameters using the TinyLLaVA approach, employing the same training settings as TinyLLaVA. For the Language and Vision models, we chose OpenELM-450M-Instruct and siglip-so400m-patch14-384, respectively. The Connector was configured with a 2-layer MLP. The dataset used for training is the save as LLaVA. During testing, we found that TinyLLaVA-0.55B exhibited significantly faster inference speed on CPU compared to TinyLLaVA-1.5B

Usage

  1. you need to download the generate file "generate_model.py".
  2. running the following command:
python generate_model --model jiajunlong/TinyLLaVA-0.89B --prompt 'you want to ask' --image '/path/to/related/image'

or execute the following test code:

from transformers import AutoTokenizer, AutoModelForCausalLM
from generate_model import *
model = AutoModelForCausalLM.from_pretrained("jiajunlong/TinyLLaVA-0.55B", trust_remote_code=True)
config = model.config
tokenizer = AutoTokenizer.from_pretrained("jiajunlong/TinyLLaVA-0.55B", use_fast=False, model_max_length = config.tokenizer_model_max_length,padding_side = config.tokenizer_padding_side)
prompt="you want to ask"
image="/path/to/related/image"
output_text, genertaion_time = generate(prompt=prompt, image=image, model=model, tokenizer=tokenizer)
print_txt = (
        f'\r\n{"=" * os.get_terminal_size().columns}\r\n'
        '\033[1m Prompt + Generated Output\033[0m\r\n'
        f'{"-" * os.get_terminal_size().columns}\r\n'
        f'{output_text}\r\n'
        f'{"-" * os.get_terminal_size().columns}\r\n'
        '\r\nGeneration took'
        f'\033[1m\033[92m {round(genertaion_time, 2)} \033[0m'
        'seconds.\r\n'
    )
print(print_txt)

Result

model_name gqa textvqa sqa vqav2 MME MMB MM-VET
TinyLLaVA-1.5B 60.3 51.7 60.3 76.9 1276.5 55.2 25.8
TinyLLaVA-0.55B 53.87 44.02 54.09 71.74 1118.75 37.8 20