bartowski/Ling-3.0-flash-Fin-GGUF
Llamacpp imatrix Quantizations of Ling-3.0-flash-Fin by inclusionAI
Using <a href="https://github.com/ggml-org/llama.cpp/">llama.cpp</a> release <a href="https://github.com/ggml-org/llama.cpp/releases/tag/b10776">b10776</a> for quantization.
Original model: https://huggingface.co/inclusionAI/Ling-3.0-flash-Fin
Model details:
- Parameter count: 127B
- Input support: text
- Speculative decoding: yes (MTP) - details
- imatrix: yes - details
Prompt format
<role>SYSTEM</role>{system_prompt}
detailed thinking on<|role_end|><role>HUMAN</role>{prompt}<|role_end|><role>ASSISTANT</role>
<think>Don't know which to choose? Grab Q4_K_M (77.80GB) - usually a good mix of size and performance. Download instructions available here
Available files:
Download a specific file:
hf download bartowski/Ling-3.0-flash-Fin-GGUF --include "Ling-3.0-flash-Fin-Q4_K_M/*" --local-dir ./Downloading using the Hugging Face CLI
<details> <summary>Click to view download instructions</summary>
First, make sure you have the Hugging Face CLI installed:
pip install -U "huggingface_hub[cli]"Download a specific file:
hf download bartowski/Ling-3.0-flash-Fin-GGUF --include "Ling-3.0-flash-Fin-Q4_K_M/*" --local-dir ./The files marked true in the Split column above are stored as multiple parts in a folder. To download all the parts to a local folder, run:
hf download bartowski/Ling-3.0-flash-Fin-GGUF --include "Ling-3.0-flash-Fin-Q8_0/*" --local-dir ./You can either specify a new local-dir (Ling-3.0-flash-Fin-Q8_0) or download them all in place (./)
</details>
How to run
These quants run with llama.cpp - installable in one line via llama.app:
curl -LsSf https://llama.app/install.sh | sh
llama-server -hf bartowski/Ling-3.0-flash-Fin-GGUF:Q4_K_Mllama-server includes a built-in chat web UI, served at http://localhost:8080 by default.
These quants were made with llama.cpp release b10776 - if this model's architecture is newly supported, you'll need that release or newer to run them.
They also work in: LM Studio · koboldcpp · ramalama · Jan AI · Text Generation Web UI · LoLLMs · Atomic Chat
MTP
This model has MTP (Multi-Token Prediction) layers, and they are included in these quants
MTP layers act as a built-in draft model, letting llama.cpp run speculative decoding for faster generation. To use them, add the following flag to your llama.cpp command:
--spec-type draft-mtpNote: the MTP layers are stored at Q40 in the imatrix quants (except for the Q80 quant), since imatrix calibration does not exercise them. Q4_0 is chosen for its speed which massively benefits MTP performance.
imatrix
All quants made using imatrix option, with a calibration corpus rendered through this model's own chat template. The corpus pairs plain prose with tool-calling and reasoning conversations (corpus source data), encoded exactly as this model sees them at inference and processed with --parse-special, so chat-format special tokens contribute to the importance matrix. The corpus rendered for this model is included in this repo: Ling-3.0-flash-Fin-calibration-v6.txt. The imatrix is available here: Ling-3.0-flash-Fin-imatrix.gguf.
<details> <summary>Calibration render details</summary>
{
"generator": "auto_quant_v2 calibration renderer",
"recipe": "calibration-v6",
"model": "Ling-3.0-flash-Fin",
"encoder": "chat_template",
"chunk_size": 512,
"prose_chunks": 220,
"tool_chunks": 345,
"total_chunks": 565,
"tool_chunk_fraction": 0.611,
"n_conversations": 137,
"extension_convs_used": 0,
"conversation_token_lengths": [
523,
1594,
1193,
1476,
1046,
1300,
3127,
754,
1163,
1353,
1019,
2059,
836,
1200,
2755,
1189,
1099,
948,
694,
677,
1326,
990,
1308,
1167,
1839,
1463,
1601,
844,
1376,
1604,
1472,
1161,
1211,
1003,
1019,
1650,
1619,
1147,
433,
1912,
1392,
1048,
1355,
1973,
2023,
1230,
1569,
824,
2903,
1063,
2811,
723,
955,
915,
924,
655,
2396,
840,
1100,
1045,
1166,
1133,
868,
1151,
1114,
1530,
873,
1483,
2099,
803,
333,
1071,
3285,
2856,
671,
865,
974,
1022,
1244,
1052,
1074,
753,
1152,
983,
1244,
1468,
1321,
2041,
795,
608,
2714,
658,
1345,
1626,
1936,
1168,
581,
1336,
1136,
1653,
1759,
1625,
782,
961,
976,
2730,
697,
679,
709,
1354,
1011,
1544,
731,
361,
327,
2569,
947,
1085,
1815,
1970,
2651,
2644,
759,
931,
797,
884,
1190,
944,
809,
1266,
793,
668,
1711,
965,
880,
1240,
1409
],
"warnings": []
}</details>
Embed/output weights
Some of these quants (Q3KXL, Q4KL etc) are the standard quantization method with the embeddings and output weights quantized to Q8_0 instead of what they would normally default to.
ARM/AVX information
llama.cpp automatically "repacks" weights into an interleaved layout at load time for faster inference on ARM and AVX machines - details in this PR. This once required downloading special Q4044/48/88 files; those are long gone. Online repacking now covers Q40, IQ4_NL, and most K-quants, so no special quant choice is needed for CPU inference.
Which file should I choose?
<details> <summary>Click here for details</summary>
An older (early 2024) but still useful write-up with charts comparing quant performances is provided by Artefact2 here
The first thing to figure out is how big a model you can run. To do this, you'll need to figure out how much RAM and/or VRAM you have.
If you want your model running as FAST as possible, you'll want to fit the whole thing on your GPU's VRAM. Aim for a quant with a file size 1-2GB smaller than your GPU's total VRAM.
If you want the absolute maximum quality, add both your system RAM and your GPU's VRAM together, then similarly grab a quant with a file size 1-2GB Smaller than that total.
Hugging Face can also do this math for you: add your hardware in your Local Apps settings and the model page will show which files fit.
Next, you'll need to decide if you want to use an 'I-quant' or a 'K-quant'.
If you don't want to think too much, grab one of the K-quants. These are in format 'QXKX', like Q5KM.
If you want to get more into the weeds, you can check out this extremely useful feature chart:
But basically, if you're aiming for below Q4, and you're running cuBLAS (Nvidia) or rocBLAS (AMD), you should look towards the I-quants. These are in format IQXX, like IQ3M. These are newer and offer better performance for their size.
These I-quants can also be used on CPU, but will be slower than their K-quant equivalent, so speed vs performance is a tradeoff you'll have to decide.
</details>
Credits
Thank you kalomaze and Dampf for assistance in creating the imatrix calibration dataset.
Thank you ZeroWw for the inspiration to experiment with embed/output.
Want to support my work? Visit my ko-fi page here: https://ko-fi.com/bartowski
