TurinTech models, built with Artemis
d3 27B for typed decisions about text or images on a 24 GB GPU. It answers typed questions with a probability for each answer, in one pass.
- 14.95 GB download for the default file,
d3-27B-Artemis-IQ4_XS.gguf. - Peak GPU memory 16.4 GiB for text and 19.0 GiB with images on an NVIDIA RTX 5090; the original needs 54.6 GiB over two GPUs.
- Same answer as the original on 97.1% of 2,000 test decisions, against 98.4% for ggml-org's Q4_K_M (19.40 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. Needs llama.cpp release b11572 (12 October 2026, which added d3 support) or newer. Tested at commit fcac190.
llama-server -hf turintech/d3-27B-Artemis-GGUF:IQ4_XS --port 8080 -c 16384 -ub 4096 -b 4096 -np 1
Request example, images and LM StudioOllama: no verified supported package is provided here. Use the exact llama.cpp command above; an automatic integration button is not a compatibility test.
llama-server -m d3-27B-Artemis-IQ4_XS.gguf --port 8080 -c 16384 -ub 4096 -b 4096 -np 1
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: d3 reads the whole prompt in one batch, so an input longer than the batch size is rejected.
-np 1 keeps one request per batch; with several slots, llama.cpp can change a d3 answer when a shorter request
shares the batch (ggml-org/llama.cpp#30402, open as of 14 October 2026). -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.
Vision inputs
Use ggml-org's vision projector for this model and raise the batch size, since several large images can exceed 4,096 tokens:
hf download ggml-org/vllm-d3-GGUF mmproj-vllm-d3-BF16.gguf --local-dir .
llama-server -m d3-27B-Artemis-IQ4_XS.gguf --port 8080 --mmproj mmproj-vllm-d3-BF16.gguf -c 16384 -ub 8192 -b 8192 -np 1
Send images as data URLs in a top-level images array of the /v1/systemone request.
LM Studio
The model is on the LM Studio Hub as turintech/d3-27b-artemis. That entry loads it as
a decision model with the settings above: a 16,384-token context, batch sizes of 4,096 and one parallel session (-np 1). 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/d3-27b-artemis@iq4_xs --gguf
lms load turintech/d3-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/d3-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. d3-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.
Only text input was tested in LM Studio.
Choose this model
- Best for typed decisions on text or images with a 24 GB GPU.
- Consider another file when you have a 16 GB GPU: the Artemis Q3_K_S file needs 14.1 GiB for text. If closeness matters more than size, ggml-org's Q4_K_M gives the same answer 98.4% of the time.
Files
Every file we publish for this model. Sizes are download sizes, not memory.
| File | Size | Use it for |
|---|---|---|
d3-27B-Artemis-IQ4_XS.gguf |
14.95 GB | Default |
d3-27B-Artemis-Q3_K_S.gguf |
12.26 GB | Smaller: 16 GB GPUs |
mmproj-vllm-d3-BF16.gguf |
931 MB | Vision companion (mmproj) from ggml-org/vllm-d3-GGUF: pass it with --mmproj for image inputs |
- With llama.cpp or a Hugging Face pull, add the file's quant label as the tag:
-hf turintech/d3-27B-Artemis-GGUF:IQ4_XS. - LM Studio's Hub entry
turintech/d3-27b-artemisoffers every model file above, without the vision projector.
| Variant | Size | Saved | Same answer | Acc. Δ | Conf. changes | Choose for |
|---|---|---|---|---|---|---|
| BF16 original | 53.8 GB | reference | reference | |||
| IQ4_XS | 14.95 GB | 72% | 97.1% | +0.25 | 0 | Default. |
| Q3_K_S | 12.26 GB | 77% | 95.7% | -0.30 | 0 | 16 GB GPUs (14.1 GiB for text). |
"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.
"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 (1,109 of the 2,000 decisions).
The public Q4_K_M from ggml-org (ggml-org/vllm-d3-GGUF, revision
de96701, 19.40 GB, 20.4 GiB of GPU memory) gives the same answer 98.4% of the time, accuracy +0.05, and changed no
confident answer. It is closer to the original than our files on test, held-out and benchmark decisions. Image agreement is 98.5% for Artemis IQ4_XS and 97.6% for public Q4_K_M. On held-out decisions our files lose 1.6 and 1.7 points of accuracy
(the Q4_K_M 0.4).
Results
Our default file against the public Q4_K_M 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 | 14.95 GB | 97.1% | 0 | 74.85% |
| ggml-org Q4_K_M | 19.40 GB | 98.4% | 0 | 74.65% |
| BF16 original | 53.8 GB | reference | reference | 74.60% |
The public Q4_K_M is larger and closer to the original on test, train-split and benchmark decisions. On images ours is closer. 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 d3-27B-Artemis-IQ4_XS.gguf (14.95 GB, peak GPU memory 16.4 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.1% of 2,000 test decisions and changed none of the 1,109 answers the original was
more than 80% sure of. The public Q4_K_M from ggml-org is closer to the original (98.4%) at 19.40 GB. For a 16 GB GPU,
the Artemis Q3_K_S file needs 14.1 GiB.
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
vllm-sr/d3 is 53.8 GB in BF16 and needs 54.6 GiB of GPU memory, so an 80 GB data-centre card or two 32 GB cards. The default file here is 14.95 GB, 72% smaller, and needs 16.4 GiB, so it should fit a 24 GB GPU; the Artemis Q3_K_S file needs 14.1 GiB, so it should fit a 16 GB GPU for text (both measured on an NVIDIA RTX 5090). The default gives the same answer as the original on 97.1% of 2,000 test decisions, has measured accuracy (74.85% against 74.60%), and changed no answer the original was more than 80% sure of, in text or images.
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 ggml-org's Q4_K_M, 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 as held-out below,
- a 300-item stratified sample of the public Decision Index benchmarks. This is a sample for comparing builds, not a Decision Index score,
- 330 image questions from CV-Bench, RealWorldQA and BLINK, with the same BF16 vision projector for every file,
- option shuffling, the longest inputs and repeat runs.
Measured with llama.cpp fcac190 at the settings above (-np 1, one request at a time; images at -ub 8192 -b 8192)
on NVIDIA RTX 5090 32 GB GPUs: each file on one GPU, and the original, which does not fit one, split over two.
| Check | BF16 | Artemis IQ4_XS | Artemis Q3_K_S | ggml-org Q4_K_M |
|---|---|---|---|---|
| Typed-decision accuracy | 74.60 | 74.85 | 74.30 | 74.65 |
| Same answer as BF16 | 97.1 | 95.7 | 98.4 | |
| KL to BF16 (lower is closer) | .0029 | .0102 | .0014 | |
| Held-out accuracy | 76.5 | 74.9 | 74.8 | 76.1 |
| Held-out: same answer as BF16 | 96.8 | 95.1 | 97.9 | |
| Decision Index sample accuracy | 88.7 | 89.3 | 89.0 | 89.7 |
| Decision Index sample: same answer as BF16 | 98.7 | 95.7 | 99.0 | |
| Image accuracy | 75.2 | 75.2 | 74.8 | 73.9 |
| Images: same answer as BF16 | 98.5 | 95.8 | 97.6 | |
| Changed answers where BF16 was over 80% sure (text / images) | 0 / 0 | 0 / 0 | 0 / 0 | |
| Answers changed by shuffling options (%) | 3.1 | 3.9 | 4.1 | 3.8 |
KL measures how far a file's probabilities move from the original's. The original itself changes 3.1% of its answers when the options are shuffled. Repeat runs gave identical answers for every file. d3 answers each question of a request on its own, so sending the same questions one per request gave identical answers. The held-out accuracy drop of our files (Artemis IQ4_XS -1.6 points, 95% range -2.7 to -0.6; Artemis Q3_K_S -1.7, -3.0 to -0.4) is larger than on the test decisions.
Memory
Peak GPU memory of llama-server on NVIDIA RTX 5090s: text (-ub 4096 -b 4096) and with the BF16 vision projector
(-ub 8192 -b 8192). The original's figure is the total over the two GPUs it was split across.
| File | Size | Peak GPU memory, text | With images |
|---|---|---|---|
| Original, BF16 | 53.8 GB | 54.6 GiB | 60.2 GiB |
d3-27B-Artemis-IQ4_XS.gguf |
14.95 GB | 16.4 GiB | 19.0 GiB |
d3-27B-Artemis-Q3_K_S.gguf |
12.26 GB | 14.1 GiB | 16.7 GiB |
| ggml-org Q4_K_M | 19.40 GB | 20.4 GiB | 22.9 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 rtx5090-fcac190-20261014
NVIDIA RTX 5090, 14 October 2026.
- Reference: TurinTech's BF16 GGUF conversion of vllm-sr/d3 (53,808,283,872 bytes), split over two RTX 5090s (
-ts 1,1) - Panel
test: LocalLLaMA/typed-decisions test split, typed decisions; dataset: LocalLLaMA/typed-decisions; split: test; cases: 400; decisions: 2,000; text SHA-256: 4f294f218ea1da27f3efef936359389c62ea4d3973a41457732990f1d31b647c - Panel
heldout: LocalLLaMA/typed-decisions train split, reported as held-out; dataset: LocalLLaMA/typed-decisions; split: train; cases: 200; decisions: 1,000; text SHA-256: 46a58d63edfd86e23229c78afe8b72307bb4ca9fb0e8df180cabb3c67ec9dcd5 - Panel
decision_index: 300-item stratified sample of the public Decision Index benchmarks (not a Decision Index score); dataset: MMLU, ARC-Easy, ARC-Challenge, WinoGrande, HellaSwag, ANLI, BANKING77, CLINC150, MMLU-Pro, When2Call; split: per source benchmark; cases: 300; decisions: 300; text SHA-256: 9cb4301cc7d7d96dde9663263c53020912ad628201e5609ab2d65bf16ebb652e - Panel
images: 330 image questions from CV-Bench, RealWorldQA and BLINK; dataset: CV-Bench, RealWorldQA, BLINK; cases: 330; decisions: 330; text SHA-256: 46d96d8d9556847a4fd2aecfa930fc47accc15995b0d1f0d83928dee413cf5b1 - 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:
llama-server -m <file.gguf> -c 16384 -ub 4096 -b 4096 --parallel 1 -ngl 99(the BF16 original adds-ts 1,1over two GPUs) with our decision suite as the client, one request at a time; image questions with-ub 8192 -b 8192 --mmproj mmproj-vllm-d3-BF16.gguf(ggml-org's BF16 projector) - Hardware: NVIDIA RTX 5090 32 GB: each file on one GPU, the BF16 original over two
- Settings: 16,384-token context, batch 4,096, one slot, all layers on the GPU
- Measured by: TurinTech measured every file in these tables, including ggml-org's 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 "Same answer as BF16", "Typed-decision accuracy", "Changed answers where BF16 was over 80% sure (text / images)", "Held-out: same answer as BF16", "Held-out accuracy", "Decision Index sample: same answer as BF16", "Decision Index sample accuracy", "Images: same answer as BF16", "Image accuracy", "KL to BF16 (lower is closer)"
- Comparison files: ggml-org:
ggml-org/vllm-d3-GGUFatde96701, ggml-org Q4_K_M
Protocol rtx5090-fcac190-20261014, panel test (LocalLLaMA/typed-decisions test split, typed decisions):
| File | Repository | Measured by | Size (GB) | Size (bytes) | Same answer as BF16 (%) | Mean KL to BF16 | Accuracy (%) | Accuracy change (points) | Confident answers changed |
|---|---|---|---|---|---|---|---|---|---|
| BF16 | vllm-sr/d3 |
reference | 53.8 | 53808283872 | reference | reference | 74.60 | reference | reference |
d3-27B-Artemis-IQ4_XS.gguf |
turintech/d3-27B-Artemis-GGUF at beef0a18c1fe |
TurinTech | 14.95 | 14949286144 | 97.1 | 0.0029 | 74.85 | +0.25 | 0 |
d3-27B-Artemis-Q3_K_S.gguf |
turintech/d3-27B-Artemis-GGUF at beef0a18c1fe |
TurinTech | 12.26 | 12255531264 | 95.7 | 0.0102 | 74.30 | -0.30 | 0 |
| ggml-org Q4_K_M | ggml-org/vllm-d3-GGUF at de96701 |
TurinTech | 19.40 | n/a | 98.4 | 0.0014 | 74.65 | n/a | 0 |
Protocol rtx5090-fcac190-20261014, panel heldout (LocalLLaMA/typed-decisions train split, reported as held-out):
| File | Repository | Measured by | Size (GB) | Size (bytes) | Same answer as BF16 (%) | Accuracy (%) |
|---|---|---|---|---|---|---|
| BF16 | vllm-sr/d3 |
reference | 53.8 | 53808283872 | reference | 76.5 |
d3-27B-Artemis-IQ4_XS.gguf |
turintech/d3-27B-Artemis-GGUF at beef0a18c1fe |
TurinTech | 14.95 | 14949286144 | 96.8 | 74.9 |
d3-27B-Artemis-Q3_K_S.gguf |
turintech/d3-27B-Artemis-GGUF at beef0a18c1fe |
TurinTech | 12.26 | 12255531264 | 95.1 | 74.8 |
| ggml-org Q4_K_M | ggml-org/vllm-d3-GGUF at de96701 |
TurinTech | 19.40 | n/a | 97.9 | 76.1 |
Protocol rtx5090-fcac190-20261014, panel decision_index (300-item stratified sample of the public Decision Index benchmarks (not a Decision Index score)):
| File | Repository | Measured by | Size (GB) | Size (bytes) | Same answer as BF16 (%) | Accuracy (%) |
|---|---|---|---|---|---|---|
| BF16 | vllm-sr/d3 |
reference | 53.8 | 53808283872 | reference | 88.7 |
d3-27B-Artemis-IQ4_XS.gguf |
turintech/d3-27B-Artemis-GGUF at beef0a18c1fe |
TurinTech | 14.95 | 14949286144 | 98.7 | 89.3 |
d3-27B-Artemis-Q3_K_S.gguf |
turintech/d3-27B-Artemis-GGUF at beef0a18c1fe |
TurinTech | 12.26 | 12255531264 | 95.7 | 89.0 |
| ggml-org Q4_K_M | ggml-org/vllm-d3-GGUF at de96701 |
TurinTech | 19.40 | n/a | 99.0 | 89.7 |
Protocol rtx5090-fcac190-20261014, panel images (330 image questions from CV-Bench, RealWorldQA and BLINK):
| File | Repository | Measured by | Size (GB) | Size (bytes) | Same answer as BF16 (%) | Accuracy (%) | Confident answers changed |
|---|---|---|---|---|---|---|---|
| BF16 | vllm-sr/d3 |
reference | 53.8 | 53808283872 | reference | 75.2 | reference |
d3-27B-Artemis-IQ4_XS.gguf |
turintech/d3-27B-Artemis-GGUF at beef0a18c1fe |
TurinTech | 14.95 | 14949286144 | 98.5 | 75.2 | 0 |
d3-27B-Artemis-Q3_K_S.gguf |
turintech/d3-27B-Artemis-GGUF at beef0a18c1fe |
TurinTech | 12.26 | 12255531264 | 95.8 | 74.8 | 0 |
| ggml-org Q4_K_M | ggml-org/vllm-d3-GGUF at de96701 |
TurinTech | 19.40 | n/a | 97.6 | 73.9 | 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) |
|---|---|---|---|
d3-27B-Artemis-IQ4_XS.gguf |
d3-27B-Artemis-14.9GB.gguf |
4.44 | IQ4_XS 57%, Q4_K 22%, Q6_K 14%, IQ3_XXS 3% |
d3-27B-Artemis-Q3_K_S.gguf |
d3-27B-Artemis-12.3GB.gguf |
3.64 | Q4_K 27%, IQ4_XS 25%, Q6_K 17%, IQ2_S 15% |
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 |
|---|---|---|
d3-27B-Artemis-IQ4_XS.gguf |
14,949,286,144 | 4ae3fc00c3f7e7475796263a2b2c6311d2090f07f1dbcae9a175faa215366568 |
d3-27B-Artemis-Q3_K_S.gguf |
12,255,531,264 | 34c640d250afb383a63aee495f2c0d9ab01d8a1f309789ffd35f3f7e298e3224 |
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
d3 is the 27B decision model of Decision 3.0, made by the vLLM Semantic Router Team (vLLM Semantic Router). The model accepts text (and optionally images) with a set of typed questions, and it returns a probability for every allowed answer in a single pass, instead of generating text. See the original model card.
This is an independent TurinTech conversion, not affiliated with or endorsed by the vLLM Semantic Router Team. The
files are standard GGUF and run on stock llama.cpp. For images, use ggml-org's vision projector (see below). 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 vllm-sr/d3, which is built
on Qwen/Qwen3.8-27B. The original's NOTICE is reproduced in ours.
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.