Download README.md from huginnfork/Ornith-1.0-35B-FP8: direct link, hf CLI and curl.
- Browser
- Download file 3.64 kB
-
https://huggingface.co/huginnfork/Ornith-1.0-35B-FP8/resolve/main/README.md
- Command line
-
hf download hf://huginnfork/Ornith-1.0-35B-FP8/README.md
-
curl -L -o README.md https://huggingface.co/huginnfork/Ornith-1.0-35B-FP8/resolve/main/README.md
license: mit
base_model: deepreinforce-ai/Ornith-1.0-35B
base_model_relation: quantized
pipeline_tag: image-text-to-text
tags:
- compressed-tensors
- fp8
- moe
- vllm
- multimodal
Ornith-1.0-35B-FP8
FP8_DYNAMIC W8A8 quantisation of deepreinforce-ai/Ornith-1.0-35B — a 35B Mixture-of-Experts (256 routed experts, 8 active, + 1 shared expert) multimodal model with a hybrid linear+full attention stack and a vision tower. Produced with llm-compressor.
Quantisation
- Scheme: FP8_DYNAMIC W8A8 — 8-bit FP8 (E4M3) weights with dynamic per-token FP8 activation quantisation (data-free; activation scales computed at inference).
- Tooling:
llm-compressor0.12.0 +compressed-tensors0.17.1, transformers 5.8.1, on a Blackwell RTX PRO 6000 (SM120). - Quantised: the 256 routed
mlp.experts.*FFNs, themlp.shared_expertFFN, and the full-attentionself_attnprojections. - Kept in bf16 (
quantization_config.ignore):lm_head, allmodel.visual.*(vision tower), the entirelinear_attnMamba/SSM block (in_proj_*,out_proj,conv1d), the MoE routermlp.gate, andmlp.shared_expert_gate. - No MTP head: the Ornith base ships 0
mtp.*tensors (despitemtp_num_hidden_layers: 1in its config), so there is no speculative-decoding head to preserve or graft. - Recipe:
recipe.yaml.
Quality
KLD is per-token KL divergence vs the bf16 base over 8 neuralmagic/calibration samples (max_seq=1024). Because transformers cannot execute the fused-MoE compressed checkpoint (see below), the checkpoint was decompressed to bf16 — applying the quant→dequant round-trip so precision loss is captured — and evaluated there. PPL is wikitext-2-raw (test), non-overlapping 2048-token chunks, identical tokenizer to the base.
| Model | KLD vs base (nats) | PPL (wikitext-2-raw) | ΔPPL |
|---|---|---|---|
deepreinforce-ai/Ornith-1.0-35B (bf16) |
0 | 6.7539 | — |
| this (FP8) | 0.0161 | 6.7547 | +0.01% |
The FP8 KLD below is weight-only: the bf16-decompressed eval does not model FP8_DYNAMIC's per-token activation quant, so the served KLD is marginally higher.
Inference — vLLM / SGLang (not transformers)
⚠️ This compressed MoE checkpoint does not run under 🤗 transformers.
Qwen3_5MoeForConditionalGenerationfuses the experts into a 3Dtorch._grouped_mmkernel that rejects fp8/fp4 weights (RuntimeError: Expected mat_a to be Float32, BFloat16 or Float16 matrix, got Float8_e4m3fn), and the per-expert scales load asUNEXPECTEDkeys. Serve it with vLLM or SGLang, which have the compressed-tensors fused-MoE kernels.
vllm serve huginnfork/Ornith-1.0-35B-FP8 \
--trust-remote-code \
--gpu-memory-utilization 0.85 \
--max-model-len 8192 \
--quantization compressed-tensors
On Blackwell (RTX PRO 6000 / B200, SM120/SM100): FlashInfer's JIT arch probe currently mis-detects SM120 and aborts engine startup (FlashInfer requires GPUs with sm75 or higher). Disable it:
TORCH_CUDA_ARCH_LIST=12.0+PTX VLLM_USE_FLASHINFER_SAMPLER=0 VLLM_USE_FLASHINFER=0 \
vllm serve huginnfork/Ornith-1.0-35B-FP8 --trust-remote-code --quantization compressed-tensors --max-model-len 8192
Validated on an RTX PRO 6000 (SM120) with vLLM 0.24.0: both the FP8 and NVFP4A16 quants load and generate coherently (e.g. "17 times 24 is 408", correct multi-step reasoning traces).