Qwen3.8-27B ยท FP8 (dynamic)

8-bit quantization of Qwen/Qwen3.8-27B, produced for efficient vLLM serving. Quantized by axteam.

Base model Qwen/Qwen3.8-27B
Method FP8 (dynamic)
Format compressed-tensors FP8_DYNAMIC
Weights / activations W8A8 โ€” FP8 E4M3 weights (per-output-channel scale), dynamic per-token FP8 activations
Architecture Hybrid (linear-attention + full-attention) ยท Dense ยท multimodal (vision) ยท MTP head
Size on disk ~29.1 GB
Calibration None (data-free static weight scales)
License Apache-2.0

Quantization details

  • Scheme โ€” W8A8 โ€” FP8 E4M3 weights (per-output-channel scale), dynamic per-token FP8 activations, stored as compressed-tensors FP8_DYNAMIC.
  • Kept in BF16 โ€” the vision tower & projector (model.visual.*), the multi-token-prediction head (mtp.*), all RMSNorms, token embeddings, the LM head, the SSM non-linear parts (linear_attn.conv1d/A_log/dt_bias). Left unquantized to preserve quality (a small fraction of parameters).
  • Tokenizer / chat_template / generation_config are identical to the original. config.json is the original plus a quantization_config block.

This is post-training quantization (PTQ) โ€” no retraining, so behaviour stays faithful to the original. FP8 dynamic is calibration-free.

Evaluation (measured)

Fidelity to the BF16 original on an internal mixed English/Korean set (100 prompts, BF16 greedy answers scored under each build โ€” same harness for every row).

Metric This model BF16 original
Perplexity (lower = closer) 1.3651 1.3586 (+0.5%)
Top-1 next-token agreement 97.3% 99.4%

These measure fidelity to the base model, not absolute task scores.

Usage (vLLM)

Start an OpenAI-compatible server:

vllm serve axteam/Qwen3.8-27B-FP8-dynamic --max-model-len 32768

Query it:

curl http://localhost:8000/v1/chat/completions -H "Content-Type: application/json" -d '{
  "model": "axteam/Qwen3.8-27B-FP8-dynamic",
  "messages": [{"role": "user", "content": "๋Œ€ํ•œ๋ฏผ๊ตญ์˜ ์ˆ˜๋„๋Š” ์–ด๋””์ธ๊ฐ€์š”?"}],
  "temperature": 1.0, "top_p": 0.95, "top_k": 20, "max_tokens": 512
}'

Offline inference in Python:

from vllm import LLM, SamplingParams

llm = LLM(model="axteam/Qwen3.8-27B-FP8-dynamic", max_model_len=32768)
params = SamplingParams(temperature=1.0, top_p=0.95, top_k=20, max_tokens=1024)
out = llm.chat([{"role": "user", "content": "Explain model quantization in two sentences."}], params)
print(out[0].outputs[0].text)

# image input (URL or data: URI)
messages = [{"role": "user", "content": [
    {"type": "image_url", "image_url": {"url": "https://example.com/your-image.png"}},
    {"type": "text", "text": "Describe this image."},
]}]
out = llm.chat(messages, params)
print(out[0].outputs[0].text)

Recommended sampling (from the original generation_config.json): temperature=1.0, top_p=0.95, top_k=20. Thinking mode is on by default in the chat template; to turn it off pass chat_template_kwargs={"enable_thinking": False} (Python llm.chat(..., chat_template_kwargs=...), or "chat_template_kwargs": {"enable_thinking": false} in the request body). Text-only serving: add --limit-mm-per-prompt '{"image": 0, "video": 0}' to skip loading the vision encoder's memory budget.

Reducing KV-cache memory (optional, serve-time)

The KV cache is kept in BF16 by default. KV-cache precision is a runtime choice, independent of the weight quantization above; for long contexts or large batches FP8 roughly halves KV-cache memory:

vllm serve axteam/Qwen3.8-27B-FP8-dynamic --kv-cache-dtype fp8

License

Quantized derivative of Qwen/Qwen3.8-27B (Apache-2.0). All original weights, tokenizer and chat template belong to the Qwen team.


ํ•œ๊ตญ์–ด ์š”์•ฝ

Qwen/Qwen3.8-27B ๋ฅผ FP8 (dynamic) ๋กœ ์–‘์žํ™”ํ•œ ์„œ๋น™์šฉ(8-bit) ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค. ์ž‘์„ฑ: axteam.

  • ๋ฐฉ์‹ โ€” FP8 E4M3. ๊ฐ€์ค‘์น˜๋Š” ์ถœ๋ ฅ ์ฑ„๋„๋งˆ๋‹ค ์Šค์ผ€์ผ ํ•˜๋‚˜(์ •์ ยท๋ณด์ • ๋ถˆํ•„์š”), ํ™œ์„ฑํ™”๋Š” ์ถ”๋ก  ์‹œ ํ† ํฐ๋งˆ๋‹ค ๋™์  FP8. ํ˜•์‹ compressed-tensors FP8_DYNAMIC.
  • BF16 ์œ ์ง€ โ€” ๋น„์ „ ํƒ€์›ŒยทMTP ํ—ค๋“œยท๋ชจ๋“  normยท์ž„๋ฒ ๋”ฉ/LM ํ—ค๋“œยทSSM ๋น„์„ ํ˜•๋ถ€(conv1d/A_log/dt_bias).
  • PTQ โ€” ์žฌํ•™์Šต ์—†์Œ, ์›๋ณธ ๋™์ž‘ ์œ ์ง€.
  • ํ’ˆ์งˆ(์‹ค์ธก) โ€” BF16 ์›๋ณธ ๋Œ€๋น„ perplexity 1.3651(์›๋ณธ 1.3586, +0.5%), top-1 ์ผ์น˜๋„ 97.3%(์›๋ณธ 99.4%). ๋‚ด๋ถ€ ์˜/ํ•œ 100๋ฌธํ•ญ, ๊ฐ™์€ ํ•˜๋„ค์Šค.
  • ๋ผ์ด์„ ์Šค โ€” ์›๋ณธ Apache-2.0 ํŒŒ์ƒ๋ฌผ. ๊ฐ€์ค‘์น˜ยทํ† ํฌ๋‚˜์ด์ €ยทchat_template ๊ถŒ๋ฆฌ๋Š” Qwen ํŒ€.
  • ์‹คํ–‰ โ€” vllm serve axteam/Qwen3.8-27B-FP8-dynamic --max-model-len 32768 ๋กœ OpenAI ํ˜ธํ™˜ ์„œ๋ฒ„(ํฌํŠธ 8000), ๋˜๋Š” Python LLM(model="axteam/Qwen3.8-27B-FP8-dynamic").chat(...) (์œ„ ์˜ˆ์‹œ). ๊ถŒ์žฅ ์ƒ˜ํ”Œ๋ง temperature=1.0, top_p=0.95, top_k=20. thinking ๋„๊ธฐ: chat_template_kwargs={"enable_thinking": False}. ์ด๋ฏธ์ง€ ์ž…๋ ฅ์€ image_url ๋ฉ”์‹œ์ง€๋กœ.
  • KV ์บ์‹œ ์ ˆ๊ฐ(๋Ÿฐํƒ€์ž„) โ€” --kv-cache-dtype fp8.
Downloads last month
39
Safetensors
Model size
28B params
Tensor type
BF16
ยท
F8_E4M3
ยท
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for axteam/Qwen3.8-27B-FP8-dynamic

Base model

Qwen/Qwen3.8-27B
Quantized
(1631)
this model

Collection including axteam/Qwen3.8-27B-FP8-dynamic