Bobcat Flash 1.2 · Bobcat Flash 1.2 FP8 · Try it in the Space · Code on GitHub Bobcat Flash is the fast tier of Bobcat, a typed-decision model. You send a state (text or JSON) and questions whose possible answers you define in the request; Flash returns a probability for every answer you named, and nothing else. It never generates text: it reads the logits of the offered candidates at the first answer position of one forward pass, and the host builds a closed JSON reply from your own names. An answer can be wrong, but it cannot be malformed. This repository, sanghwa-na/bobcat-flash-1.2, holds Bobcat Flash 1.2 as ready-to-serve BF16 weights on google/gemma-4-26B-A4B-it (Apache-2.0) at…
Open-weight model · Zero-shot classification
bobcat-flash-1.2-fp8
by Sanghwa Na sanghwa-na/bobcat-flash-1.2-fp8
bobcat-flash-1.2-fp8 is an open-weight model for zero-shot classification from Sanghwa Na, released under Apache License 2.0. It has 25.8B parameters and a 262,144-token context. At 16-bit it needs about 61.9 GB of GPU memory, which fits on 1x MI300X from $1.85 an hour, at the lowest prices in the SAVRN Index.
A pre-quantized FP8 checkpoint of Bobcat Flash 1.2, the fast tier of the typed-decision model Bobcat: you send a state and questions whose answers you name, and it returns a probability for every answer you named; it never generates text.
Runs On
What it takes to serve bobcat-flash-1.2-fp8 (25.8B parameters): the memory its weights need at each precision, and the cheapest way to rent enough data-center GPUs to hold them.
| Precision | Weights | Memory needed | Cheapest setup | Per hour | Also fits |
|---|---|---|---|---|---|
| 16-bit | 51.6 GB | 61.9 GB | 1x MI300X (192 GB) Vultr |
$1.85 | 1x H100 $1.99 · 1x MI325X $2.00 |
| 8-bit | 25.8 GB | 31.0 GB | 1x MI300X (192 GB) Vultr |
$1.85 | 1x H100 $1.99 · 1x MI325X $2.00 |
| 4-bit | 12.9 GB | 15.5 GB | 1x MI300X (192 GB) Vultr |
$1.85 | 1x H100 $1.99 · 1x MI325X $2.00 |
Memory is the weights at that precision plus 20% for the runtime and a short context; a long context needs more. Prices are the lowest on-demand hourly rates in the SAVRN Index, read Oct 18, 2026.
bobcat-flash-1.2-fp8 on every accelerator the SAVRN Index prices, at every precision
Model Card
By Sanghwa Na, published under apache-2.0, revision 58114ad1ea81.
A pre-quantized FP8 checkpoint of Bobcat Flash 1.2, the fast tier of the typed-decision model Bobcat: you send a state and questions whose answers you name, and it returns a probability for every answer you named; it never generates text. Evaluation, training data, limitations and the full license notes are on the main card, This repository, sanghwa-na/bobcat-flash-1.2-fp8, is the BF16 weights of sanghwa-na/bobcat-flash-1.2 quantized to FP8 (27.2 GB, FP8DYNAMIC, every expert included): float8e4m3fn weights with one scale per output channel, activations quantized per token at run time, in the compressed-tensors format that vLLM loads as it is. It is the checkpoint the Bobcat Flash Space…
Read Sanghwa Na's full model card
Technical write-up: foxl.ai/blog/bobcat-typed-decisions
Bobcat Flash 1.2 · Try it in the Space · Code on GitHub
A pre-quantized FP8 checkpoint of Bobcat Flash 1.2, the fast tier of the typed-decision model Bobcat: you send a state and questions whose answers you name, and it returns a probability for every answer you named; it never generates text. Evaluation, training data, limitations and the full license notes are on the main card, sanghwa-na/bobcat-flash-1.2.
This repository, sanghwa-na/bobcat-flash-1.2-fp8, is the BF16 weights of
sanghwa-na/bobcat-flash-1.2 quantized to FP8
(27.2 GB, FP8_DYNAMIC, every expert included): float8_e4m3fn weights with one scale per
output channel, activations quantized per token at run time, in the compressed-tensors format
that vLLM loads as it is. It is the checkpoint the
Bobcat Flash Space serves.
Serve
curl -LsSf https://astral.sh/uv/install.sh | sh && export PATH="$HOME/.local/bin:$PATH" # uv
git clone https://github.com/foxl-ai/bobcat && cd bobcat
export UV_PYTHON_PREFERENCE=only-managed
uv venv --python 3.12 .venv-serve
uv pip install --no-config --python .venv-serve/bin/python vllm==0.30.0 fastapi uvicorn scipy jinja2 \
"tokenizers>=0.21" huggingface_hub typesafe-sdk==0.7.1
export PYTHONPATH=$PWD/src PY=.venv-serve/bin/python
$PY -c "from huggingface_hub import snapshot_download as s; s('sanghwa-na/bobcat-flash-1.2-fp8', local_dir='bobcat-flash-1.2-fp8')"
VLLM_USE_FLASHINFER_SAMPLER=0 $PY -m bobcat.flash_server --engine vllm --model bobcat-flash-1.2-fp8 \
--compiler-model bobcat-flash-1.2-fp8/compiler --quantization none \
--temperature choice=0.594604,noul=0.353553,score=0.529732 \
--name bobcat-flash-1.2 --release-date 2026-10-07 --max-num-seqs 64 --max-model-len 98368 \
--schedule all --engine-arg max_num_batched_tokens=16384 --engine-arg attention_backend=TRITON_ATTN \
--host 127.0.0.1 --port 8000 --local
Then call it with the official typesafe-sdk as on the main card
(TYPESAFE_BASE_URL=http://127.0.0.1:8000, TYPESAFE_DEFAULT_MODEL=bobcat-flash-1.2).
--quantization none: vLLM reads the FP8 scheme fromconfig.json(compressed-tensors).--temperatureand--max-model-len 98368are as on the main card: one calibration temperature per question type, and states up to about 96K tokens read in full; longer inputs are refused with HTTP 422 and never truncated.--compiler-model .../compilerpoints the Bobcat compiler at the base model's pinned tokenizer, template and configuration; run the server from the repository root, where the identifier list lives, or pass--identifiers bobcat-flash-1.2-fp8/bobcat-identifiers.json.
Precision
| Development decisions (3,188), one RTX PRO 6000, vLLM 0.30.0 | Accuracy | Task macro | Same answer as BF16 |
|---|---|---|---|
| Evaluation path (the BF16 weights of the main repository) | 92.25% | 92.21% | - |
| This checkpoint (FP8) | 92.06% | 92.10% | 98.7% |
FP8 minus BF16: -0.19 points [-0.54, +0.15]; 41 answers changed, mostly near-ties. Served by
bobcat.flash_server over localhost HTTP with the command above, TypeSafe's 20 workflow cases
agreed with the reference on 88.4% of 329 questions (no failed request), at a median 0.33 s
per case; the BF16 weights of the main repository, served in FP8 at load (--quantization fp8),
agreed on 90.3% and 90.6% in two runs. Where TypeSafe-style workflows matter, serve the main
repository. One decision (512 tokens, 8 candidates) takes 24.6 ms at p50 in the vLLM engine.
Provenance
- Weights: the BF16 checkpoint of sanghwa-na/bobcat-flash-1.2
(two Bobcat LoRA adapters merged into Gemma 4 26B-A4B-it at revision
4d7ae4984b7db7de8f8457170b3f1a419ee76d52, combined as 0.6 / 0.4), checked against itsSHA256SUMS.json. - Quantization:
scripts/fp8_quantize.pywith llm-compressor 0.14.0 (FP8_DYNAMIC, no calibration data), as for the earlier Flash FP8 checkpoint: the 30 fused expert blocks are linearized into one Linear per expert;lm_head, the embeddings, the 30 routers and the vision tower stay BF16. - Hashes:
model-00001-of-00002.safetensorssha2568d041fdb…7d99,model-00002-of-00002.safetensors8a495d45…0a97, as recorded in the release manifest (bobcat-release-manifest.json,serving_artifacts.fp8); every file is listed inSHA256SUMS.json. - Labels computed by code; teacher distributions from GLM-5.3-Flash. No output of Jev was used; see the main card.
License and attribution
Apache-2.0. This checkpoint is a derivative of Gemma 4 26B-A4B-it by Google DeepMind
(Apache-2.0); the license text is included as LICENSE, and NOTICE lists what was changed.
Training data keep their own licenses (main card and THIRD_PARTY.md in
github.com/foxl-ai/bobcat). Bobcat is an independent
project, not affiliated with or endorsed by Google, the Qwen team, Z.ai, TypeSafe AI or any
other company named here. Provided as is, without warranty.
Citation
@misc{bobcatflash12,
title = {Bobcat Flash 1.2},
author = {{The Bobcat Authors}},
year = {2026},
howpublished = {\url{https://huggingface.co/sanghwa-na/bobcat-flash-1.2}}
}
Configuration
- Architecture
- Gemma4ForConditionalGeneration
- Context length (tokens)
- 262,144
- Layers
- 30
- Hidden size
- 2,816
- Feed-forward size
- 2,112
- Attention heads
- 16
- Key/value heads
- 8
- Head dimension
- 256
- Vocabulary size
- 262,144
- Experts
- 128
- Sliding window (tokens)
- 1,024
- Model type
- gemma4
- Quantization
- compressed-tensors
Identity and Version
- Repository
- sanghwa-na/bobcat-flash-1.2-fp8
- Publisher
- Sanghwa Na
- Task
- Zero-shot classification
- Modality
- Text
- Library
- transformers
- Parameters
- 25.8B parameters
- Languages
- en, ko
- Revision
- 58114ad1ea81ce339fa18916c0cf81159d9aefc9
- First published
- 2026-10-07
- Last updated
- 2026-10-07
Files and Weights
23 files, 27.2 GB in total. The weights are 2 files totalling 27.2 GB in safetensors.
Every file
| File | Type | Size | SHA-256 |
|---|---|---|---|
| model-00001-of-00002.safetensors | Weights | 20.0 GB | 8d041fdbf432 |
| model-00002-of-00002.safetensors | Weights | 7.2 GB | 8a495d4500de |
| SHA256SUMS.json | Configuration | 2.0 KB | — |
| bobcat-fp8.json | Configuration | 1.1 KB | — |
| bobcat-identifiers.json | Configuration | 2.3 KB | — |
| bobcat-release-manifest.json | Configuration | 18.8 KB | — |
| compiler/bobcat-download.json | Configuration | 2.6 KB | — |
| compiler/config.json | Configuration | 3.8 KB | — |
| config.json | Configuration | 21.0 KB | — |
| generation_config.json | Configuration | 208 B | — |
| model.safetensors.index.json | Configuration | 2.5 MB | — |
| processor_config.json | Configuration | 1.7 KB | — |
| recipe.yaml | Configuration | 385 B | — |
| LICENSE | Documentation | 11.4 KB | — |
| NOTICE | Documentation | 1.3 KB | — |
| README.md | Documentation | 6.0 KB | — |
| chat_template.jinja | Other | 18.7 KB | — |
| compiler/chat_template.jinja | Other | 18.7 KB | — |
| .gitattributes | Repository | 1.6 KB | — |
| compiler/tokenizer.json | Tokenizer | 32.2 MB | cc8d3a0ce364 |
| compiler/tokenizer_config.json | Tokenizer | 3.1 KB | — |
| tokenizer.json | Tokenizer | 32.2 MB | cc8d3a0ce364 |
| tokenizer_config.json | Tokenizer | 3.1 KB | — |
License and Download
- License
- apache-2.0
- Access
- Open weights, no gate
- Download size
- 27.2 GB
Released by Sanghwa Na through its official repository on Hugging Face. Read the license.
Memory Requirements
| Precision | Weights in memory |
|---|---|
| As published | 27.2 GB |
| 16-bit | 51.6 GB |
| 8-bit | 25.8 GB |
| 4-bit | 12.9 GB |
Weights only, from the published parameter count; the key-value cache and runtime add to this.
Questions About bobcat-flash-1.2-fp8
How much GPU memory does bobcat-flash-1.2-fp8 need?
About 61.9 GB at 16-bit and 15.5 GB at 4-bit: the weights (25.8B parameters) plus a working margin. A long context needs more.
What is the cheapest GPU to run bobcat-flash-1.2-fp8 on?
At 16-bit, 1x MI300X from $1.85 an hour; at 4-bit, 1x MI300X from $1.85 an hour, at the lowest on-demand prices the SAVRN Index lists.
Can I use bobcat-flash-1.2-fp8 commercially?
Yes. bobcat-flash-1.2-fp8 is released under Apache License 2.0. The Apache License 2.0 is a permissive open-source license. It permits commercial use, modification and redistribution. It requires keeping the license and copyright notices and any NOTICE file, stating significant changes, and it includes an express patent grant from contributors.
What is bobcat-flash-1.2-fp8's context length?
262,144 tokens, from the maximum position embeddings in its published configuration.
Similar Models
Matilda-Jev is Maincode's one-pass decision model. It scores the options supplied in a choice, noul (yes/no), or ordered score question. It accepts text or JSON state and optional images. This is a decision checkpoint with a 255-option readout, not a text-generation checkpoint. This configuration edition uses MatildaJevModel, MatildaJevConfig, and MATILDA tokenizer/processor classes. Use the bundled runtime below, or load the custom AutoClasses with trustremotecode=True. The package includes the backbone weights, decision readout, tokenizer, preprocessing configuration and calibrated temperature. On AMD MI355X with Python 3.12, Transformers 5.17.0 and PyTorch 2.14.0: - 25/25 smoke-test…
A BF16 JEV decision model with a 255-option readout. This is the highest-scoring checkpoint in the completed MATILDA JEV experiments as of 9 October 2026: Decision Index 63.47 (0.3 public suite). The model accepts a state and one or more decision questions. It supports choice, noul (probability of true), and ordinal score. Inference is one forward pass per question; the model has no text-generation head and does not generate a chain of thought. The LoRA updates are already merged into the weights. No adapter merge is required. Use Python 3.12 or newer and install PyTorch for your accelerator. The validated cluster environment uses PyTorch 2.14.0, Transformers 5.17.0, and an AMD Instinct…
This model was quantized using oQ (oMLX v0.7.1) mixed-precision quantization with Improved oQe Quantization (jundot/omlx#4385). A mixed-precision MLX checkpoint of vllm-sr/d3, the 27B multimodal decision model of Decision 3.0 from vLLM Semantic Router, built on Qwen/Qwen3.8-27B. It reads text or JSON with optional images and videos and returns a probability for every option of choice, yes/no and score questions without generating text. It includes the language backbone, the vision encoder and the code readout. The code readout (readout.safetensors, FP32) and decisionconfig.json are copied unchanged from the source. oMLX serves this checkpoint through POST /v1/systemone; Decision 3.0 support…
This model was quantized using oQ (oMLX v0.7.1) mixed-precision quantization with Improved oQe Quantization (jundot/omlx#4385). A mixed-precision MLX checkpoint of vllm-sr/d3, the 27B multimodal decision model of Decision 3.0 from vLLM Semantic Router, built on Qwen/Qwen3.8-27B. It reads text or JSON with optional images and videos and returns a probability for every option of choice, yes/no and score questions without generating text. It includes the language backbone, the vision encoder and the code readout. The code readout (readout.safetensors, FP32) and decisionconfig.json are copied unchanged from the source. oMLX serves this checkpoint through POST /v1/systemone; Decision 3.0 support…
d3-W4A16-G128-AWQ is an unofficial INT4 weight-only (W4A16) AWQ quantization of d3, the 27B multimodal foundation decision model of Decision 3.0. It takes the same inputs and questions as d3 and returns a probability for every answer, without generating text, with 16.5 GB of weights instead of 52 GB. - Keeps 97.76% of d3's answers on the 14,031 test requests of tasksource-jev-typed-decisions, with accuracy 83.09% against BF16's 83.25%. - 16.9 GB of GPU memory after loading instead of 52.3 GB, and 17.5 GB at the peak of the 20 longest of 1,000 text requests (up to 5,928 characters of state) on an MI300X. - Reads images and videos as d3 does: the vision tower is unchanged, and d3's example…
