TurinTech models, built with Artemis
Kev-27B for routing, triage and quick checks on a single 24 GB GPU. It answers typed questions (yes or no, pick one, a score) with a probability for each answer, in one pass.
- 13.91 GB download for the default file,
Kev-27B-Artemis-IQ4_XS.gguf. - Peak GPU memory 19.0 GiB on an NVIDIA RTX 5090 with the command below; the original needs 57.1 GiB over two GPUs.
- Same answer as the original on 97.8% of 2,000 test decisions, against 97.0% for kdercksen's Q4_K_M (15.84 GB); 0 confident answers changed. These decisions also chose the file.
Run it
This is a decision model: send typed questions to llama-server's /v1/systemone endpoint, not to chat. Tested with llama.cpp commit fcac190 (13 October 2026); llama.cpp serves Kev models since 9 October 2026.
llama-server -hf turintech/Kev-27B-Artemis-GGUF:IQ4_XS --port 8080 -c 16384 -ub 4096 -b 4096
Request example, settings, Ollama and LM Studiollama-server -m Kev-27B-Artemis-IQ4_XS.gguf --port 8080 -c 16384 -ub 4096 -b 4096
Tested on an Apple M3 Max (36 GB) with llama.cpp Metal (b11617): every file here loads and answers with the command above.
Keep -ub 4096 -b 4096. At the default of 512, /v1/systemone rejects inputs longer than 512 tokens. -c 16384
stops the server from reserving memory for the full training context.
curl http://localhost:8080/v1/systemone -H 'Content-Type: application/json' -d '{
"state": "My Stripe integration keeps failing. Please help ASAP.",
"questions": {"urgency": {"type": "noul", "instructions": "Does this message express urgency?"}}
}'
Questions, problems or a model to consider for a smaller version? Reply in our feedback thread.
LM Studio
The model is on the LM Studio Hub as turintech/kev-27b-artemis. That entry loads it as
a decision model with the settings above: a 16,384-token context and batch sizes of 4,096. Keep the @iq4_xs label when you download it, because without
one LM Studio can pick a different file for your hardware:
lms get turintech/kev-27b-artemis@iq4_xs --gguf
lms load turintech/kev-27b-artemis
Then, with LM Studio's server running (port 1234 by default), send decision requests to /v1/systemone and name the
model. The chat window and /v1/chat/completions do not run it as a decision model.
curl http://localhost:1234/v1/systemone -H 'Content-Type: application/json' -d '{
"model": "turintech/kev-27b-artemis",
"state": "I was charged twice for the same order.",
"questions": {"angry": {"type": "noul", "instructions": "Is the customer angry?"}}
}'
Tested on 25 October 2026 with LM Studio 0.4.26 (headless llmster 0.0.25-1) and its CPU llama.cpp engine 2.64.0 on
Linux x86-64. Kev-27B-Artemis-IQ4_XS.gguf was downloaded from Hugging Face, its SHA-256
matched, it loaded through a local copy of this Hub definition and /v1/systemone answered a yes/no and a choice question. That is a compatibility check: the numbers on this card come
from llama-server.
Recommended Ollama package
echo "My Stripe integration keeps failing. Please help ASAP." | ollama run turintech/kev-27b-artemis:13.9gb --ask "Does this message express urgency?"
This verified tag selects Kev-27B-Artemis-IQ4_XS.gguf. Ollama 0.40.4 was tested; include "model": "turintech/kev-27b-artemis:13.9gb" in the decision request to port 11434. The command runs the documented decision example; the explicit size tag selects the recommended file and is not an immutable revision.
Choose this model
- Best for routing, triage and yes or no checks on a single GPU with 24 GB.
- Consider another file when you want the closest match to the original and have the memory: kdercksen's Q6_K (21.04 GB) gives the same answer 99.0% of the time.
Files
Every file we publish for this model. Sizes are download sizes, not memory.
| File | Size | Use it for | Ollama tag |
|---|---|---|---|
Kev-27B-Artemis-IQ4_XS.gguf |
13.91 GB | Default | iq4_xs (latest) |
Kev-27B-Artemis-Q4_K_S.gguf |
14.56 GB | Larger: probabilities closest to the original (KL .0029 against .0032) | q4_k_s |
Kev-27B-Artemis-Q3_K_M.gguf |
12.31 GB | Smaller: less memory (17.5 GiB) | q3_k_m |
- With llama.cpp or a Hugging Face pull, add the file's quant label as the tag:
-hf turintech/Kev-27B-Artemis-GGUF:IQ4_XS. - The Ollama tag runs our package, which holds the same file:
ollama run turintech/kev-27b-artemis:<tag>. - LM Studio's Hub entry
turintech/kev-27b-artemisoffers every model file above.
| Variant | Size | Saved | Same answer | Acc. Δ | Conf. changes | Choose for |
|---|---|---|---|---|---|---|
| BF16 original | 51.3 GB | reference | reference | |||
| IQ4_XS | 13.91 GB | 73% | 97.8% | -0.35 | 0 | Default. |
| Q4_K_S | 14.56 GB | 72% | 97.5% | -0.35 | 0 | Closest probabilities. |
| Q3_K_M | 12.31 GB | 76% | 95.9% | -0.15 | 0 | Less memory (17.5 GiB). |
"Saved" is the file-size reduction versus the BF16 original. Variant links download the exact GGUF; full filenames are in the commands and checksums. File labels are size classes, explained under "File names, sizes and SHA-256 checksums" at the end of the card.
Q4_K_S: Probabilities closest to the original (KL .0029 against .0032).
"Same answer as the original" is how often a file picks the same option as the BF16 original on 2,000 test decisions. "Accuracy change" is the difference in accuracy against the original on the same cases, in points. "Confident answers changed" counts answers the original was more than 80% sure of that the file changed.
The public files, on the same tests: Q6_K (kdercksen, 21.04 GB) gives the same answer 99.0% of the time with -0.15 accuracy, and Q4_K_M (kdercksen, 15.84 GB) 97.0% with -0.25. The Q6_K is closer to the original than any of our files, at 7.1 GB more than the Artemis IQ4_XS file and 25.7 GiB of GPU memory. The Q4_K_M is closer on the benchmark sample (98.7% against 97.7% for the Artemis IQ4_XS file).
Results
Our default file against the closest public file and the original, on 2,000 typed decisions from the test split. These decisions were also used to choose the file.
| File | Size | Same answer as original | Confident answers changed | Accuracy |
|---|---|---|---|---|
| Ours, IQ4_XS | 13.91 GB | 97.8% | 0 | 74.05% |
| kdercksen Q4_K_M | 15.84 GB | 97.0% | 0 | 74.15% |
| BF16 original | 51.3 GB | reference | reference | 74.40% |
The public Q4_K_M is closer on the benchmark sample (98.7% against 97.7%). How it was tested.
Typed-decision accuracy on the card's selection panel, with the measured nearby-size alternatives and BF16 original. These comparisons informed file selection and do not establish performance on unseen inputs. Hardware, runtime and other evaluation panels are listed under How it was tested.
Evaluation details and limitationsHow it was tested
Compatibility notes
This is a decision model. Run it on llama-server's /v1/systemone endpoint and keep -ub 4096 -b 4096, as in
Run it. The llama.cpp and Ollama buttons under "Use this model" start it as a chat model without those
settings, which is not a supported way to run it. The LM Studio button imports the file without those settings; use the Hub entry in LM Studio instead.
Recommendation notes
Download Kev-27B-Artemis-IQ4_XS.gguf (13.91 GB, peak GPU memory 19.0 GiB on an NVIDIA RTX 5090, so it
should fit a 24 GB GPU) and start it with the settings below, then send requests as shown in Run it. It gives
the same answer as the original on 97.8% of 2,000 test decisions and changed none of the 897 answers the original was
more than 80% sure of. The public Q4_K_M (15.84 GB) is closer to the original on the benchmark sample (98.7% against
97.7%).
These files are per-tensor mixes, and their labels are size classes (see the file names table at the end). Use the exact filename or the :IQ4_XS tag; without a tag, app buttons may select a different file.
Size and quality trade-offs
jaredpalmer/kev-27b is 51.3 GB as BF16 and needs 57.1 GiB of GPU memory, so an 80 GB data-centre card or two 32 GB cards. The default file here is 13.91 GB, 73% smaller, and needs 19.0 GiB, so it should fit a 24 GB GPU (both measured on NVIDIA RTX 5090s). It gives the same answer as the original on 97.8% of 2,000 test decisions. The public Q4_K_M records 97.0%. Accuracy is 74.05% against the original's 74.40% (on held-out decisions 77.5% against 77.3%). The file changed none of the 897 answers the original was more than 80% sure of.
The separate train-split results are labelled held-out in the tables. Their independence from calibration and variant selection has not been verified for every file.
Test results informed candidate selection, so they do not independently measure performance on new inputs. Read them alongside the separate train-split results and public-file comparisons. Agreement measures whether a compressed model keeps the original's answers, including its mistakes. The typed-decisions accuracy figures compare answers with teacher-generated labels.
Every file was compared with the BF16 original and with the public builds, all at identical llama.cpp settings, on:
- 2,000 typed decisions (questions with a fixed answer type: yes/no, pick one, a score) from the test split of LocalLLaMA/typed-decisions: 400 cases with about five questions each,
- 1,000 further decisions from the dataset's train split, reported separately below,
- a 300-item stratified sample of the public Decision Index benchmarks (MMLU, MMLU-Pro, ARC, WinoGrande, HellaSwag, ANLI, BANKING77, CLINC150, When2Call). This is a sample for comparing builds, not a Decision Index score,
- option shuffling, the longest inputs, many-option questions and repeat runs.
Measured with llama.cpp fcac190 at the settings above (--parallel 2, all layers on the GPU) on NVIDIA RTX 5090
32 GB GPUs: each file on one GPU, and the original, which does not fit one, split over two. Public files:
kdercksen/Kev-27B-GGUF revision a41648c.
| Check | BF16 | Artemis IQ4_XS | Artemis Q4_K_S | Artemis Q3_K_M | Public Q6_K | Public Q4_K_M |
|---|---|---|---|---|---|---|
| Typed-decision accuracy | 74.40 | 74.05 | 74.05 | 74.25 | 74.25 | 74.15 |
| Same answer as BF16 | 97.8 | 97.5 | 95.9 | 99.0 | 97.0 | |
| KL to BF16 (lower is closer) | .0032 | .0029 | .0064 | .0005 | .0040 | |
| Held-out accuracy | 77.3 | 77.5 | 77.6 | 76.3 | 76.8 | 77.6 |
| Held-out: same answer as BF16 | 97.0 | 96.6 | 94.9 | 98.4 | 96.4 | |
| Decision Index sample accuracy | 81.7 | 83.0 | 83.3 | 82.3 | 81.7 | 83.0 |
| Decision Index sample: same answer as BF16 | 97.7 | 97.3 | 96.0 | 99.0 | 98.7 | |
| Changed answers where BF16 was over 80% sure | 0 | 0 | 0 | 0 | 0 |
KL measures how far a file's probabilities move from the original's. The original itself changes 11.6% of its answers when the options are shuffled; our files change 12.1 to 12.9%, the public Q6_K 12.1% and Q4_K_M 13.0%. Repeat runs gave identical answers for every file. Every number here sends all of a case's questions in one request; sending them one per request changes 9 to 17 of the 2,000 answers for our files (2 for the original, 4 for the public Q6_K, 11 for the Q4_K_M), so keep the request shape the same when comparing.
Memory
Peak GPU memory of llama-server on NVIDIA RTX 5090s with the settings above. The original's figure is the total over
the two GPUs it was split across.
| File | Size | Peak GPU memory |
|---|---|---|
| Original, BF16 | 51.3 GB | 57.1 GiB |
| Kev-27B-Artemis-IQ4_XS | 13.91 GB | 19.0 GiB |
| Kev-27B-Artemis-Q4_K_S | 14.56 GB | 19.6 GiB |
| Kev-27B-Artemis-Q3_K_M | 12.31 GB | 17.5 GiB |
| Public Q6_K | 21.04 GB | 25.7 GiB |
| Public Q4_K_M | 15.84 GB | 20.8 GiB |
Agreement with the original
The agreement numbers from the tables above, in one fixed layout with the protocol behind each table.
Protocols and standard tables- Same answer as BF16: the share of decisions where the file picks the same answer as the BF16 original, mistakes included. Higher is closer.
- Mean KL to BF16: KL divergence between the original's and the file's answer probabilities, as the protocol describes. Lower is closer.
- Accuracy: the share of decisions that match the panel's labels. Accuracy change: the file's accuracy minus the original's, in points.
- Confident answers changed: answers the original gave with more than 80% probability that the file changed. Lower is closer.
n/a means the card's tables or our run records do not have that value.
Protocol kev27b-rtx5090
NVIDIA RTX 5090, October 2026.
- Reference: TurinTech's BF16 GGUF conversion of jaredpalmer/kev-27b (no ggml-org GGUF exists), split over two RTX 5090s
- Panel
test: typed-decisions test split (selection panel); dataset: LocalLLaMA/typed-decisions; split: test; cases: 400; decisions: 2,000; text SHA-256: 4f294f218ea1da27f3efef936359389c62ea4d3973a41457732990f1d31b647c - Panel
heldout: typed-decisions train split, held-out slice; dataset: LocalLLaMA/typed-decisions; split: train; cases: 200; decisions: 1,000 - Panel
decision_index: Decision Index stratified sample (MMLU, MMLU-Pro, ARC, WinoGrande, HellaSwag, ANLI, BANKING77, CLINC150, When2Call); dataset: MMLU, MMLU-Pro, ARC, WinoGrande, HellaSwag, ANLI, BANKING77, CLINC150 and When2Call (300-item stratified sample); cases: 300; decisions: 300; text SHA-256: 9cb4301cc7d7d96dde9663263c53020912ad628201e5609ab2d65bf16ebb652e - Tool: llama-server
/v1/systemone, which returns a probability for every allowed answer; all of a case's questions in one request - llama.cpp build: b11609 (commit fcac190)
- Command: the card gives
-c 16384 -ub 4096 -b 4096 --parallel 2with all layers on the GPU - Hardware: NVIDIA RTX 5090 32 GB: each file on one GPU, the BF16 original over two
- Settings: 16,384-token context, batch 4,096, two slots, all layers on the GPU
- Measured by: TurinTech measured every file in these tables, including kdercksen's Q6_K and Q4_K_M, with the same build and settings
- Selection: the test results informed the choice of files, so they are not an independent test
- Source on this card: the table column "Acc. Δ"; the table rows "Typed-decision accuracy", "Same answer as BF16", "Held-out accuracy", "Held-out: same answer as BF16", "Decision Index sample accuracy", "Decision Index sample: same answer as BF16", "Changed answers where BF16 was over 80% sure", "KL to BF16 (lower is closer)"
- Comparison files: kdercksen:
kdercksen/Kev-27B-GGUFata41648c, Public Q6_K; kdercksen:kdercksen/Kev-27B-GGUFata41648c, Public Q4_K_M
Protocol kev27b-rtx5090, panel test (typed-decisions test split (selection panel)):
| File | Repository | Measured by | Size (GB) | Size (bytes) | Same answer as BF16 (%) | Mean KL to BF16 | Accuracy (%) | Accuracy change (points) | Confident answers changed |
|---|---|---|---|---|---|---|---|---|---|
| BF16 | TurinTech (conversion of jaredpalmer/kev-27b) | reference | 51.3 | n/a | reference | reference | 74.40 | reference | reference |
Kev-27B-Artemis-IQ4_XS.gguf |
turintech/Kev-27B-Artemis-GGUF |
TurinTech | 13.91 | 13907825440 | 97.8 | 0.0032 | 74.05 | -0.35 | 0 |
Kev-27B-Artemis-Q4_K_S.gguf |
turintech/Kev-27B-Artemis-GGUF |
TurinTech | 14.56 | 14563636000 | 97.5 | 0.0029 | 74.05 | -0.35 | 0 |
Kev-27B-Artemis-Q3_K_M.gguf |
turintech/Kev-27B-Artemis-GGUF |
TurinTech | 12.31 | 12313948960 | 95.9 | 0.0064 | 74.25 | -0.15 | 0 |
| Public Q6_K | kdercksen/Kev-27B-GGUF at a41648c |
TurinTech | 21.04 | n/a | 99.0 | 0.0005 | 74.25 | n/a | 0 |
| Public Q4_K_M | kdercksen/Kev-27B-GGUF at a41648c |
TurinTech | 15.84 | n/a | 97.0 | 0.0040 | 74.15 | n/a | 0 |
Protocol kev27b-rtx5090, panel heldout (typed-decisions train split, held-out slice):
| File | Repository | Measured by | Size (GB) | Size (bytes) | Same answer as BF16 (%) | Accuracy (%) |
|---|---|---|---|---|---|---|
| BF16 | TurinTech (conversion of jaredpalmer/kev-27b) | reference | 51.3 | n/a | reference | 77.3 |
Kev-27B-Artemis-IQ4_XS.gguf |
turintech/Kev-27B-Artemis-GGUF |
TurinTech | 13.91 | 13907825440 | 97.0 | 77.5 |
Kev-27B-Artemis-Q4_K_S.gguf |
turintech/Kev-27B-Artemis-GGUF |
TurinTech | 14.56 | 14563636000 | 96.6 | 77.6 |
Kev-27B-Artemis-Q3_K_M.gguf |
turintech/Kev-27B-Artemis-GGUF |
TurinTech | 12.31 | 12313948960 | 94.9 | 76.3 |
| Public Q6_K | kdercksen/Kev-27B-GGUF at a41648c |
TurinTech | 21.04 | n/a | 98.4 | 76.8 |
| Public Q4_K_M | kdercksen/Kev-27B-GGUF at a41648c |
TurinTech | 15.84 | n/a | 96.4 | 77.6 |
Protocol kev27b-rtx5090, panel decision_index (Decision Index stratified sample (MMLU, MMLU-Pro, ARC, WinoGrande, HellaSwag, ANLI, BANKING77, CLINC150, When2Call)):
| File | Repository | Measured by | Size (GB) | Size (bytes) | Same answer as BF16 (%) | Accuracy (%) |
|---|---|---|---|---|---|---|
| BF16 | TurinTech (conversion of jaredpalmer/kev-27b) | reference | 51.3 | n/a | reference | 81.7 |
Kev-27B-Artemis-IQ4_XS.gguf |
turintech/Kev-27B-Artemis-GGUF |
TurinTech | 13.91 | 13907825440 | 97.7 | 83.0 |
Kev-27B-Artemis-Q4_K_S.gguf |
turintech/Kev-27B-Artemis-GGUF |
TurinTech | 14.56 | 14563636000 | 97.3 | 83.3 |
Kev-27B-Artemis-Q3_K_M.gguf |
turintech/Kev-27B-Artemis-GGUF |
TurinTech | 12.31 | 12313948960 | 96.0 | 82.3 |
| Public Q6_K | kdercksen/Kev-27B-GGUF at a41648c |
TurinTech | 21.04 | n/a | 99.0 | 81.7 |
| Public Q4_K_M | kdercksen/Kev-27B-GGUF at a41648c |
TurinTech | 15.84 | n/a | 98.7 | 83.0 |
File names
File names end in a standard llama.cpp quant label, so llama.cpp, Ollama and LM Studio can pick a file by tag. Each file is a per-tensor mix of quant types, so the label is a size class: the smallest standard llama.cpp quant whose typical bits per weight are at least the file's. The general.file_type field inside the files reads Q4_K_M, the base type given to llama-quantize; the table shows the tensor types each file holds.
| File | Earlier name | Bits per weight | Main tensor types (share of bytes) |
|---|---|---|---|
Kev-27B-Artemis-Q4_K_S.gguf |
Kev-27B-Artemis-14.6GB.gguf |
4.54 | IQ4_XS 62%, Q4_K 23%, Q6_K 14% |
Kev-27B-Artemis-IQ4_XS.gguf |
Kev-27B-Artemis-13.9GB.gguf |
4.34 | IQ4_XS 62%, Q4_K 24%, Q6_K 8%, IQ3_XXS 4% |
Kev-27B-Artemis-Q3_K_M.gguf |
Kev-27B-Artemis-12.3GB.gguf |
3.84 | IQ3_XXS 40%, Q4_K 27%, IQ4_XS 25%, Q6_K 9% |
The earlier names were removed from the repository on 26 October 2026; the files under the names above hold the same bytes.
File checksums
| File | Bytes | sha256 |
|---|---|---|
Kev-27B-Artemis-IQ4_XS.gguf |
13,907,825,440 | 47d204c6eafbddef31b23f49947327e4e200a66354b2d99249e812c276c4326c |
Kev-27B-Artemis-Q4_K_S.gguf |
14,563,636,000 | 8faf54a0f2fc2dd60c2e26cb51ad8284405ee14ac5eb378d0cc95706226d032b |
Kev-27B-Artemis-Q3_K_M.gguf |
12,313,948,960 | f58dd08fcd4ad4af8bdb2cfb7d812664aac185547c935d858f9d39a40e967cdd |
Custom versions
We also make fine-tuned and further optimised versions on request: tuned on specific decisions and data, built for the target hardware (CPU servers, laptops, Apple Silicon, edge devices), or compressed from a private model. Book a call with TurinTech.
About and licence
Kev-27B is a 27B decision model by Jared Palmer. The model accepts text with a set of typed questions, and it returns a probability for every allowed answer in a single pass, instead of generating text. Text only. See the original model card.
This is an independent TurinTech conversion, not affiliated with or endorsed by the Kev authors. The files are
standard GGUF and run on stock llama.cpp. Changes from the original: the weights are converted to GGUF and quantized
for llama.cpp. See NOTICE.
Apache-2.0 (see LICENSE and NOTICE), the same as jaredpalmer/kev-27b,
which is fine-tuned from Qwen/Qwen3.8-27B.
When serving these files to others, for example through an API, an inference provider or OpenRouter, we'd appreciate a mention of TurinTech (turintech.ai) as the source of the quantization.
These files keep improving.