Skip to content

cerno

Checkpoints Inputs
apertixai/cerno-4b, apertixai/cerno-9b, apertixai/cerno-27b text

cerno models are decision models on Qwen3.5 stored in FP8 (compressed-tensors W8A8). Flide reads the float8 weights and their scales as stored when it runs with --quantize fp8.

Flide asks them with the release's own prompt, a plain text prompt with no chat template. It holds "Context:" with the state, then "Question:" with the question, "Options:" with one line per option, lettered (A), (B) and so on, and ends with "Answer: (". A state that is not a string is written as JSON, and an array of 8 or more items writes each item's index into it; the state keeps its first 16384 tokens. A choice shows each option's name and, when it has one, its description, and an option that reads as "none of the above" is shown as "not listed here". A noul shows "no" and then "yes", each with the request's description when there is one. A score shows its levels as "0: …", "1: …" and so on. Past 10 options each label is its own token, A to Z and then two-letter labels.

The answer is the softmax over the option letters at the last position of the prompt, at the temperature of decider_config.json. The state comes first in every prompt, so Flide computes it once and forks it into the questions.

Speed

On one H200, one request at a time, Flide answers 1.1 to 9.1 times faster than cerno's own VllmEngine on vLLM 0.31 with the FP8 weights. Each workload is 32 requests, each run once on both sides before timing, and the table gives the median latency of a request. MultiRC requests ask about 49 questions each. The release keeps a prefix cache across requests, so it is emptied after that first run and the timed requests are read afresh on both sides.

cerno-4b

Workload Flide Release Speedup
Decision Index 11.0 ms 52.0 ms 4.7×
RACE 8.8 ms 24.2 ms 2.8×
MultiRC 40.7 ms 368.6 ms 9.1×
QuALITY long 59.6 ms 67.5 ms 1.1×

cerno-9b

Workload Flide Release Speedup
Decision Index 15.3 ms 52.5 ms 3.4×
RACE 11.1 ms 24.9 ms 2.2×
MultiRC 58.4 ms 472.0 ms 8.1×
QuALITY long 84.9 ms 93.9 ms 1.1×

Start a server

flide serve --model apertixai/cerno-4b --quantize fp8

Send a request

curl http://localhost:8000/v1/systemone -H "Content-Type: application/json" -d '{
  "state": "Order #1182 arrived with a cracked screen. The customer asks for a refund and attached two photos.",
  "questions": {
    "action": {"type": "choice", "instructions": "What should support do next?",
               "criteria": {"refund": "refund the order", "replace": "send a replacement", "escalate": "ask a human"}},
    "urgent": {"type": "noul", "instructions": "Does this need a reply within the hour?"}
  }
}'

Limits and options

A request takes choice, noul and score questions. A choice takes up to 255 options and a score up to 10 levels. The longest prompt is 20479 tokens. A request with images is refused.

The template also refuses a question without instructions and a question with fewer than two options.

Option What it does
--quantize fp8 reads the float8 weights as stored, which these checkpoints need
--format template --format-arg spec=apertixai__cerno reads a copy of the checkpoint kept in a directory Flide does not recognize