Instructions to use gittensor-model-hub/Qwen3.8-27B-NVFP4-RTX5090-No-MTP with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use gittensor-model-hub/Qwen3.8-27B-NVFP4-RTX5090-No-MTP with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="gittensor-model-hub/Qwen3.8-27B-NVFP4-RTX5090-No-MTP") 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("gittensor-model-hub/Qwen3.8-27B-NVFP4-RTX5090-No-MTP") model = AutoModelForMultimodalLM.from_pretrained("gittensor-model-hub/Qwen3.8-27B-NVFP4-RTX5090-No-MTP", 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 gittensor-model-hub/Qwen3.8-27B-NVFP4-RTX5090-No-MTP with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "gittensor-model-hub/Qwen3.8-27B-NVFP4-RTX5090-No-MTP" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "gittensor-model-hub/Qwen3.8-27B-NVFP4-RTX5090-No-MTP", "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/gittensor-model-hub/Qwen3.8-27B-NVFP4-RTX5090-No-MTP
- SGLang
How to use gittensor-model-hub/Qwen3.8-27B-NVFP4-RTX5090-No-MTP 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 "gittensor-model-hub/Qwen3.8-27B-NVFP4-RTX5090-No-MTP" \ --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": "gittensor-model-hub/Qwen3.8-27B-NVFP4-RTX5090-No-MTP", "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 "gittensor-model-hub/Qwen3.8-27B-NVFP4-RTX5090-No-MTP" \ --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": "gittensor-model-hub/Qwen3.8-27B-NVFP4-RTX5090-No-MTP", "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 gittensor-model-hub/Qwen3.8-27B-NVFP4-RTX5090-No-MTP with Docker Model Runner:
docker model run hf.co/gittensor-model-hub/Qwen3.8-27B-NVFP4-RTX5090-No-MTP
⚠️ Superseded
The main checkpoint now ships with the MTP head removed and an NVFP4
lm_head— it is strictly better than this variant (17.92 GB, 2 shards).Use
Qwen3.8-27B-NVFP4-RTX5090instead. This repo stays up so existing pins keep working.
Qwen3.8-27B-NVFP4-RTX5090-No-MTP
Qwen3.8-27B-NVFP4-RTX5090 with the native MTP draft head removed. The target model is bit-identical — same NVFP4 weights, same calibration, same chat template. Only the 15 mtp.* tensors are gone.
| Parent | This variant | |
|---|---|---|
| Download | 20.59 GB | 19.74 GB (−0.85 GB, −4.1%) |
| Shards | 3 | 2 |
| Weights in VRAM | 18.80 GB | 18.80 GB (identical) |
| Speculation on SGLang | DSpark ✅ · MTP ✅ | DSpark ✅ |
| Speculation on vLLM | MTP ✅ | none |
Read this before choosing it
It saves download size, not memory. Measured on an RTX 5090, SGLang reports mem usage=18.80 GB for weights with and without the head — byte-for-byte the same, because mtp.* is namespaced outside the target graph and is never allocated unless you turn speculation on. If you are hoping to free VRAM, this variant will not do that.
It removes speculative decoding on vLLM entirely. DSpark is a SGLang-only algorithm, so on vLLM the native MTP head is the only draft path. Without it you decode at ~81.6 tok/s instead of ~136.9.
So this variant makes sense if you are SGLang-only and using the DSpark drafter (which is both faster and smaller than MTP anyway), or if you are shipping the weights somewhere that 0.85 GB matters. Otherwise use the parent — the head is free when idle.
Which drafter should I use anyway?
Even on the parent checkpoint, the MTP head is not the best option:
| Drafter | Decode | Accept | Size |
|---|---|---|---|
| DSpark-NVFP4 v2 (SGLang) | 155.8 tok/s | 2.886 | 1.41 GB |
| Native MTP head (SGLang or vLLM) | 136.9 tok/s | 2.758 | 5.53 GB |
| No speculation | 81.6 tok/s | — | — |
DSpark wins on speed, acceptance and size — the MTP head's value is that it works on vLLM, where DSpark does not exist.
Serve
SGLang with the DSpark drafter (recommended for this variant):
sglang serve --model-path gittensor-model-hub/Qwen3.8-27B-NVFP4-RTX5090-No-MTP \
--trust-remote-code --tp-size 1 \
--context-length 65536 --kv-cache-dtype fp8_e4m3 \
--attention-backend flashinfer --chunked-prefill-size 2048 \
--mamba-radix-cache-strategy extra_buffer_lazy --mamba-ssm-dtype bfloat16 \
--mem-fraction-static 0.90 --max-running-requests 2 \
--speculative-algorithm DSPARK \
--speculative-draft-model-path gittensor-model-hub/Qwen3.8-27B-DSpark-NVFP4 \
--speculative-dspark-block-size 7 --speculative-draft-model-quantization modelopt_fp4 \
--reasoning-parser qwen3 --tool-call-parser qwen3_coder
vLLM for the full 262,144-token window (no speculation available on this variant):
vllm serve gittensor-model-hub/Qwen3.8-27B-NVFP4-RTX5090-No-MTP \
--quantization modelopt --kv-cache-dtype fp8 --trust-remote-code \
--max-model-len 262144 --max-num-seqs 16 --gpu-memory-utilization 0.97 \
--reasoning-parser qwen3 --enable-auto-tool-choice --tool-call-parser qwen3_xml
Do not pass --speculative-config '{"method":"mtp"}' to this variant — the head is not present.
What changed, exactly
Removed 15 tensors, all under the mtp. prefix:
mtp.fc.weight mtp.layers.0.self_attn.{q,k,v,o}_proj.weight
mtp.norm.weight mtp.layers.0.self_attn.{q,k}_norm.weight
mtp.pre_fc_norm_embedding.weight mtp.layers.0.mlp.{gate,up,down}_proj.weight
mtp.pre_fc_norm_hidden.weight mtp.layers.0.{input,post_attention}_layernorm.weight
They were BF16, never quantized (the parent's hf_quant_config.json already excluded mtp*). Alongside the tensor removal:
config.json—text_config.mtp_num_hidden_layers1 → 0;mtp_use_dedicated_embeddingsdroppedhf_quant_config.json—exclude_modules149 → 147 (mtp*,mtp.layers.0*removed)- re-sharded 3 → 2 (the third shard held only
mtp.*and became empty), index andcrc32.txtregenerated
Everything else — tokenizer, chat template, preprocessor configs, generation config — is copied unchanged from the parent.
Verified: loads in SGLang as Qwen3_5ForConditionalGeneration, quant_algo=NVFP4, and answers correctly.
Accuracy, context and recipe
Unchanged from the parent, since the target weights are identical. See the parent model card for the full quantization recipe, 262K context behaviour, accuracy smoke and chat-template documentation.
License
Apache 2.0, same as the parent and the Qwen3.8-27B base model.
- Downloads last month
- 322
Model tree for gittensor-model-hub/Qwen3.8-27B-NVFP4-RTX5090-No-MTP
Base model
Qwen/Qwen3.8-27B