AtomicChat / d1-3B-GGUF

huggingface.co
Total runs: 1.8K
24-hour runs: 0
7-day runs: 988
30-day runs: 988
Model's Last Updated: October 08 2026
image-text-to-text

Introduction of d1-3B-GGUF

Model Details of d1-3B-GGUF

How to Run d1-3B Locally

Built from Liquid AI's published weights with our own importance matrix, and measured on decisions, not just text.


d1-3B is Liquid AI's decision model. It takes a state and answers typed questions in one forward pass: yes or no, a pick from named options, or a score. The answer is read from the model's distribution over the options' tokens, so nothing is generated.

Pick a file

Every number below is measured on one machine. The raw results and logs are in the metrics repo .

  • same answer : across 1,285 decisions, how often the file gives the same answer as the BF16 weights published in LiquidAI/d1-3B . The questions are yes/no, choice and score questions over held-out texts in 30 languages and source code. The number of changed answers is in brackets.
  • option drift : the mean total variation distance between the file's option probabilities and the original's. 0 means identical.
  • KLD and top-1 : full-vocabulary agreement with the original on held-out text.
File Size same answer option drift KLD top-1
BF16 5,403 MB on disk reference 0 0 100%
Q8_0 2,875 MB on disk 99.3% (9) 0.0033 0.0010 98.28%
AD-Q6_K 2,348 MB on disk 99.1% (11) 0.0053 0.0022 97.41%
AD-Q5_K_M 1,953 MB on disk 98.1% (25) 0.0112 0.0080 95.09%
AD-Q4_K_M 1,658 MB on disk 97.1% (37) 0.0178 0.0244 91.54%
AD-IQ4_XS 1,570 MB on disk 95.6% (57) 0.0203 0.0283 90.92%

AD- means Atomic Dynamic: the type is chosen per tensor instead of taken from a llama.cpp preset.

  • The token table, which d1-3B also uses as its output head, never goes below Q6_K.
  • Attention stays at Q8_0 or Q6_K.
  • ffn_down in the first and last four blocks takes one step more than the middle.

The projector for images comes as mmproj-d1-3B-BF16 and mmproj-d1-3B-Q8_0 . We did not measure image decisions.

How these compare to Liquid's own GGUFs
  • 6 October: Liquid published GGUFs of d1-3B at LiquidAI/d1-3B-GGUF .
  • 7 October: Liquid updated the model's weights and the benchmark numbers in its card ("New weights for the same model", PR #4 in LiquidAI/d1-3B ). Later that day the GGUF repo was taken down.

We measured those GGUFs on 7 October, before they were removed, with the same harness and against the same BF16 reference.

File Size same answer option drift KLD top-1
Liquid BF16 5,403 MB 96.7% (43) 0.0331 0.0212 92.40%
Liquid Q8_0 2,875 MB 97.0% (39) 0.0334 0.0219 92.25%
AtomicChat AD-Q4_K_M 1,658 MB 97.1% (37) 0.0178 0.0244 91.54%
Liquid Q4_K_M 1,674 MB 94.9% (66) 0.0387 0.0568 87.32%
  • Those GGUFs were built from the previous version of the weights. Every linear layer differs from the current model.safetensors by about 2-3% relative, while the embeddings and norms match exactly, as you would expect from two fine-tunes of the same base.
    • We ran the current checkpoint with Liquid's own PyTorch code on 300 decisions.
    • Our BF16 file matches it with a mean option KL of 0.0002. Liquid's BF16 file is at 0.0078.
    • Our files are converted from the current weights, the ones Liquid's benchmark tables now refer to.
    • Most of the gap between the two 4-bit files above comes from that older starting point, not from quantization (see below).

Quantization alone. To separate the two effects, each file is measured against its own BF16 base: ours against the current weights, and Liquid's against its own BF16 GGUF of the previous weights.

File against changed answers option KL option drift
AtomicChat Q8_0 our BF16 9 0.0001 0.0033
Liquid Q8_0 Liquid's BF16 8 0.0001 0.0035
AtomicChat AD-Q4_K_M (1,658 MB) our BF16 37 0.0024 0.0178
Liquid Q4_K_M (1,674 MB) Liquid's BF16 37 0.0044 0.0239
  • The two 4-bit files change the same number of answers relative to their own base.
  • Ours moves the option probabilities less: about half the KL and a quarter less drift, at a slightly smaller size. For a model whose answers are calibrated probabilities, that is the part that counts.
  • Those files also did not load in stock llama.cpp. They carried lfm2.decision.type = d1 , which llama.cpp did not know (commit 18b5f8b ): unsupported decision model type: d1 .
  • Upstream support is on its way. Liquid's own PR, ggml-org/llama.cpp#30110 , adds d1-3B under the type lfm2-d1 . Our files leave that key out and load today as a plain LFM2 model. Once the PR is merged we will add the key and its systemone template, so that /v1/systemone works with them.
Running it
llama-server -m d1-3B-AD-Q4_K_M.gguf -ngl 99 -c 8192

llama.cpp's /v1/systemone endpoint does not support d1 yet ( #30110 adds it). Until then, the answer is a few lines of Python:

  • render the prompt with Liquid's own prompt.py ;
  • ask the server for one token with its top log-probabilities;
  • take a softmax over the options' tokens.
import json, math, sys, urllib.request
from huggingface_hub import snapshot_download
from transformers import AutoTokenizer

src = snapshot_download("LiquidAI/d1-3B", allow_patterns=["prompt.py", "tokenizer*"])
sys.path.insert(0, src)
import prompt

tok = AutoTokenizer.from_pretrained(src)
q = prompt.as_question({"type": "choice", "instructions": "Which team should handle this?",
                        "criteria": {"billing": "Charges, refunds, invoices", "technical": "App or site faults",
                                     "fraud": "Suspected unauthorised use"}})
ids = tok(prompt.render(tok, "I was charged twice this month, please refund one of them.", q, tok.bos_token),
          add_special_tokens=False)["input_ids"]
req = urllib.request.Request("http://127.0.0.1:8080/completion", json.dumps(
    {"prompt": ids, "n_predict": 1, "n_probs": 512, "post_sampling_probs": False}).encode(),
    {"Content-Type": "application/json"})
top = json.load(urllib.request.urlopen(req))["completion_probabilities"][0]["top_logprobs"]
lp = {t["id"]: t["logprob"] for t in top}
s = [max(lp.get(i, min(lp.values())) for i in g) for g in prompt.readout_ids(tok, q)]
p = [math.exp(x - max(s)) for x in s]
print({name: round(v / sum(p), 3) for name, v in zip(q.criteria, p)})
# {'billing': 0.985, 'technical': 0.01, 'fraud': 0.005}

noul (yes or no) and score questions work the same way. See the original card for the question schema.

How we made and measured them
  • BF16: converted from LiquidAI/d1-3B (revision da1fe36 ) with llama.cpp 18b5f8b . It matches Liquid's PyTorch code on 300 decisions with a mean option KL of 0.0002. The 9 changed answers there are near-ties, with a largest option difference of 0.035. The projector is tensor-for-tensor identical to Liquid's.
  • Importance matrix: 1.5M tokens of decision prompts, 3,206 in all. The states come from the calibration corpora pool (Wikipedia in 30 languages, code, structured files). Each carries yes/no, choice and score questions and is rendered with the model's own prompt code.
  • Decisions: 1,285 questions over the held-out calib-corpora eval/neutral and eval/code texts, none of them in the calibration set. They are answered with the readout above. The scripts are in the metrics repo.
  • Text: llama-perplexity --kl-divergence over eval/neutral , 93 chunks of 4,096 tokens.
  • Setup: an NVIDIA H100 and llama.cpp 18b5f8b for every file.
Model details
  • Base: LiquidAI/d1-3B , a decision model post-trained from LFM2.5-VL-3B: 3.1B parameters, 32K context, a 128K vocabulary and a SigLIP2 vision encoder.
  • License: LFM Open License v1.0; see LICENSE .

Runs of AtomicChat d1-3B-GGUF on huggingface.co

1.8K
Total runs
0
24-hour runs
255
3-day runs
988
7-day runs
988
30-day runs

More Information About d1-3B-GGUF huggingface.co Model

More d1-3B-GGUF license Visit here:

https://choosealicense.com/licenses/lfm1.0

d1-3B-GGUF huggingface.co

d1-3B-GGUF huggingface.co is an AI model on huggingface.co that provides d1-3B-GGUF's model effect (), which can be used instantly with this AtomicChat d1-3B-GGUF model. huggingface.co supports a free trial of the d1-3B-GGUF model, and also provides paid use of the d1-3B-GGUF. Support call d1-3B-GGUF model through api, including Node.js, Python, http.

AtomicChat d1-3B-GGUF online free

d1-3B-GGUF huggingface.co is an online trial and call api platform, which integrates d1-3B-GGUF's modeling effects, including api services, and provides a free online trial of d1-3B-GGUF, you can try d1-3B-GGUF online for free by clicking the link below.

AtomicChat d1-3B-GGUF online free url in huggingface.co:

https://huggingface.co/AtomicChat/d1-3B-GGUF

d1-3B-GGUF install

d1-3B-GGUF is an open source model from GitHub that offers a free installation service, and any user can find d1-3B-GGUF on GitHub to install. At the same time, huggingface.co provides the effect of d1-3B-GGUF install, users can directly use d1-3B-GGUF installed effect in huggingface.co for debugging and trial. It also supports api for free installation.

d1-3B-GGUF install url in huggingface.co:

https://huggingface.co/AtomicChat/d1-3B-GGUF

Url of d1-3B-GGUF

Provider of d1-3B-GGUF huggingface.co

AtomicChat
ORGANIZATIONS

Other API from AtomicChat

huggingface.co

Total runs: 137
Run Growth: -252
Growth Rate: -176.22%
Updated:July 23 2026