CoolFace
Modelpublic

xtuner/llava-llama-3-8b-v1_1-transformers

sourceHugging Faceupdated 2y agoView on Hugging Face
81likes20kdownloads
Model Card

<div align="center"> <img src="https://github.com/InternLM/lmdeploy/assets/36994684/0cf8d00f-e86b-40ba-9b54-dc8f1bc6c8d8" width="600"/>

![Generic badge](https://github.com/InternLM/xtuner)

</div>

Model

llava-llama-3-8b-v11-hf is a LLaVA model fine-tuned from [meta-llama/Meta-Llama-3-8B-Instruct](https://huggingface.co/meta-llama/Meta-Llama-3-8B-Instruct) and [CLIP-ViT-Large-patch14-336](https://huggingface.co/openai/clip-vit-large-patch14-336) with [ShareGPT4V-PT](https://huggingface.co/datasets/Lin-Chen/ShareGPT4V) and [InternVL-SFT](https://github.com/OpenGVLab/InternVL/tree/main/internvlchat#prepare-training-datasets) by XTuner.

Note: This model is in HuggingFace LLaVA format.

Resources:

Details

ModelVisual EncoderProjectorResolutionPretraining StrategyFine-tuning StrategyPretrain DatasetFine-tune Dataset
LLaVA-v1.5-7BCLIP-LMLP336Frozen LLM, Frozen ViTFull LLM, Frozen ViTLLaVA-PT (558K)LLaVA-Mix (665K)
LLaVA-Llama-3-8BCLIP-LMLP336Frozen LLM, Frozen ViTFull LLM, LoRA ViTLLaVA-PT (558K)LLaVA-Mix (665K)
LLaVA-Llama-3-8B-v1.1CLIP-LMLP336Frozen LLM, Frozen ViTFull LLM, LoRA ViTShareGPT4V-PT (1246K)InternVL-SFT (1268K)

Results

<div align="center"> <img src="https://github.com/InternLM/xtuner/assets/36994684/a157638c-3500-44ed-bfab-d8d8249f91bb" alt="Image" width=500" /> </div>

ModelMMBench Test (EN)MMBench Test (CN)CCBench DevMMMU ValSEED-IMGAI2D TestScienceQA TestHallusionBench aAccPOPEGQATextVQAMMEMMStar
LLaVA-v1.5-7B66.559.027.535.360.554.870.444.985.962.058.21511/34830.3
LLaVA-Llama-3-8B68.961.630.436.869.860.973.347.387.263.558.01506/29538.2
LLaVA-Llama-3-8B-v1.172.366.431.636.870.170.072.947.786.462.659.01469/34945.1

QuickStart

Chat by pipeline

python
from transformers import pipeline
from PIL import Image    
import requests

model_id = "xtuner/llava-llama-3-8b-v1_1-transformers"
pipe = pipeline("image-to-text", model=model_id, device=0)
url = "http://images.cocodataset.org/val2017/000000039769.jpg"

image = Image.open(requests.get(url, stream=True).raw)
prompt = ("<|start_header_id|>user<|end_header_id|>\n\n<image>\nWhat are these?<|eot_id|>"
          "<|start_header_id|>assistant<|end_header_id|>\n\n")
outputs = pipe(image, prompt=prompt, generate_kwargs={"max_new_tokens": 200})
print(outputs)
>>> [{'generated_text': 'user\n\n\nWhat are these?assistant\n\nThese are two cats, one brown and one gray, lying on a pink blanket. sleep. brown and gray cat sleeping on a pink blanket.'}]

Chat by pure transformers

python
import requests
from PIL import Image

import torch
from transformers import AutoProcessor, LlavaForConditionalGeneration

model_id = "xtuner/llava-llama-3-8b-v1_1-transformers"

prompt = ("<|start_header_id|>user<|end_header_id|>\n\n<image>\nWhat are these?<|eot_id|>"
          "<|start_header_id|>assistant<|end_header_id|>\n\n")
image_file = "http://images.cocodataset.org/val2017/000000039769.jpg"

model = LlavaForConditionalGeneration.from_pretrained(
    model_id, 
    torch_dtype=torch.float16, 
    low_cpu_mem_usage=True, 
).to(0)

processor = AutoProcessor.from_pretrained(model_id)


raw_image = Image.open(requests.get(image_file, stream=True).raw)
inputs = processor(prompt, raw_image, return_tensors='pt').to(0, torch.float16)

output = model.generate(**inputs, max_new_tokens=200, do_sample=False)
print(processor.decode(output[0][2:], skip_special_tokens=True))
>>> These are two cats, one brown and one gray, lying on a pink blanket. sleep. brown and gray cat sleeping on a pink blanket.

Reproduce

Please refer to docs.

Citation

bibtex
@misc{2023xtuner,
    title={XTuner: A Toolkit for Efficiently Fine-tuning LLM},
    author={XTuner Contributors},
    howpublished = {\url{https://github.com/InternLM/xtuner}},
    year={2023}
}