alt.freeweights.qwen / Qwen3-VL-2B-Thinking-FP8
From: Qwen <huggingface.co/Qwen>Newsgroups: alt.freeweights.qwenSubject:

Qwen3-VL-2B-Thinking-FP8

Date: 2026-11-15Commit: bc71e10Signed: 2DC28CC7B26A283B ✓

Image text to text model with 2.4B parameters. Safetensors weights, 3.48 GB in all. Published by Qwen under Apache-2.0.

2.4B params3.48GBQwen3-VL-2B-Thinking-FP8safetensorspermissive
FactsParams2.4BSize3.48 GBFormatssafetensorsTaskimage text to textLicenseApache-2.0From sourcepermissive
$ fw get Qwen/Qwen3-VL-2B-Thinking-FP8
# manifest sha256 8bdc30a145de… · 3.48 GB · 12 files
$ fw verify ./Qwen3-VL-2B-Thinking-FP8 Qwen/Qwen3-VL-2B-Thinking-FP8
From sourceHosted (signed)Qwen/Qwen3-VL-2B-Thinking-FP8Last check: 2026-11-15 03:45 UTC

Get help: custom fine-tune or private deploy. We review your setup before we quote.

Works with

Overview

Size
3.48 GB
Weights
3.47 GB (safetensors)
Parameters
2.4B
Formats
safetensors
Task
image text to text
License
Apache-2.0 (permissive)
Files
12, each with a sha256
Publisher
Qwen
Added
2026-11-15
Section
alt.freeweights.qwen
Lineage

Original release from the publisher.

Where these bytes come from
Publisher at the pinned commit→You

Sources are tried in order. A file counts only when its size and sha256 match the manifest. Sources are checked when you ask for them, not on a timer.

Sources
BadgeHostLast checkResult
From sourcehuggingface.co2026-11-15 03:45 UTCpassed

Model card

From the publisher at commit bc71e10. Shown as plain text with links; images open at the publisher.

Chat

Qwen3-VL-2B-Thinking-FP8#

This repository contains an FP8 quantized version of the Qwen3-VL-2B-Thinking model. The quantization method is fine-grained fp8 quantization with block size of 128, and its performance metrics are nearly identical to those of the original BF16 model. Enjoy!

Meet Qwen3-VL — the most powerful vision-language model in the Qwen series to date.

This generation delivers comprehensive upgrades across the board: superior text understanding & generation, deeper visual perception & reasoning, extended context length, enhanced spatial and video dynamics comprehension, and stronger agent interaction capabilities.

Available in Dense and MoE architectures that scale from edge to cloud, with Instruct and reasoning‑enhanced Thinking editions for flexible, on‑demand deployment.

Key Enhancements:#
  • Visual Agent: Operates PC/mobile GUIs—recognizes elements, understands functions, invokes tools, completes tasks.
  • Visual Coding Boost: Generates Draw.io/HTML/CSS/JS from images/videos.
  • Advanced Spatial Perception: Judges object positions, viewpoints, and occlusions; provides stronger 2D grounding and enables 3D grounding for spatial reasoning and embodied AI.
  • Long Context & Video Understanding: Native 256K context, expandable to 1M; handles books and hours-long video with full recall and second-level indexing.
  • Enhanced Multimodal Reasoning: Excels in STEM/Math—causal analysis and logical, evidence-based answers.
  • Upgraded Visual Recognition: Broader, higher-quality pretraining is able to “recognize everything”—celebrities, anime, products, landmarks, flora/fauna, etc.
  • Expanded OCR: Supports 32 languages (up from 19); robust in low light, blur, and tilt; better with rare/ancient characters and jargon; improved long-document structure parsing.
  • Text Understanding on par with pure LLMs: Seamless text–vision fusion for lossless, unified comprehension.
Model Architecture Updates:#

Image: image

  1. Interleaved-MRoPE: Full‑frequency allocation over time, width, and height via robust positional embeddings, enhancing long‑horizon video reasoning.
  2. DeepStack: Fuses multi‑level ViT features to capture fine‑grained details and sharpen image–text alignment.
  3. Text–Timestamp Alignment: Moves beyond T‑RoPE to precise, timestamp‑grounded event localization for stronger video temporal modeling.

This is the weight repository for Qwen3-VL-2B-Thinking-FP8.


Model Performance#

Multimodal performance

Image: image

Pure text performance Image: image

Quickstart#

Currently, 🤗 Transformers does not support loading these weights directly. Stay tuned!

We recommend deploying the model using vLLM or SGLang, with example launch commands provided below. For details on the runtime environment and deployment, please refer to this link.

vLLM Inference#

Here we provide a code snippet demonstrating how to use vLLM to run inference with Qwen3-VL locally. For more details on efficient deployment with vLLM, please refer to the community deployment guide.

# -*- coding: utf-8 -*-
import torch
from qwen_vl_utils import process_vision_info
from transformers import AutoProcessor
from vllm import LLM, SamplingParams

import os
os.environ['VLLM_WORKER_MULTIPROC_METHOD'] = 'spawn'

def prepare_inputs_for_vllm(messages, processor):
    text = processor.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
    # qwen_vl_utils 0.0.14+ reqired
    image_inputs, video_inputs, video_kwargs = process_vision_info(
        messages,
        image_patch_size=processor.image_processor.patch_size,
        return_video_kwargs=True,
        return_video_metadata=True
    )
    print(f"video_kwargs: {video_kwargs}")

    mm_data = {}
    if image_inputs is not None:
        mm_data['image'] = image_inputs
    if video_inputs is not None:
        mm_data['video'] = video_inputs

    return {
        'prompt': text,
        'multi_modal_data': mm_data,
        'mm_processor_kwargs': video_kwargs
    }


if __name__ == '__main__':
    # messages = [
    #     {
    #         "role": "user",
    #         "content": [
    #             {
    #                 "type": "video",
    #                 "video": "https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen2-VL/space_woaudio.mp4",
    #             },
    #             {"type": "text", "text": "这段视频有多长"},
    #         ],
    #     }
    # ]

    messages = [
        {
            "role": "user",
            "content": [
              {
                  "type": "image",
                  "image": "https://qianwen-res.oss-accelerate.aliyuncs.com/Qwen3-VL/receipt.png",
              },
              {"type": "text", "text": "Read all the text in the image."},
            ],
        }
    ]

    # TODO: change to your own checkpoint path
    checkpoint_path = "Qwen/Qwen3-VL-2B-Thinking-FP8"
    processor = AutoProcessor.from_pretrained(checkpoint_path)
    inputs = [prepare_inputs_for_vllm(message, processor) for message in [messages]]

    llm = LLM(
        model=checkpoint_path,
        trust_remote_code=True,
        gpu_memory_utilization=0.70,
        enforce_eager=False,
        tensor_parallel_size=torch.cuda.device_count(),
        seed=0
    )

    sampling_params = SamplingParams(
        temperature=0,
        max_tokens=1024,
        top_k=-1,
        stop_token_ids=[],
    )

    for i, input_ in enumerate(inputs):
        print()
        print('=' * 40)
        print(f"Inputs[{i}]: {input_['prompt']=!r}")
    print('\n' + '>' * 40)

    outputs = llm.generate(inputs, sampling_params=sampling_params)
    for i, output in enumerate(outputs):
        generated_text = output.outputs[0].text
        print()
        print('=' * 40)
        print(f"Generated text: {generated_text!r}")
SGLang Inference#

Here we provide a code snippet demonstrating how to use SGLang to run inference with Qwen3-VL locally.

import time
from PIL import Image
from sglang import Engine
from qwen_vl_utils import process_vision_info
from transformers import AutoProcessor, AutoConfig

if __name__ == "__main__":
    # TODO: change to your own checkpoint path
    checkpoint_path = "Qwen/Qwen3-VL-2B-Thinking-FP8"
    processor = AutoProcessor.from_pretrained(checkpoint_path)

    messages = [
        {
            "role": "user",
            "content": [
              {
                  "type": "image",
                  "image": "https://qianwen-res.oss-accelerate.aliyuncs.com/Qwen3-VL/receipt.png",
              },
              {"type": "text", "text": "Read all the text in the image."},
            ],
        }
    ]

    text = processor.apply_chat_template(
        messages,
        tokenize=False,
        add_generation_prompt=True
    )

    image_inputs, _ = process_vision_info(messages, image_patch_size=processor.image_processor.patch_size)

    llm = Engine(
        model_path=checkpoint_path,
        enable_multimodal=True,
        mem_fraction_static=0.8,
        tp_size=torch.cuda.device_count(),
        attention_backend="fa3"
    )

    start = time.time()
    sampling_params = {"max_new_tokens": 1024}
    response = llm.generate(prompt=text, image_data=image_inputs, sampling_params=sampling_params)
    print(f"Response costs: {time.time() - start:.2f}s")
    print(f"Generated text: {response['text']}")
Generation Hyperparameters#
VL#
export greedy='false'
export top_p=0.95
export top_k=20
export repetition_penalty=1.0
export presence_penalty=0.0
export temperature=1.0
export out_seq_length=40960
Text#
export greedy='false'
export top_p=0.95
export top_k=20
export repetition_penalty=1.0
export presence_penalty=1.5
export temperature=1.0
export out_seq_length=32768 (for aime, lcb, and gpqa, it is recommended to set to 81920)

Citation#

If you find our work helpful, feel free to give us a cite.

@misc{qwen3technicalreport,
      title={Qwen3 Technical Report}, 
      author={Qwen Team},
      year={2025},
      eprint={2505.09388},
      archivePrefix={arXiv},
      primaryClass={cs.CL},
      url={https://arxiv.org/abs/2505.09388}, 
}

@article{Qwen2.5-VL,
  title={Qwen2.5-VL Technical Report},
  author={Bai, Shuai and Chen, Keqin and Liu, Xuejing and Wang, Jialin and Ge, Wenbin and Song, Sibo and Dang, Kai and Wang, Peng and Wang, Shijie and Tang, Jun and Zhong, Humen and Zhu, Yuanzhi and Yang, Mingkun and Li, Zhaohai and Wan, Jianqiang and Wang, Pengfei and Ding, Wei and Fu, Zheren and Xu, Yiheng and Ye, Jiabo and Zhang, Xi and Xie, Tianbao and Cheng, Zesen and Zhang, Hang and Yang, Zhibo and Xu, Haiyang and Lin, Junyang},
  journal={arXiv preprint arXiv:2502.13923},
  year={2025}
}

@article{Qwen2VL,
  title={Qwen2-VL: Enhancing Vision-Language Model's Perception of the World at Any Resolution},
  author={Wang, Peng and Bai, Shuai and Tan, Sinan and Wang, Shijie and Fan, Zhihao and Bai, Jinze and Chen, Keqin and Liu, Xuejing and Wang, Jialin and Ge, Wenbin and Fan, Yang and Dang, Kai and Du, Mengfei and Ren, Xuancheng and Men, Rui and Liu, Dayiheng and Zhou, Chang and Zhou, Jingren and Lin, Junyang},
  journal={arXiv preprint arXiv:2409.12191},
  year={2024}
}

@article{Qwen-VL,
  title={Qwen-VL: A Versatile Vision-Language Model for Understanding, Localization, Text Reading, and Beyond},
  author={Bai, Jinze and Bai, Shuai and Yang, Shusheng and Wang, Shijie and Tan, Sinan and Wang, Peng and Lin, Junyang and Zhou, Chang and Zhou, Jingren},
  journal={arXiv preprint arXiv:2308.12966},
  year={2023}
}

Files

12 files · 3.48 GBWeights 3.47 GB (safetensors). Sizes and sha256 from the signed manifest.
Hide all 12 files with their sha256
FileSizesha256
.gitattributes1.52 KB11ad7efa24975ee4b0c3c3a38ed18737f0658a5f75a0a96787b576a78a023361
README.md10.4 KB94d0ac4fb881d9ad279d564b49b75326ad4aa96f71fdb7a7f00c0b74483e994b
chat_template.json5.41 KBefad756db13feb8e8c5fe1341713bf18b82e91916b978d36b7c043f2b1bedf5f
config.json12.0 KB9d3050de5482d3ba017c945bea8cf94fc0bee7f0bd272e3abeeeb502774c9601
generation_config.json242 Ba01c0121bc17301c42e8fd1895c79c7558f7321c55110d1037478c3f3cec2049
model-00001-of-00001.safetensors3.47 GB327bc29770e4e1f1f73e14b849b0ed6856639d3fa11f4525aacf353a1394ab98
model.safetensors.index.json77.0 KB59beb5fdb25290b2efa4c7c16c3b081d45bff7635c5703caa89078ec71c68d46
preprocessor_config.json336 B6a970fd06f30e6943b3e2c14d5d3b42d49b06cf99b99103d56689bef462d90f8
tokenizer.json10.2 MBba85e4e5222d9f53d4bd00b303ef7e9743c8ac3d07e3c23f8498dbe17baa9a2d
tokenizer_config.json10.8 KB7b501e639b4d107a23effbe30390ee33d553f722467f7ac8e2744d7ff5d3a7d5
video_preprocessor_config.json331 Be203bc065dfcd75226838b8e937d624bec8f0eb6ef6630a397e9a675f2873ea6
vocab.json4.96 MB7a0cfa95c65792d7510205839f80cfd8a3c8f6b1fdad5132d95cee481800374d
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
bc71e10812 pinned now2026-11-15 03:45 UTC12 files · 3.48 GB

Use it

$ fw get Qwen/Qwen3-VL-2B-Thinking-FP8
# manifest sha256 8bdc30a145de… · 3.48 GB · 12 files
$ fw verify ./Qwen3-VL-2B-Thinking-FP8 Qwen/Qwen3-VL-2B-Thinking-FP8
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/Qwen/Qwen3-VL-2B-Thinking-FP8.json --dir ./Qwen3-VL-2B-Thinking-FP8 $ python3 fw.py verify ./Qwen3-VL-2B-Thinking-FP8 ./Qwen__Qwen3-VL-2B-Thinking-FP8.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download Qwen/Qwen3-VL-2B-Thinking-FP8 --revision bc71e10812c1bba5532bd2eca46a4166f3b7fffd --local-dir ./Qwen3-VL-2B-Thinking-FP8
transformersLoad the weights in Python.
import os os.environ["HF_ENDPOINT"] = "https://freeweights.allternit.com" from transformers import AutoModelForImageTextToText, AutoProcessor processor = AutoProcessor.from_pretrained("Qwen/Qwen3-VL-2B-Thinking-FP8", revision="bc71e10812c1bba5532bd2eca46a4166f3b7fffd") model = AutoModelForImageTextToText.from_pretrained("Qwen/Qwen3-VL-2B-Thinking-FP8", revision="bc71e10812c1bba5532bd2eca46a4166f3b7fffd", device_map="auto")
vLLMServe an OpenAI-compatible API.
$ HF_ENDPOINT=https://freeweights.allternit.com vllm serve Qwen/Qwen3-VL-2B-Thinking-FP8 --revision bc71e10812c1bba5532bd2eca46a4166f3b7fffd

License

Name
Apache License 2.0
Id
Apache-2.0
Class
Permissive
Redistribution
yes
Listing
Hosted (signed)
Decided
License as declared by the publisher. No person read it. 2026-11-15
Text in
README.md
Text sha256
94d0ac4fb881d9ad279d564b49b75326ad4aa96f71fdb7a7f00c0b74483e994b
Terms gate
No extra terms beyond the license.

Read the license text

Licenses are checked against the license table. A custom license passes only after a person reads it.

Provenance

From: Qwen <huggingface.co/Qwen>Newsgroups: alt.freeweights.qwenSubject: Qwen3-VL-2B-Thinking-FP8Date: 2026-11-15Commit: bc71e10Signed: 2DC28CC7B26A283B ✓
Upstream
Qwen/Qwen3-VL-2B-Thinking-FP8
Pinned commit
bc71e10812c1bba5532bd2eca46a4166f3b7fffd
Manifest
Qwen3-VL-2B-Thinking-FP8.json · .minisig
Manifest sha256
8bdc30a145de1698253a183e96ac2a92ec85c211dc6aa7579c9fffddf8f8dbc3
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-15 03:45 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/Qwen/Qwen3-VL-2B-Thinking-FP8.json $ curl -O https://freeweights.allternit.com/manifests/Qwen/Qwen3-VL-2B-Thinking-FP8.json.minisig $ minisign -Vm Qwen3-VL-2B-Thinking-FP8.json -P RWQ7KGqyx4zCLXtUFOqvfv8L3g+8fpKJ1FsuxPyOYMF+4KufbUxKq1Oq $ shasum -a 256 <file> # compare with the Files tab

A manifest whose signature fails must be rejected. A file whose size or sha256 does not match must be discarded. Verify a download

Model tree

No related models in this catalog.Nothing here lists this model as its parent, and it names no parent.
Get it
Download
$ HF_ENDPOINT=https://freeweights.allternit.com hf download Qwen/Qwen3-VL-2B-Thinking-FP8
Open in Freeweights Studio

Pull, verify and run it in the Allternit app on Desktop, web or phone.

Signed manifest
minisign, key 2DC28CC7B26A283B. Qwen3-VL-2B-Thinking-FP8.json. Provenance. Takedown history: none.
From: BAAI <huggingface.co/BAAI>Subject: Aquila-VL-2B-llava-qwen
From: Perciqa <huggingface.co/Perciqa>Subject: Aurora-Code-1
From: BAAI <huggingface.co/BAAI>Subject: bge-reasoner-embed-qwen3-8b-0923
From: amazon <huggingface.co/amazon>Subject: BMOJOF-primed-HQwen3-8B-Instruct
From: nbeerbower <huggingface.co/nbeerbower>Subject: Bubba-Qwen3.6-27B-LoRA
From: bartowski <huggingface.co/bartowski>Subject: bytkim_Qwen3.8-27B-pi-GGUF