webmp3/Sakura-d1-omni-600M-HighQuality-GGUF

来源:🤗image-text-to-textlfm1.01.8 GBGGUF✓ 9 个校验和12 天前更新
或提交种子

Sakura d1-omni-600M HighQuality GGUF

Modified files. These GGUF files are quantized, modified versions of LiquidAI/d1-omni-600M (the weights Liquid published on 7 October 2026). The weights were converted and compressed; nothing was retrained. Community build, not from or endorsed by Liquid AI. Used under the LFM Open License v1.0, a copy is in LICENSE.

Four GGUF files of Liquid AI's 587M-parameter decision model from 235 to 346 MB. Each tensor group gets its own precision, chosen from a measurement of how much each group costs in decision quality. The importance matrix comes from decision prompts in many languages and code.

Pick a file

Measured on 1,285 decisions (yes/no, choice and score questions over held-out texts in 30 languages and code) against the unquantized model (F32 GGUF, run through the same llama.cpp). changed answers counts decisions where the top option differs from the original. option drift is the mean total variation distance between the option probabilities (0 means identical); KLD is the mean KL divergence of the option distributions.

File Size changed answers same answer option drift KLD
d1-omni-600M-Sakura-HQ-S.gguf 235 MB 91 92.9% 0.0474 0.01458
d1-omni-600M-Sakura-HQ-Q4.gguf 255 MB 85 93.4% 0.0373 0.00820
d1-omni-600M-Sakura-HQ-Q5.gguf 292 MB 53 95.9% 0.0240 0.00350
d1-omni-600M-Sakura-HQ-Q6.gguf 346 MB 30 97.7% 0.0148 0.00133

d1-omni is small, so quantization moves its answers more than it moves d1-3B's: even at Q6 about 2% of the answers change, and below 6 bits you should check the files on your own questions first. For the highest fidelity run the original weights with Liquid's PyTorch code.

For comparison, the BF16 file of the same model changes 6 of the 1,285 answers (drift 0.0029).

Image and speech decisions need a projector: mmproj-d1-omni-600M-Q8_0.gguf (263 MB) or mmproj-d1-omni-600M-BF16.gguf (442 MB). Image and speech decisions are not verified. We did not measure them. One probe (a chart image asked "does the image show a bar chart?") returned a low probability, 0.03 to 0.09, from all four files and also from the BF16 file (0.09), so the quantized files behave like BF16 on that input, but we could not check the answer against Liquid's PyTorch code on this machine and do not know whether the llama.cpp image path itself is right.

Compared with the other published build

AtomicChat published 1,285-decision numbers for their files in AtomicChat/d1-omni-600M-GGUF, measured against the original weights in PyTorch. We rebuilt the same decision set with their published script (same texts, same seed, same questions; 1,285 decisions) but ran it through llama.cpp against an F32 GGUF of the original weights, so their numbers below are as published and the two setups differ slightly. Read differences of a few answers as noise. The comparison under identical conditions is the one in the next paragraph.

Class Ours AtomicChat (as published) Reading
~255 MB HQ-Q4: 255 MB, 85 changed, drift 0.0373 AD-Q4_K_M: 256 MB, 97 changed, drift 0.0500 12% fewer changed answers, 25% lower drift
~292 MB HQ-Q5: 292 MB, 53 changed, drift 0.0240 AD-Q5_K_M: 293 MB, 63 changed, drift 0.0289 16% fewer changed answers, 17% lower drift
~346 MB HQ-Q6: 346 MB, 30 changed, drift 0.0148 AD-Q6_K: 347 MB, 30 changed, drift 0.0150 level
~235 MB HQ-S: 235 MB, 91 changed, drift 0.0474 no file this small still fewer changes and lower drift than their 256 MB Q4 file

To control for the importance matrix, we also built AtomicChat's published layout rules with our own importance matrix and measured them under the same conditions as our files: at 255 to 259 MB 110 to 121 changed answers (ours at 255 MB: 85), at 292 MB 66 (ours: 53), at 346 MB 42 (ours: 30). So at the same size and with the same importance matrix our layouts change fewer answers. At Q6 their published file is on par with ours, which suggests their importance matrix suits that layout slightly better.

How to run

The files carry the decision type lfm2-d1-omni. Support was merged into llama.cpp on 8 October 2026 (ggml-org/llama.cpp#30114), so build b11488 or newer runs them (checked with upstream commit 9c2e0e4, Vulkan; the command below was tested with the longest evaluation state, 782 tokens). Older builds do not know the type and refuse to load the files. The model is a bidirectional encoder, so give the server a physical batch size at least as large as your longest input:

llama-server -m d1-omni-600M-Sakura-HQ-Q5.gguf --mmproj mmproj-d1-omni-600M-Q8_0.gguf -ngl 99 -c 16384 -b 8192 -ub 8192

Then ask typed questions about a state:

curl http://127.0.0.1:8080/v1/systemone -H "Content-Type: application/json" -d '{
  "state": "I was charged twice this month, please refund one of them.",
  "questions": {
    "refund":  {"type": "noul", "instructions": "Is the customer asking for a refund?"},
    "team":    {"type": "choice", "instructions": "Which team should handle this?",
                "criteria": {"billing": "Charges, refunds, invoices", "technical": "App or site faults", "fraud": "Suspected unauthorised use"}}
  }
}'

For the original model with Transformers (trust_remote_code=True), see the Liquid model card.

How these files were made

  1. BF16 and F32 base: converted from LiquidAI/d1-omni-600M with llama.cpp's converter (convert_hf_to_gguf.py, after the d1-omni merge); the projector with --mmproj.
  2. Importance matrix: llama-imatrix on the BF16 file over 256 chunks of 2,048 tokens: decision prompts rendered with the model's own prompt format from public texts (Wikipedia in 30 languages, source code files, English and German question/answer data). Included as imatrix-sakura-d1-omni-multilingual.gguf; it contains statistics only, no text.
  3. Measuring where bits matter: with everything at Q8_0 we moved one tensor group at a time to Q4_K and measured the change on 400 decisions. For this model the attention matrices are by far the most expensive per saved megabyte, then the early blocks 2 to 5; the token table, the decision head and the last two trunk blocks are the cheapest, and the feed-forward matrices sit in between.
  4. Allocation: bits were handed out greedily by that cost per saved megabyte (attention at Q8_0), then built with llama-quantize --imatrix --tensor-type and measured in full.
  5. Checks: every file was measured on all 1,285 decisions and queried through /v1/systemone in llama.cpp. 13 of the 1,285 evaluation decisions share an 80-character span with the calibration texts (same Wikipedia articles); leaving them out changes the changed-answer counts by at most one (S 91 to 90, Q4 85 to 84, Q6 30 to 29) and the drift by less than 0.0002.

Files

SHA256SUMS lists every file. Only the general.* name strings were set after quantization; tensor data was verified identical.

License and credits

Base model: LiquidAI/d1-omni-600M by Liquid AI, released under the LFM Open License v1.0 (LICENSE, included as required). The license limits commercial use by organizations above its revenue threshold; read it before using these files commercially. The files are modified from the original (quantized), as the license requires us to say. llama.cpp support for d1-omni is by Liquid AI and the llama.cpp contributors (pull request #30114). The evaluation protocol is by AtomicChat. Quantization, importance matrix, allocation and measurements by webmp3. Not endorsed by Liquid AI or AtomicChat.


中文说明 · 樱花 (Simplified Chinese)

English above. 本节为上文的中文翻译(Sakura = 樱花 yīnghuā);完整的独立中文版见 README_zh.md。

Sakura d1-omni-600M HighQuality GGUF

已修改的文件。 这些 GGUF 文件是 LiquidAI/d1-omni-600M(即 Liquid 于 2026 年 10 月 7 日发布的权重)经过量化的修改版本。权重经过转换和压缩,没有进行任何再训练。这是社区构建版本,并非来自 Liquid AI,也未获得其认可。依据 LFM Open License v1.0 使用,许可证副本见 LICENSE。

Liquid AI 的 587M 参数决策模型的四个 GGUF 文件,大小从 235 到 346 MB。每个张量组使用各自的精度,该精度根据一项测量来选择:测量每个张量组对决策质量造成的损失。重要性矩阵来自多种语言和代码的决策提示。

如何选择文件

在 1,285 个决策上测量(针对 30 种语言和代码的留出文本的是非题、选择题和打分题),以未量化的模型(F32 GGUF,通过同一个 llama.cpp 运行)为参照。changed answers 统计首选选项与原始模型不同的决策数。option drift 是各选项概率之间的平均总变差距离(0 表示完全相同);KLD 是选项分布的平均 KL 散度。

文件 大小 changed answers same answer option drift KLD
d1-omni-600M-Sakura-HQ-S.gguf 235 MB 91 92.9% 0.0474 0.01458
d1-omni-600M-Sakura-HQ-Q4.gguf 255 MB 85 93.4% 0.0373 0.00820
d1-omni-600M-Sakura-HQ-Q5.gguf 292 MB 53 95.9% 0.0240 0.00350
d1-omni-600M-Sakura-HQ-Q6.gguf 346 MB 30 97.7% 0.0148 0.00133

d1-omni 体积较小,因此量化对它回答的影响大于对 d1-3B 的影响:即使在 Q6,也有约 2% 的回答发生变化;低于 6 比特时,建议先用你自己的问题检查这些文件。若需要最高保真度,请使用原始权重并运行 Liquid 的 PyTorch 代码。

作为对照,同一模型的 BF16 文件会改变 1,285 个回答中的 6 个(drift 0.0029)。

图像和语音决策需要投影器(projector):mmproj-d1-omni-600M-Q8_0.gguf(263 MB)或 mmproj-d1-omni-600M-BF16.gguf(442 MB)。图像和语音决策未经验证。 我们没有测量它们。一次探测(针对一张图表图像提问“图像是否显示柱状图?”)中,四个文件以及 BF16 文件(0.09)都返回了较低的概率,为 0.03 至 0.09,因此量化文件在该输入上的表现与 BF16 一致;但我们无法在这台机器上用 Liquid 的 PyTorch 代码核对该答案,也不知道 llama.cpp 的图像路径本身是否正确。

与另一个已发布构建版本的比较

AtomicChat 在 AtomicChat/d1-omni-600M-GGUF 中发布了其文件在 1,285 个决策上的数据,以 PyTorch 中的原始权重为参照测得。我们用他们发布的脚本重建了同一个决策集(相同的文本、相同的随机种子、相同的问题;1,285 个决策),但通过 llama.cpp 针对原始权重的 F32 GGUF 运行,因此下表中他们的数据是其发布时的原样,两套环境略有不同。几个回答以内的差异请视为噪声。在相同条件下的比较见下一段。

级别 我们的文件 AtomicChat(按其发布数据) 解读
~255 MB HQ-Q4: 255 MB, 85 changed, drift 0.0373 AD-Q4_K_M: 256 MB, 97 changed, drift 0.0500 changed answers 少 12%,drift 低 25%
~292 MB HQ-Q5: 292 MB, 53 changed, drift 0.0240 AD-Q5_K_M: 293 MB, 63 changed, drift 0.0289 changed answers 少 16%,drift 低 17%
~346 MB HQ-Q6: 346 MB, 30 changed, drift 0.0148 AD-Q6_K: 347 MB, 30 changed, drift 0.0150 持平
~235 MB HQ-S: 235 MB, 91 changed, drift 0.0474 没有这么小的文件 仍然比他们 256 MB 的 Q4 文件变化更少、drift 更低

为了排除重要性矩阵的影响,我们还用我们自己的重要性矩阵构建了 AtomicChat 已发布的布局规则,并在与我们的文件相同的条件下测量:在 255 至 259 MB 时有 110 至 121 个 changed answers(我们 255 MB 的文件:85),在 292 MB 时为 66(我们:53),在 346 MB 时为 42(我们:30)。因此在相同大小、相同重要性矩阵的情况下,我们的布局改变的回答更少。在 Q6,他们已发布的文件与我们的相当,这表明他们的重要性矩阵与该布局略为更匹配。

如何运行

这些文件带有决策类型 lfm2-d1-omni。支持已于 2026 年 10 月 8 日合并进 llama.cpp(ggml-org/llama.cpp#30114),因此构建版本 b11488 或更新的版本可以运行它们(已用上游提交 9c2e0e4、Vulkan 检查;下面的命令已用最长的评测状态,即 782 个 token,测试过)。更旧的构建不认识该类型,会拒绝加载这些文件。该模型是双向编码器,因此请给服务器设置一个不小于你最长输入的物理批大小:

llama-server -m d1-omni-600M-Sakura-HQ-Q5.gguf --mmproj mmproj-d1-omni-600M-Q8_0.gguf -ngl 99 -c 16384 -b 8192 -ub 8192

然后针对某个状态提出带类型的问题:

curl http://127.0.0.1:8080/v1/systemone -H "Content-Type: application/json" -d '{
  "state": "I was charged twice this month, please refund one of them.",
  "questions": {
    "refund":  {"type": "noul", "instructions": "Is the customer asking for a refund?"},
    "team":    {"type": "choice", "instructions": "Which team should handle this?",
                "criteria": {"billing": "Charges, refunds, invoices", "technical": "App or site faults", "fraud": "Suspected unauthorised use"}}
  }
}'

若要用 Transformers 运行原始模型(trust_remote_code=True),请参阅 Liquid 模型卡。

这些文件是如何制作的

  1. BF16 和 F32 基础文件: 使用 llama.cpp 的转换器(convert_hf_to_gguf.py,在 d1-omni 合并之后)从 LiquidAI/d1-omni-600M 转换而来;投影器通过 --mmproj 转换。
  2. 重要性矩阵: 在 BF16 文件上运行 llama-imatrix,共 256 个块,每块 2,048 个 token:决策提示以模型自带的提示格式渲染,取材于公开文本(30 种语言的维基百科、源代码文件、英文和德文问答数据)。以 imatrix-sakura-d1-omni-multilingual.gguf 提供;只包含统计信息,不含任何文本。
  3. 测量哪里的比特最重要: 先将所有张量设为 Q8_0,再每次将一个张量组改为 Q4_K,并在 400 个决策上测量变化。对该模型而言,按每节省一兆字节计算,注意力矩阵的代价远高于其他部分,其次是靠前的块 2 至 5;token 表、决策头和主干的最后两个块代价最低,前馈矩阵居中。
  4. 分配: 按每节省一兆字节的代价,以贪心方式分配比特(注意力使用 Q8_0),随后用 llama-quantize --imatrix --tensor-type 构建,并完整测量。
  5. 检查: 每个文件都在全部 1,285 个决策上测量,并通过 llama.cpp 中的 /v1/systemone 进行了查询。1,285 个评测决策中有 13 个与校准文本有 80 字符的重叠片段(相同的维基百科文章);排除它们后,changed answers 的计数最多变化一个(S 91 到 90,Q4 85 到 84,Q6 30 到 29),drift 的变化小于 0.0002。

文件

SHA256SUMS 列出了每个文件。量化之后只设置了 general.* 名称字符串;已核实张量数据一致。

许可证与致谢

基础模型:Liquid AI 的 LiquidAI/d1-omni-600M,以 LFM Open License v1.0 发布(LICENSE,按要求随附)。该许可证限制超过其营收门槛的组织的商业使用;商业使用这些文件之前请先阅读。这些文件相对于原始模型已被修改(量化),这是许可证要求我们说明的。llama.cpp 对 d1-omni 的支持由 Liquid AI 和 llama.cpp 贡献者完成(拉取请求 #30114)。评测协议来自 AtomicChat。量化、重要性矩阵、分配和测量由 webmp3 完成。未获得 Liquid AI 或 AtomicChat 的认可。