Biomni-R0-32B-Preview FP8 Dynamic

FP8_DYNAMIC compression of biomni/Biomni-R0-32B-Preview revision 71432eb3d5e583bee757e0f9437a17e711e8e3d1. This is not an official Biomni release. The original weights stay on that repo.

  • Scheme: compressed-tensors FP8, per-channel weights, dynamic per-token activations
  • lm_head left dense
  • No calibration dataset
  • Weights about 35GB

vLLM reads the scheme from config.json. Do not pass --quantization.

vllm serve vonkaiser/Biomni-R0-32B-Preview-FP8-Dynamic \
  --gpu-memory-utilization 0.90 \
  --kv-cache-dtype fp8 \
  --max-model-len 32768

The chat template asks for a JSON object inside <tool_call> tags. Use a tool parser that reads that format (qwen or hermes).

Base architecture is Qwen/Qwen3-32B. License MIT, same as the source model.

Comparison with the original

The original checkpoint and this FP8 checkpoint were scored on the same prompts. Both ran in vLLM at temperature 0 and seed 1234. Thinking was off, except one GSM8K slice. The original ran in BF16 with a context of 8192. FP8 used the compressed-tensors config, an FP8 KV cache, and a context of 32768. No Eval1 item hit a context limit on either side.

A gap of about one standard error is treated as the same result. The differences below are a few questions, and they do not all favor the same checkpoint.

GSM8K

Full set, 1319 questions, 5-shot, thinking off. One standard error is about 11 questions.

filter original FP8
strict-match 1179/1319 (0.8939) 1181/1319 (0.8954)
flexible-extract 1185/1319 (0.8984) 1189/1319 (0.9014)

Thinking on, first 200 questions. The comparison uses flexible-extract. One standard error on this slice is about 4 questions.

filter original FP8
flexible-extract 180/200 (0.900) 178/200 (0.890)

MMLU generative

5-shot, 5 questions from each subject, 285 questions. One standard error is about 6 questions.

correct rate
original 248/285 0.8702
FP8 250/285 0.8772

HumanEval

Chat pass@1 on 164 problems. Generated Python was executed. One standard error is about 4 problems.

correct rate
original 150/164 0.9146
FP8 148/164 0.9024

Biomni Eval1

All 433 rows were scored on both sides.

task n original FP8
crispr_delivery 10 3 2
gwas_causal_gene_gwas_catalog 50 21 18
gwas_causal_gene_opentargets 50 38 38
gwas_causal_gene_pharmaprojects 50 28 32
gwas_variant_prioritization 43 2 3
lab_bench_dbqa 50 5 4
lab_bench_seqqa 50 7 8
patient_gene_detection 50 0 2
rare_disease_diagnosis 30 0 0
screen_gene_retrieval 50 19 19

Catalog is down 3 and pharma is up 4, each about one standard error on 50 questions. The other tasks move by one or two questions or stay tied. rare_disease_diagnosis is 0/30 on both sides.

Logprobs

160 prompts, compared on the shared top-1 prefix.

  • Identical greedy completions: 110/160
  • Aligned positions: 6812
  • Mean absolute logprob difference: 0.008
  • Largest absolute difference: 0.581
  • Positions with a gap over 1.0 nat: 0
  • First-token mismatches: 7/160

Tool calls

20 prompts: 16 that should call a tool, and 4 that should not. A call counts as correct when the tool name matches. Arguments are compared only when both sides called a tool.

Both checkpoints named the right tool on 16/16 and stayed quiet on 4/4. Arguments matched on 15 of those 16 calls. The one mismatch was "Calculate 15 percent of 80": the original passed 15% of 80 and FP8 passed 0.15 * 80.

Capability Deviation Score

+0.3 percentage points. FP8 scored slightly higher than the original.

The score is the gap between the two accuracy rates on the graded items counted once: GSM8K flexible-extract, MMLU, HumanEval, and Eval1 (2,201 items). The original was correct on 1,706 (77.5%). FP8 was correct on 1,713 (77.8%). A negative score would mean FP8 was less capable.

Each task gap in the tables above sits inside about one standard error. On the biomedical set the original scored 123 of 433 and FP8 scored 126 of 433. The largest moves there are the GWAS catalog task, down 3 of 50, and the pharma task, up 4 of 50.

The thinking-on GSM8K slice is left out of the 2,201 because those questions are already in the full GSM8K set. On that slice FP8 was 2 questions lower, 178 versus 180, which is inside the wider error on 200 questions.

Downloads last month
14
Safetensors
Model size
33B params
Tensor type
F32
·
F8_E4M3
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for vonkaiser/Biomni-R0-32B-Preview-FP8-Dynamic

Base model

Qwen/Qwen3-32B
Quantized
(6)
this model