168 1 week ago

Qwen 3.6 35B multimodal model with vision support, quantized to IQ3_S and optimized to fit within 16 GB VRAM with Q4_0 KV cache. Supports very large context windows, with the practical maximum depending on the Ollama version, GPU and backend.

vision tools thinking 35b
ollama run byczech/qwen3.6-mmproj-16G-UD-IQ3_S:35b

Details

1 week ago

7f934369e5b0 · 15GB ·

qwen35moe
·
35.1B
·
IQ3_S
Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR US
{ "min_p": 0, "presence_penalty": 1.5, "repeat_penalty": 1, "temperature": 1, "t
{{ .Prompt }}

Readme

Qwen 3.6 35B Vision — 16 GB VRAM, IQ3_S

A compact multimodal build of Qwen 3.6 35B with vision support, prepared for local use with Ollama.

This model is designed to fit within 16 GB of VRAM, including a very large context window of up to 262,144 tokens, when used with:

  • IQ3_S model quantization
  • Q4_0 KV-cache quantization
  • Flash Attention

Model

byczech/qwen3.6-mmproj-16G-UD-IQ3_S:35b

Highlights

  • Text and image understanding
  • Qwen 3.6 35B base model
  • Multimodal projector included
  • IQ3_S quantization
  • Up to 262,144 tokens of context
  • Optimized for GPUs with 16 GB VRAM
  • Suitable for long documents, screenshots, image analysis, coding and general chat

Run

ollama run byczech/qwen3.6-mmproj-16G-UD-IQ3_S:35b

Recommended Ollama configuration

To use the full 262,144-token context while minimizing VRAM usage, start the Ollama server with:

OLLAMA_FLASH_ATTENTION=1 \
OLLAMA_KV_CACHE_TYPE=q4_0 \
OLLAMA_CONTEXT_LENGTH=262144 \
ollama serve

Then run the model in another terminal:

ollama run byczech/qwen3.6-mmproj-16G-UD-IQ3_S:35b

You can verify whether the model is fully loaded on the GPU with:

ollama ps

The PROCESSOR column should report 100% GPU.

Vision example with Python

Install the Ollama Python package:

pip install ollama

Then pass an image path to the model:

from ollama import chat

response = chat(
    model="byczech/qwen3.6-mmproj-16G-UD-IQ3_S:35b",
    messages=[
        {
            "role": "user",
            "content": "Describe this image in detail.",
            "images": ["image.jpg"],
        }
    ],
)

print(response.message.content)

Context length

Ollama may select a much smaller default context on systems with less than 24 GB of VRAM. Set OLLAMA_CONTEXT_LENGTH=262144 (may vary from GPU to GPU try 128K to 256K) before starting the server, or configure num_ctx explicitly in your client (or you can create your own Modelfile with num_ctx parameter).

The maximum context consumes substantially more memory than short prompts. The 16 GB target assumes Q4_0 KV cache, Flash Attention, one loaded model and no parallel requests.

Quality and memory trade-off

Q4_0 KV-cache quantization uses roughly one quarter of the memory required by the default F16 KV cache. This makes the very large context practical on a 16 GB GPU, but it can reduce precision, especially near the maximum context length.

For higher KV-cache precision, use q8_0, but expect higher VRAM usage and a smaller practical context window.

Notes

  • Actual VRAM use depends on the Ollama version, GPU backend, prompt length and runtime overhead.
  • Close other GPU-intensive applications when using the maximum context.
  • Keep OLLAMA_NUM_PARALLEL=1 for the lowest memory usage.
  • Image inputs also consume context tokens.
  • Newer Ollama versions (0.31+) may need lower context window to fit to 16 GB VRAM - check with ollama ps command