Kev¶
| Checkpoints | Inputs |
|---|---|
| jaredpalmer/kev-0.8b jaredpalmer/kev-4b jaredpalmer/kev-9b jaredpalmer/kev-27b |
text |
Kev is Jared Palmer's family of decision models with a pointer readout. kev-0.8b, kev-4b and kev-9b are LoRA adapters
on the Qwen3.5 base models, which Flide runs beside their base weights as peft does, and kev-27b holds its full weights
on Qwen3.8-27B. Flide reads them as kev.serve reads them, with the tokenizer of the base model that head.pt names.
A request has no chat template. The state comes first, after <|fim_prefix|>, and every question is a branch of its
own: <|fim_middle|> and its instructions, each option between <|box_start|> and <|box_end|>, then
<|fim_suffix|>. Objects in the request are written as key: value lines and lists as - item lines, a choice option
is its name and, when it has one, its description, and a noul reads the options "no" and "yes" with the descriptions
the request gives them. Special tokens in the request's text become <¦name¦>, so no text makes a delimiter.
The pointer head in head.pt reads each question at <|fim_suffix|> and at every <|box_end|>. An option's logit is
the dot product of its key with the question's query, divided by 16 and by the temperature that head.pt carries, and
the answer is the softmax over the options. The state is computed once and forked into the questions.
Speed¶
On one H200, one request at a time, Flide answers 1.2 to 10.1 times faster than kev.serve as it runs on CUDA (bf16, the adapter merged, its CUDA graphs and fused Qwen3.5 kernels). Each workload is 32 requests, each run once on both sides before timing, and the tables give the median latency of a request. MultiRC requests ask about 49 questions each.
kev-0.8b
| Workload | Flide | Release | Speedup |
|---|---|---|---|
| Decision Index | 6.3 ms | 63.6 ms | 10.1× |
| RACE | 4.7 ms | 7.7 ms | 1.6× |
| MultiRC | 29.0 ms | 49.0 ms | 1.7× |
| QuALITY long | 24.7 ms | 55.2 ms | 2.2× |
kev-4b
| Workload | Flide | Release | Speedup |
|---|---|---|---|
| Decision Index | 14.7 ms | 82.5 ms | 5.6× |
| RACE | 10.6 ms | 16.1 ms | 1.5× |
| MultiRC | 67.0 ms | 87.3 ms | 1.3× |
| QuALITY long | 70.7 ms | 81.3 ms | 1.2× |
Start a server¶
flide serve --model jaredpalmer/kev-4b
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 255 levels. The state takes up to 65536 tokens, its first delimiter included, and a question's row, the state and its branch, up to 73728; a longer one is refused, as kev.serve refuses it. A request with images is refused.
| Option | What it does |
|---|---|
--format-arg temperature=T |
the temperature of the answers, the one head.pt carries by default |