How to use from
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 "DCC-BS/Qwen3-Reranker-4B-FP8-Dynamic" \
    --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": "DCC-BS/Qwen3-Reranker-4B-FP8-Dynamic",
		"messages": [
			{
				"role": "user",
				"content": "What is the capital of France?"
			}
		]
	}'
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 "DCC-BS/Qwen3-Reranker-4B-FP8-Dynamic" \
        --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": "DCC-BS/Qwen3-Reranker-4B-FP8-Dynamic",
		"messages": [
			{
				"role": "user",
				"content": "What is the capital of France?"
			}
		]
	}'
Quick Links

Qwen3-Reranker-4B-FP8-Dynamic

Qwen/Qwen3-Reranker-4B quantised to FP8 with llm-compressor, for serving with vLLM.

What was done

Scheme FP8_DYNAMIC โ€” weights static per-channel FP8, activations dynamic per-token FP8
Calibration none needed; dynamic activation scales are computed at inference time
Left in bf16 lm_head, and the token embeddings
Weights before 7.49 GiB
Weights after 4.83 GiB (35% smaller)

The score is read from the yes/no logits of the model head, which is left in bf16. Quantising it would put error directly into the number documents are ranked by.

Quality gate

WikipediaRerankingMultilingual from MTEB โ€” reranking Wikipedia passages in 16 languages, scored by map_at_1000.

language bf16 FP8 ฮ”
de 0.9600 0.9594 -0.0006
en 0.9715 0.9726 +0.0011
it 0.9710 0.9702 -0.0008
mean 0.9675 0.9674 -0.0001

Languages evaluated: de, en, it. Tolerance: 0.0100 map_at_1000 per language.

PASSED โ€” no language lost more than 0.0100 map_at_1000.

Why

Serving Qwen/Qwen3-Reranker-4B in bf16 leaves little room for KV cache on a small GPU: the weights take what the cache needs, and the context length has to be cut until it fits. Halving the weights gives that memory back โ€” the same card serves a longer context without any other change.

Serving

vllm serve DCC-BS/Qwen3-Reranker-4B-FP8-Dynamic \
  --max-model-len 32768 \
  --gpu-memory-utilization 0.85

The checkpoint is in compressed-tensors format, so vLLM detects the quantisation from config.json; no extra flag is required.

FP8 arithmetic is native on Ada and Hopper (compute capability 8.9+). On Ampere it runs through Marlin: the memory saving still applies, the speed is roughly unchanged.

Downloads last month
58
Safetensors
Model size
4B 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 DCC-BS/Qwen3-Reranker-4B-FP8-Dynamic

Quantized
(58)
this model