AI SeedbankHelp preserve open and free AI for humanity's future

← All models

llava-hf_llava-onevision-qwen2-0.5b-ov-hf

llava-hf · View on Hugging Face ↗

Get this model

Download TorrentMagnet Link

Seeders: · Leechers:

Model card

The complete upstream card, rendered from this payload's README.md — the same hash-verified bytes the torrent distributes. Images and off-site links are removed; the original card on Hugging Face carries them.


language:

  • en
  • zh license: apache-2.0 tags:
  • vision
  • image-text-to-text
  • transformers.js datasets:
  • lmms-lab/LLaVA-OneVision-Data pipeline_tag: image-text-to-text arxiv: 2408.03326 library_name: transformers

LLaVA-Onevision Model Card

Check out also the Google Colab demo to run Llava on a free-tier Google Colab instance:

Below is the model card of 0.5B LLaVA-Onevision model which is copied from the original LLaVA-Onevision model card that you can find here.

Model details

Model type: LLaVA-Onevision is an open-source multimodal LLM trained by fine-tuning Qwen2 on GPT-generated multimodal instruction-following data. LLaVA-OneVision is the first single model that can simultaneously push the performance boundaries of open LMMs in three important computer vision scenarios: single-image, multi-image, and video scenarios. Importantly, the design of LLaVA-OneVision allows strong transfer learning across different modalities/scenarios, yielding new emerging capabilities. In particular, strong video understanding and cross-scenario capabilities are demonstrated through task transfer from images to videos.

Model date: LLaVA-Onevision-0.5-ov was added in August 2024.

Paper or resources for more information: https://llava-vl.github.io/

  • Architecture: SO400M + Qwen2
  • Pretraining Stage: LCS-558K, 1 epoch, projector
  • Mid Stage: A mixture of 4.7M high-quality synthetic data, 1 epoch, full model
  • Final-Image Stage: A mixture of 3.6M single-image data, 1 epoch, full model
  • OneVision Stage: A mixture of 1.6M single-image/multi-image/video data, 1 epoch, full model
  • Precision: bfloat16

How to use the model

First, make sure to have transformers installed from branch or transformers >= 4.45.0. The model supports multi-image and multi-prompt generation. Meaning that you can pass multiple images in your prompt. Make sure also to follow the correct prompt template by applying chat template:

Using pipeline:

Below we used "llava-hf/llava-onevision-qwen2-0.5b-ov-hf" checkpoint.

from transformers import pipeline

pipe = pipeline("image-text-to-text", model="llava-onevision-qwen2-0.5b-ov-hf")
messages = [
    {
      "role": "user",
      "content": [
          {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/transformers/tasks/ai2d-demo.jpg"},
          {"type": "text", "text": "What does the label 15 represent? (1) lava (2) core (3) tunnel (4) ash cloud"},
        ],
    },
]

out = pipe(text=messages, max_new_tokens=20)
print(out)
>>> [{'input_text': [{'role': 'user', 'content': [{'type': 'image', 'url': 'https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/transformers/tasks/ai2d-demo.jpg'}, {'type': 'text', 'text': 'What does the label 15 represent? (1) lava (2) core (3) tunnel (4) ash cloud'}]}], 'generated_text': 'Lava'}]

Using pure transformers:

Below is an example script to run generation in float16 precision on a GPU device:

import requests
from PIL import Image

import torch
from transformers import AutoProcessor, LlavaOnevisionForConditionalGeneration

model_id = "llava-hf/llava-onevision-qwen2-0.5b-ov-hf"
model = LlavaOnevisionForConditionalGeneration.from_pretrained(
    model_id, 
    torch_dtype=torch.float16, 
    low_cpu_mem_usage=True, 
).to(0)

processor = AutoProcessor.from_pretrained(model_id)

# Define a chat history and use `apply_chat_template` to get correctly formatted prompt
# Each value in "content" has to be a list of dicts with types ("text", "image") 
conversation = [
    {

      "role": "user",
      "content": [
          {"type": "text", "text": "What are these?"},
          {"type": "image"},
        ],
    },
]
prompt = processor.apply_chat_template(conversation, add_generation_prompt=True)

image_file = "http://images.cocodataset.org/val2017/000000039769.jpg"
raw_image = Image.open(requests.get(image_file, stream=True).raw)
inputs = processor(images=raw_image, text=prompt, 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))

From transformers>=v4.48, you can also pass image/video url or local path to the conversation history, and let the chat template handle the rest. Chat template will load the image for you and return inputs in torch.Tensor which you can pass directly to model.generate()

messages = [
    {
        "role": "user",
        "content": [
            {"type": "image", "url": "https://www.ilankelman.org/stopsigns/australia.jpg"}
            {"type": "text", "text": "What is shown in this image?"},
        ],
    },
]

inputs = processor.apply_chat_template(messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors"pt")
output = model.generate(**inputs, max_new_tokens=50)

Model optimization

4-bit quantization through bitsandbytes library

First make sure to install bitsandbytes, pip install bitsandbytes and make sure to have access to a CUDA compatible GPU device. Simply change the snippet above with:

model = LlavaOnevisionForConditionalGeneration.from_pretrained(
    model_id, 
    torch_dtype=torch.float16, 
    low_cpu_mem_usage=True,
+   load_in_4bit=True
)

Use Flash-Attention 2 to further speed-up generation

First make sure to install flash-attn. Refer to the original repository of Flash Attention regarding that package installation. Simply change the snippet above with:

model = LlavaOnevisionForConditionalGeneration.from_pretrained(
    model_id, 
    torch_dtype=torch.float16, 
    low_cpu_mem_usage=True,
+   use_flash_attention_2=True
).to(0)

Usage w/ Transformers.js

If you haven't already, you can install the Transformers.js JavaScript library from NPM using:

npm i @huggingface/transformers

Example: Multi-round conversations w/ PKV caching

import { AutoProcessor, AutoTokenizer, LlavaOnevisionForConditionalGeneration, RawImage } from '@huggingface/transformers';

// Load tokenizer, processor and model
const model_id = 'llava-hf/llava-onevision-qwen2-0.5b-ov-hf';

const tokenizer = await AutoTokenizer.from_pretrained(model_id);
const processor = await AutoProcessor.from_pretrained(model_id);
const model = await LlavaOnevisionForConditionalGeneration.from_pretrained(model_id, {
    dtype: {
        embed_tokens: 'fp16', // or 'fp32' or 'q8'
        vision_encoder: 'fp16', // or 'fp32' or 'q8'
        decoder_model_merged: 'q4', // or 'q8'
    },
    // device: 'webgpu',
});

// Prepare text inputs
const prompt = 'What does the text say?';
const messages = [
    { role: 'system', content: 'Answer the question.' },
    { role: 'user', content: `<image>\n${prompt}` }
]
const text = tokenizer.apply_chat_template(messages, { tokenize: false, add_generation_prompt: true });
const text_inputs = tokenizer(text);

// Prepare vision inputs
const url = 'https://huggingface.co/qnguyen3/nanoLLaVA/resolve/main/example_1.png';
const image = await RawImage.fromURL(url);
const vision_inputs = await processor(image);

// Generate response
const { past_key_values, sequences } = await model.generate({
    ...text_inputs,
    ...vision_inputs,
    do_sample: false,
    max_new_tokens: 64,
    return_dict_in_generate: true,
});

// Decode output
const answer = tokenizer.decode(
    sequences.slice(0, [text_inputs.input_ids.dims[1], null]),
    { skip_special_tokens: true },
);
console.log(answer);
// The text says "small but mighty" in a playful font.

const new_messages = [
    ...messages,
    { role: 'assistant', content: answer },
    { role: 'user', content: 'How does the text correlate to the context of the image?' }
]
const new_text = tokenizer.apply_chat_template(new_messages, { tokenize: false, add_generation_prompt: true });
const new_text_inputs = tokenizer(new_text);

// Generate another response
const output = await model.generate({
    ...new_text_inputs,
    past_key_values,
    do_sample: false,
    max_new_tokens: 256,
});
const new_answer = tokenizer.decode(
    output.slice(0, [new_text_inputs.input_ids.dims[1], null]),
    { skip_special_tokens: true },
);
console.log(new_answer);
// The text "small but mighty" is likely a playful or humorous reference to the image of the blue mouse with the orange dumbbell. It could be used as a motivational phrase or a playful way to express the idea that even small things can be impressive or powerful.

Citation

@misc{li2024llavaonevisioneasyvisualtask,
      title={LLaVA-OneVision: Easy Visual Task Transfer}, 
      author={Bo Li and Yuanhan Zhang and Dong Guo and Renrui Zhang and Feng Li and Hao Zhang and Kaichen Zhang and Yanwei Li and Ziwei Liu and Chunyuan Li},
      year={2024},
      eprint={2408.03326},
      archivePrefix={arXiv},
      primaryClass={cs.CV},
      url={https://arxiv.org/abs/2408.03326}, 
}

Magnet link

Opens the swarm directly in your torrent client — no file download needed. Copy-paste works too:

magnet:?xt=urn:btih:b163fee2894bbcd8c445cbcfb051345696906ef8&dn=llava-hf_llava-onevision-qwen2-0.5b-ov-hf

Open magnet in torrent client · infohash b163fee2894bbcd8c445cbcfb051345696906ef8

Files & hashes

PathSizesha1sha256
README.md9.4 KB (9,582 B)981286aff1f11df4f355dab8b9dd0ba5488a576c830de4a95f6a5db4cbdd01ab1fee40d6d4f2fb4973774a06d8376d4ffd666e89
added_tokens.json122 B (122 B)f4d12380a35b1f8032caad7bc7a006f5d3fa759e33e0fb93dadacb864bd2f2e8441e147daa2baceb67f94d3ef5283b495572cea0
chat_template.json826 B (826 B)68724c68b1612e9ab2e31f84e3279099ad656ff62466d1704df30f0067f28d8e30e0190a1bf74e5b430942697af974d162a056bd
config.json2.5 KB (2,591 B)d1fcc2ccafee7f4c82166f07f0f1918c8334553b839a4fba0bd6949f0db22d4f840935cb0318f6ac28b29c9ce1a5b15735a4a740
generation_config.json126 B (126 B)9f451858a72667b8ed295a9c44c14cefb99deb8f89dc53229f50b59570b6852056dafeac8116c458f1a748bff491b6d4d24d3b51
llava_onevision_arch.png203.9 KB (208,818 B)ed815fb345c3bec58952a241b9e9657f501b303d12a48d195ed4c07ffabac4b27aacb9cd79f8bd089e3ebe06cd1fee28e71fa98e
merges.txt1.6 MB (1,671,853 B)31349551d90c7606f325fe0f11bbb8bd5fa0d7c78831e4f1a044471340f7c0a83d7bd71306a5b867e95fd870f74d0c5308a904d5
model.safetensors1.66 GB (1,787,445,680 B)79ee2a4fca8fcfd80e583bf90f30b66773924c6e07b3362c3412de79baf2379e44e5b0b2a8f4b965ebebd11d7b5b3eb4450fe96e
preprocessor_config.json1.7 KB (1,732 B)1ff68626f165d5d9e234e1d6d293e646f7d269bf3644c108b9f0fa53e62ff422a9be6639642f0e64dab4a71f961c7911d4386384
processor_config.json178 B (178 B)7779c690fef0fe2026261c1f68eac18c5744831904e9899e93f2a412c94e153cab4081457c9a44defb3b2c0b9df673d42c42cdd0
special_tokens_map.json367 B (367 B)2c53454aff27c6d22873cc28c884c2b2d5d07693f4f79e08d97f4d1c87f8d89264f525c8789da3b73b3bb55d1e12f692f41a7b1b
tokenizer.json6.7 MB (7,028,579 B)532b756b16b09479d11b1b5696d96d773555a0533c0ce3213b50ff38d8aa1e91136a2d2cb142a3f569246170872e439cb2a29d15
tokenizer_config.json1.8 KB (1,800 B)36ffab84cf909f8f7940f5a85a81e516ce0f4026494a5592a446535be00acc531ccf7a53fd6c6c392c122d444c389160261572e0
video_preprocessor_config.json621 B (621 B)54bfac33b4d586990eabc014123202e3322e1f220ea9b672282b78353960b6069a521ed496a9f07c033e1e3362bff669234caa8d
video_processor/preprocessor_config.json428 B (428 B)97be8d6340dc9e9c8c3c0df03f84a1bdfc6232901e71b2e75b90ddf696692529485b4a75fd54ecd4bbc03e2cc7be4af032875765
vocab.json2.6 MB (2,776,833 B)4783fe10ac3adce15ac8f358ef5462739852c569ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910

Cite this release

Canonical URL
https://aiseedbank.org/models/llava-hf_llava-onevision-qwen2-0.5b-ov-hf/
Slug
llava-hf_llava-onevision-qwen2-0.5b-ov-hf
Infohash
b163fee2894bbcd8c445cbcfb051345696906ef8
License
apache-2.0
Signing key fingerprint
85a3b32c3712427b

Every file carries a locally computed sha256 — verify a download against the signed sums: llava-hf_llava-onevision-qwen2-0.5b-ov-hf.SHA256SUMS (+ minisign signature).

Provenance

Upstream repositoryllava-hf/llava-onevision-qwen2-0.5b-ov-hf
Revision (pinned)74dd0bf867a4cda7950c17663794267c60cf4b40
Fetched at2026-09-04T01:35:34Z
License at fetchapache-2.0
Snapshot toolhuggingface · seedbank 0.1.0

Trackers

✓ verified · rehash-vs-hf-metadata at 2026-09-04T01:35:56Z

apache-2.01.68 GB (1,799,150,136 bytes)transformersonnxsafetensorsllava_onevisionimage-text-to-textvisiontransformers.jsconversationalendpoints_compatible2 languages (en, zh)paper: 2408.03326