Instructions to use ohjoonhee/Qwen3.5-9B-VK-OPD-think-R3a with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use ohjoonhee/Qwen3.5-9B-VK-OPD-think-R3a with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="ohjoonhee/Qwen3.5-9B-VK-OPD-think-R3a") 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)# pip install -U transformers accelerate # Load model directly from transformers import AutoProcessor, AutoModelForMultimodalLM processor = AutoProcessor.from_pretrained("ohjoonhee/Qwen3.5-9B-VK-OPD-think-R3a") model = AutoModelForMultimodalLM.from_pretrained("ohjoonhee/Qwen3.5-9B-VK-OPD-think-R3a", 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=256) print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use ohjoonhee/Qwen3.5-9B-VK-OPD-think-R3a with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "ohjoonhee/Qwen3.5-9B-VK-OPD-think-R3a" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "ohjoonhee/Qwen3.5-9B-VK-OPD-think-R3a", "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/ohjoonhee/Qwen3.5-9B-VK-OPD-think-R3a
- SGLang
How to use ohjoonhee/Qwen3.5-9B-VK-OPD-think-R3a 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 "ohjoonhee/Qwen3.5-9B-VK-OPD-think-R3a" \ --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": "ohjoonhee/Qwen3.5-9B-VK-OPD-think-R3a", "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 "ohjoonhee/Qwen3.5-9B-VK-OPD-think-R3a" \ --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": "ohjoonhee/Qwen3.5-9B-VK-OPD-think-R3a", "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 ohjoonhee/Qwen3.5-9B-VK-OPD-think-R3a with Docker Model Runner:
docker model run hf.co/ohjoonhee/Qwen3.5-9B-VK-OPD-think-R3a
Qwen3.5-9B-VK-OPD-think-R3a
Private research checkpoint from round 3 of thinking-mode VK-OPD (run R3a, seed 3, step 80, picked on the dev split).
Base: Qwen/Qwen3.5-9B (revision c202236235762e1c871ad0ccb60c8ee5ba337b9a), full fine-tune of the
language-model layers and final norm, stored in bf16. The base model's MTP head is not included.
This run: Knowledge-question teacher sees the photo plus a system line; plain training questions only (no cues).
Method
Teachers are the frozen base model with privileged context; advantage per token = log ฯ_teacher โ log ฯ_student on the student's own samples.
- Photo questions: photo + system "Answer from what is actually shown in the image, even if it differs from what is typical."
- Knowledge questions: photo + system "Answer with what is generally true in the real world, even if the photo shows something different." (Round 1 used no photo here.)
- The student's user turn (photo, question and any cue) is identical for student and teacher.
- Data: Plain photo and knowledge questions only, 100% of draws. Only image pairs whose teacher answered every item correctly in 2 of 2 samples (280 conflict + 80 ordinary images).
- 80 steps, lr 3e-6 (5 warmup), 8 image pairs (16 prompts) ร 4 rollouts per step, rollouts up to 4,096 tokens, 4ร H100.
Evaluation (private test v3, natural images, n 1,186, thinking on, card sampling, 1 sample)
| model | CV | CK | NV | NK | All-4 | KT |
|---|---|---|---|---|---|---|
| Qwen3.5-9B | 80.2 | 67.7 | 84.0 | 90.7 | 43.5 | 93.0 |
| round 1 (VK-OPD-think) | 83.2 | 93.8 | 83.1 | 93.2 | 65.6 | 92.9 |
| this model | 81.1 | 94.5 | 82.3 | 90.8 | 61.6 | 93.0 |
All-4 vs the base: +18.0 [+15.1, +21.2] pp (pair bootstrap 95% CI). One seed. Shared privately for comparison within round 3; not a release.
- Downloads last month
- 6