Instructions to use steampunque/Qwen2.5-VL-3B-Instruct-MP-GGUF with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- llama-cpp-python
How to use steampunque/Qwen2.5-VL-3B-Instruct-MP-GGUF with llama-cpp-python:
# !pip install llama-cpp-python from llama_cpp import Llama llm = Llama.from_pretrained( repo_id="steampunque/Qwen2.5-VL-3B-Instruct-MP-GGUF", filename="Qwen2.5-VL-3B-Instruct.Q4_K_H.gguf", )
llm.create_chat_completion( messages = "No input example has been defined for this model task." )
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use steampunque/Qwen2.5-VL-3B-Instruct-MP-GGUF with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf steampunque/Qwen2.5-VL-3B-Instruct-MP-GGUF:Q6_K_H # Run inference directly in the terminal: llama cli -hf steampunque/Qwen2.5-VL-3B-Instruct-MP-GGUF:Q6_K_H
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf steampunque/Qwen2.5-VL-3B-Instruct-MP-GGUF:Q6_K_H # Run inference directly in the terminal: llama cli -hf steampunque/Qwen2.5-VL-3B-Instruct-MP-GGUF:Q6_K_H
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf steampunque/Qwen2.5-VL-3B-Instruct-MP-GGUF:Q6_K_H # Run inference directly in the terminal: ./llama-cli -hf steampunque/Qwen2.5-VL-3B-Instruct-MP-GGUF:Q6_K_H
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf steampunque/Qwen2.5-VL-3B-Instruct-MP-GGUF:Q6_K_H # Run inference directly in the terminal: ./build/bin/llama-cli -hf steampunque/Qwen2.5-VL-3B-Instruct-MP-GGUF:Q6_K_H
Use Docker
docker model run hf.co/steampunque/Qwen2.5-VL-3B-Instruct-MP-GGUF:Q6_K_H
- LM Studio
- Jan
- Ollama
How to use steampunque/Qwen2.5-VL-3B-Instruct-MP-GGUF with Ollama:
ollama run hf.co/steampunque/Qwen2.5-VL-3B-Instruct-MP-GGUF:Q6_K_H
- Unsloth Studio
How to use steampunque/Qwen2.5-VL-3B-Instruct-MP-GGUF with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for steampunque/Qwen2.5-VL-3B-Instruct-MP-GGUF to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for steampunque/Qwen2.5-VL-3B-Instruct-MP-GGUF to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for steampunque/Qwen2.5-VL-3B-Instruct-MP-GGUF to start chatting
- Atomic Chat new
- Docker Model Runner
How to use steampunque/Qwen2.5-VL-3B-Instruct-MP-GGUF with Docker Model Runner:
docker model run hf.co/steampunque/Qwen2.5-VL-3B-Instruct-MP-GGUF:Q6_K_H
- Lemonade
How to use steampunque/Qwen2.5-VL-3B-Instruct-MP-GGUF with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull steampunque/Qwen2.5-VL-3B-Instruct-MP-GGUF:Q6_K_H
Run and chat with the model
lemonade run user.Qwen2.5-VL-3B-Instruct-MP-GGUF-Q6_K_H
List all available models
lemonade list
Mixed Precision GGUF layer quantization of Qwen2.5-VL-3B-Instruct by Qwen
Original model: https://huggingface.co/Qwen/Qwen2.5-VL-3B-Instruct
The hybrid quant employs different quantization levels on a per layer basis to enable both high performance and small file size at the same time. This particular quant achieves a ~2.8G gguf ~same perplexity as a ~3.3G Q8_0 GGUF. The quants employed are all K to avoid slow CPU or older GPU processing of IQ quants. For this file the Q8_0_H layer quants are as follows:
LAYER_TYPES='[
[0 ,"Q8_0" ],[1 ,"Q5_K_M"],[2 ,"Q5_K_M"],[3 ,"Q5_K_M"],[4 ,"Q5_K_M"],[5 ,"Q5_K_M"],
[6 ,"Q5_K_M"],[7 ,"Q5_K_M"],[8, "Q5_K_M"],[9, "Q5_K_M"],[10,"Q5_K_M"],[11,"Q5_K_M"],
[12,"Q6_K" ],[13,"Q6_K" ],[14,"Q6_K" ],[15,"Q6_K" ],[16,"Q6_K" ],[17,"Q6_K" ],
[18,"Q6_K" ],[19,"Q6_K" ],[20,"Q6_K" ],[21,"Q6_K" ],[22,"Q6_K" ],[23,"Q6_K" ],
[24,"Q8_0" ],[25,"Q8_0" ],[26,"Q8_0" ],[27,"Q8_0" ],[28,"Q8_0" ],[29,"Q8_0" ],
[30,"Q8_0" ],[31,"Q8_0" ],[32,"Q8_0" ],[33,"Q8_0" ],[34,"Q8_0" ],[35,"Q8_0" ]
]'
FLAGS="--token-embedding-type Q8_0 --output-tensor-type Q6_K"
A Q6_K_H quant is also available:
Q5_K_L : attn_v = q8_0 attn_o = q6_k ffn_d = q6_k
Q6_K_S : Q6_K
Q6_K_M : attn_v = q8_0 ffn_d = q8_0
Q6_K_L : attn_v = q8_0 attn_o = q8_0 ffn_d = q8_0
LAYER_TYPES='[
[0 ,"Q6_K_S"],[1 ,"Q5_K_L"],[2 ,"Q5_K_M"],[3 ,"Q5_K_M"],[4 ,"Q5_K_M"],[5 ,"Q5_K_M"],
[6 ,"Q5_K_M"],[7 ,"Q5_K_M"],[8, "Q5_K_M"],[9, "Q5_K_M"],[10,"Q5_K_M"],[11,"Q5_K_M"],
[12,"Q5_K_M"],[13,"Q5_K_M"],[14,"Q5_K_M"],[15,"Q5_K_M"],[16,"Q5_K_M"],[17,"Q5_K_M"],
[18,"Q6_K_S"],[19,"Q5_K_L"],[20,"Q6_K_S"],[21,"Q5_K_L"],[22,"Q6_K_S"],[23,"Q5_K_L"],
[24,"Q6_K_S"],[25,"Q6_K_M"],[26,"Q6_K_S"],[27,"Q6_K_M"],[28,"Q6_K_S"],[29,"Q6_K_M"],
[30,"Q6_K_M"],[31,"Q6_K_M"],[32,"Q6_K_M"],[33,"Q6_K_L"],[34,"Q6_K_L"],[35,"Q6_K_L"]
]'
FLAGS="--token-embedding-type Q6_K --output-tensor-type Q6_K --layer-types-high"
A Q4_K_H quant is also available:
Q4_K_L : Q4_K_M + attn_o = q6_k
Q5_K_L : attn_v = q8_0 attn_o = q6_k ffn_d = q6_k
Q6_K_S : Q6_K
Q6_K_M : attn_v = q8_0 ffn_d = q8_0
Q6_K_L : attn_v = q8_0 attn_o = q8_0 ffn_d = q8_0
LAYER_TYPES='[
[0 ,"Q6_K_L"],[1 ,"Q6_K_M"],[2 ,"Q6_K_S"],[3 ,"Q5_K_L"],[4 ,"Q5_K_M"],[5 ,"Q5_K_S"],
[6 ,"Q4_K_S"],[7 ,"Q4_K_S"],[8, "Q4_K_S"],[9, "Q4_K_S"],[10,"Q4_K_S"],[11,"Q4_K_S"],
[12,"Q4_K_M"],[13,"Q4_K_S"],[14,"Q4_K_M"],[15,"Q4_K_S"],[16,"Q4_K_M"],[17,"Q4_K_S"],
[18,"Q4_K_M"],[19,"Q4_K_S"],[20,"Q4_K_M"],[21,"Q4_K_S"],[22,"Q4_K_M"],[23,"Q4_K_S"],
[24,"Q4_K_M"],[25,"Q4_K_M"],[26,"Q4_K_M"],[27,"Q4_K_M"],[28,"Q4_K_M"],[29,"Q4_K_M"],
[30,"Q4_K_M"],[31,"Q4_K_L"],[32,"Q5_K_S"],[33,"Q5_K_M"],[34,"Q5_K_L"],[35,"Q6_K_S"]
]'
FLAGS="--token-embedding-type Q4_K --output-tensor-type Q6_K --layer-types-high"
Comparison:
| Quant | size | PPL | Comment |
|---|---|---|---|
| IQ4_XS | 1.8e9 | 11.5 | - |
| Q4_K_H | 2e9 | 11.6 | - |
| Q6_K | 2.5e9 | 11.2 | - |
| Q6_K_H | 2.5e9 | 11.2 | - |
| Q8_0 | 3.3e9 | 11.6 | Q8_0 with default embedding and output |
| Q8_0_H | 2.8e9 | 11.3 | Hybrid quant with Q8_0 embedding Q6_K output |
Usage:
Qwen2.5-VL-3B-Instruct is a vision capable model. It can be used together with its multimedia projector layers to process images and text inputs and generate text outputs. The mmproj file is made available in this repository. To test vision mode follow the docs in the mtmd readme in the tools directory of the source tree https://github.com/ggml-org/llama.cpp/blob/master/tools/mtmd/README.md .
Inference Bugs/issues:
Certain image dimensions combined with certain image pixel values can result in infinite generation of ? characters due to NaN generation in image embeddings compute in mtmd: https://github.com/ggml-org/llama.cpp/issues/17534 . This problems renders the REALWORLDQA eval for the model invalid. Further, after getting into an infinite ? response with one image subsequent inferences appear to also be compromised due to some unknown state residual from the NaN generation. Also, the model will sometimes fall into rep loops if asked to solve an image/prompt with chain of thought (many models do this so this problem is not endemic to this particular model)
Note that after b7210 update the NaNs are no longer generated on the failing image described above but the root cause of the bug (F16 overflows in embeddings compute) is not addressed, see further comments in https://github.com/ggml-org/llama.cpp/issues/17534 .
Benchmarks:
A full set of vision benchmarks with corrected inference for Qwen2.5 VL (llama.cpp version 6915 and above) are given here: https://huggingface.co/spaces/steampunque/benchlm
Download the file from below:
| Link | Type | Size/e9 B | Notes |
|---|---|---|---|
| Qwen2.5-VL-3B-Instruct.Q4_K_H.gguf | Q4_K_H | 2e9 B | - |
| Qwen2.5-VL-3B-Instruct.Q6_K_H.gguf | Q6_K_H | 2.5e9 B | - |
| Qwen2.5-VL-3B-Instruct.Q8_0_H.gguf | Q8_0_H | 2.8e9 B | 0.5B smaller than Q8_0 |
| Qwen2.5-VL-3B-Instruct.mmproj.gguf | mmproj | 1.34e9 B | multimedia projector |
A discussion thread about the hybrid layer quant approach can be found here on the llama.cpp git repository:
- Downloads last month
- 172
6-bit
8-bit
Model tree for steampunque/Qwen2.5-VL-3B-Instruct-MP-GGUF
Base model
Qwen/Qwen2.5-VL-3B-Instruct
docker model run hf.co/steampunque/Qwen2.5-VL-3B-Instruct-MP-GGUF:Q6_K_H