Image-Text-to-Text
Transformers
Safetensors
qwen3_vl
qwen3-vl
vision-language
multilingual
ocr
grpo
conversational
Instructions to use DatasetMan/QGO-8B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use DatasetMan/QGO-8B with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="DatasetMan/QGO-8B") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)# Load model directly from transformers import AutoProcessor, AutoModelForMultimodalLM processor = AutoProcessor.from_pretrained("DatasetMan/QGO-8B") model = AutoModelForMultimodalLM.from_pretrained("DatasetMan/QGO-8B", device_map="auto") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] inputs = processor.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use DatasetMan/QGO-8B with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "DatasetMan/QGO-8B" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "DatasetMan/QGO-8B", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker
docker model run hf.co/DatasetMan/QGO-8B
- SGLang
How to use DatasetMan/QGO-8B with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "DatasetMan/QGO-8B" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "DatasetMan/QGO-8B", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "DatasetMan/QGO-8B" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "DatasetMan/QGO-8B", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }' - Docker Model Runner
How to use DatasetMan/QGO-8B with Docker Model Runner:
docker model run hf.co/DatasetMan/QGO-8B
File size: 2,448 Bytes
3614893 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | ---
license: apache-2.0
library_name: transformers
pipeline_tag: image-text-to-text
base_model: Qwen/Qwen3-VL-8B-Thinking
tags:
- qwen3-vl
- vision-language
- multilingual
- ocr
- grpo
datasets:
- DatasetMan/PM4Bench-QGO-Train
---
# QGO-8B
QGO-8B is an OCR-centric GRPO checkpoint derived from
[`Qwen/Qwen3-VL-8B-Thinking`](https://huggingface.co/Qwen/Qwen3-VL-8B-Thinking).
This repository contains the complete global-step-200 BF16 checkpoint used in
the PM4Bench paper.
## Model details
- Architecture: `Qwen3VLForConditionalGeneration`
- Base model: `Qwen/Qwen3-VL-8B-Thinking`
- Training method: GRPO
- Released checkpoint: global step 200
- Weight format: safetensors, four BF16 shards
- Indexed tensor bytes: 17,534,247,392
- License: Apache-2.0
- Tested Transformers version: 4.57.6
## Usage
```python
from transformers import AutoProcessor, Qwen3VLForConditionalGeneration
model_id = "DatasetMan/QGO-8B"
model = Qwen3VLForConditionalGeneration.from_pretrained(
model_id,
dtype="auto",
device_map="auto",
)
processor = AutoProcessor.from_pretrained(model_id)
```
The full BF16 weights are approximately 17.5 GB before runtime allocations.
Plan GPU/CPU memory for weights, vision inputs, KV cache, and generation in
addition to the checkpoint size.
Use the base model's official chat template and greedy decoding for PM4Bench
evaluation. Task prompts and evaluation code are provided in
<https://github.com/opendatalab/PM4Bench>.
## Training
The released data is available at
<https://huggingface.co/datasets/DatasetMan/PM4Bench-QGO-Train>. The recipe
uses 32 prompts and 8 rollouts per prompt (256 trajectories per step), AdamW
with learning rate `1e-6`, BF16, and eight GPUs.
## PM4Bench evaluation
| Model | MDUR trad. | MDUR vision | MIQA trad. | MIQA vision | MSOCR | MGUI |
|---|---:|---:|---:|---:|---:|---:|
| Qwen3-VL-8B-Thinking | 38.55 | 34.88 | 53.63 | 47.69 | 1.53 | 78.30 |
| QGO-8B | 46.82 | 40.84 | 55.24 | 51.06 | 8.17 | 80.00 |
These are the audited paper results. MDUR and MGUI are percentages, MIQA is
the six-dimension judge score on a 10-100 scale, and MSOCR is on a 0-40 scale.
## Limitations
QGO-8B targets multilingual OCR robustness. It inherits limitations and risks
from the Qwen base model and is not guaranteed to improve every downstream
task or language. Coordinate outputs, OCR transcriptions, and long-form
reasoning should be validated before use in consequential applications.
|