commit 76be5b268d1266fd548514f46dbc4c4c46ca4fb0 Author: ModelHub XC Date: Mon Oct 12 01:54:13 2026 +0800 初始化项目,由ModelHub XC社区提供模型 Model: bartowski/PowerInfer_SmallThinker-4BA0.6B-Instruct-GGUF Source: Original Platform diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..53d7257 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,47 @@ +*.7z filter=lfs diff=lfs merge=lfs -text +*.arrow filter=lfs diff=lfs merge=lfs -text +*.bin filter=lfs diff=lfs merge=lfs -text +*.bin.* filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.ftz filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.h5 filter=lfs diff=lfs merge=lfs -text +*.joblib filter=lfs diff=lfs merge=lfs -text +*.lfs.* filter=lfs diff=lfs merge=lfs -text +*.model filter=lfs diff=lfs merge=lfs -text +*.msgpack filter=lfs diff=lfs merge=lfs -text +*.onnx filter=lfs diff=lfs merge=lfs -text +*.ot filter=lfs diff=lfs merge=lfs -text +*.parquet filter=lfs diff=lfs merge=lfs -text +*.pb filter=lfs diff=lfs merge=lfs -text +*.pt filter=lfs diff=lfs merge=lfs -text +*.pth filter=lfs diff=lfs merge=lfs -text +*.rar filter=lfs diff=lfs merge=lfs -text +saved_model/**/* filter=lfs diff=lfs merge=lfs -text +*.tar.* filter=lfs diff=lfs merge=lfs -text +*.tflite filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zstandard filter=lfs diff=lfs merge=lfs -text +*.tfevents* filter=lfs diff=lfs merge=lfs -text +*.db* filter=lfs diff=lfs merge=lfs -text +*.ark* filter=lfs diff=lfs merge=lfs -text +**/*ckpt*data* filter=lfs diff=lfs merge=lfs -text +**/*ckpt*.meta filter=lfs diff=lfs merge=lfs -text +**/*ckpt*.index filter=lfs diff=lfs merge=lfs -text +*.safetensors filter=lfs diff=lfs merge=lfs -text +*.ckpt filter=lfs diff=lfs merge=lfs -text +*.gguf* filter=lfs diff=lfs merge=lfs -text +*.ggml filter=lfs diff=lfs merge=lfs -text +*.llamafile* filter=lfs diff=lfs merge=lfs -text +*.pt2 filter=lfs diff=lfs merge=lfs -text +*.mlmodel filter=lfs diff=lfs merge=lfs -text +*.npy filter=lfs diff=lfs merge=lfs -text +*.npz filter=lfs diff=lfs merge=lfs -text +*.pickle filter=lfs diff=lfs merge=lfs -text +*.pkl filter=lfs diff=lfs merge=lfs -text +*.tar filter=lfs diff=lfs merge=lfs -text +*.wasm filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text +*tfevents* filter=lfs diff=lfs merge=lfs -text \ No newline at end of file diff --git a/PowerInfer_SmallThinker-4BA0.6B-Instruct-IQ2_M.gguf b/PowerInfer_SmallThinker-4BA0.6B-Instruct-IQ2_M.gguf new file mode 100644 index 0000000..7eb7527 --- /dev/null +++ b/PowerInfer_SmallThinker-4BA0.6B-Instruct-IQ2_M.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eeff79b9f9f5b34eefe42a4cde5fdab5d08857138dc78bacb47ae07fb369167a +size 1485453952 diff --git a/PowerInfer_SmallThinker-4BA0.6B-Instruct-IQ3_M.gguf b/PowerInfer_SmallThinker-4BA0.6B-Instruct-IQ3_M.gguf new file mode 100644 index 0000000..f3059af --- /dev/null +++ b/PowerInfer_SmallThinker-4BA0.6B-Instruct-IQ3_M.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:91fdee23431447b4ff863873714d3e74e75b28b661179886979a53e387789a55 +size 2046504064 diff --git a/PowerInfer_SmallThinker-4BA0.6B-Instruct-IQ3_XS.gguf b/PowerInfer_SmallThinker-4BA0.6B-Instruct-IQ3_XS.gguf new file mode 100644 index 0000000..7dde218 --- /dev/null +++ b/PowerInfer_SmallThinker-4BA0.6B-Instruct-IQ3_XS.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:99903b3174b392d442543017e78ac9e1c4ce4cd216a2f409afb646a961cb8aae +size 1877814400 diff --git a/PowerInfer_SmallThinker-4BA0.6B-Instruct-IQ3_XXS.gguf b/PowerInfer_SmallThinker-4BA0.6B-Instruct-IQ3_XXS.gguf new file mode 100644 index 0000000..f6c939a --- /dev/null +++ b/PowerInfer_SmallThinker-4BA0.6B-Instruct-IQ3_XXS.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ab1ba44844a0933b3851cd2aae2cca24f94bb41de5fc03371d2b0189ee47654a +size 1785477760 diff --git a/PowerInfer_SmallThinker-4BA0.6B-Instruct-IQ4_NL.gguf b/PowerInfer_SmallThinker-4BA0.6B-Instruct-IQ4_NL.gguf new file mode 100644 index 0000000..d2909bd --- /dev/null +++ b/PowerInfer_SmallThinker-4BA0.6B-Instruct-IQ4_NL.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1326ee4f4c111729938fb30dc40e9f81778d624261aed5aa8d4caac2e29dfe5f +size 2490179200 diff --git a/PowerInfer_SmallThinker-4BA0.6B-Instruct-IQ4_XS.gguf b/PowerInfer_SmallThinker-4BA0.6B-Instruct-IQ4_XS.gguf new file mode 100644 index 0000000..e98c3f5 --- /dev/null +++ b/PowerInfer_SmallThinker-4BA0.6B-Instruct-IQ4_XS.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:710f929a8fffc09701d4006eacfd9ebe3cbf557f5559e820a2bd626027398a23 +size 2367280768 diff --git a/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q2_K.gguf b/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q2_K.gguf new file mode 100644 index 0000000..5019e19 --- /dev/null +++ b/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q2_K.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:66f6d45bda665d3b9be71212893dd8d3ecf888d4bbc97b9e6fb9eecbd4cd1cf4 +size 1628209792 diff --git a/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q2_K_L.gguf b/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q2_K_L.gguf new file mode 100644 index 0000000..c7a3ca1 --- /dev/null +++ b/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q2_K_L.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2e5b0cce554aaaff058c791db38a990a1ab9ccd3baf89789d56ef9edb4c8c9a6 +size 1856113792 diff --git a/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q3_K_L.gguf b/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q3_K_L.gguf new file mode 100644 index 0000000..1aa0bac --- /dev/null +++ b/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q3_K_L.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c9ed297adc05656e6563cb86e60e9ebb25c20b592575142f5593a4126b54c4fc +size 2104110208 diff --git a/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q3_K_M.gguf b/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q3_K_M.gguf new file mode 100644 index 0000000..f13fe55 --- /dev/null +++ b/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q3_K_M.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dd5ca140fdd8b2fb1775d6ccf1ef9a69ba6fca0750827e46f4da5eee34329900 +size 2046602368 diff --git a/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q3_K_S.gguf b/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q3_K_S.gguf new file mode 100644 index 0000000..201a240 --- /dev/null +++ b/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q3_K_S.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f1b24722e9be59b685bdc56452b2e22fc4c1a45ea17603e3c8242c7b9bde5cd +size 1964616832 diff --git a/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q3_K_XL.gguf b/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q3_K_XL.gguf new file mode 100644 index 0000000..9bfa728 --- /dev/null +++ b/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q3_K_XL.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8fbad32fc7a176c700c5f0453dcbf3f4985ebf3ef01290e48066873592ae1e51 +size 2308312192 diff --git a/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q4_0.gguf b/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q4_0.gguf new file mode 100644 index 0000000..7962662 --- /dev/null +++ b/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q4_0.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:563c99cc38f56d1954b3aa5b992248001a14a08bf3c2bdac33648c34592dbe69 +size 2516917888 diff --git a/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q4_1.gguf b/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q4_1.gguf new file mode 100644 index 0000000..d38a13c --- /dev/null +++ b/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q4_1.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e02e58508f387729a2178295951396bd69cc418afdf3b8f6a61c234c92737ec7 +size 2730471040 diff --git a/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q4_K_L.gguf b/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q4_K_L.gguf new file mode 100644 index 0000000..3d09d43 --- /dev/null +++ b/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q4_K_L.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:90d75848333a4b6bd7d84490ef85fe4b16a96cdb96a6cfb791b5fecdafc39c78 +size 2819148928 diff --git a/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q4_K_M.gguf b/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q4_K_M.gguf new file mode 100644 index 0000000..6604714 --- /dev/null +++ b/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q4_K_M.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f1ee3defe19e937f3d4994aefe22b835cecf61f15ad16b9f00f28c3f64ed7b0a +size 2645941888 diff --git a/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q4_K_S.gguf b/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q4_K_S.gguf new file mode 100644 index 0000000..8c5f1f9 --- /dev/null +++ b/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q4_K_S.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:432ab87caf413fc389bd53b6037c42aa9e2c3a06e723a86bfec560be5e35f62e +size 2564300416 diff --git a/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q5_K_L.gguf b/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q5_K_L.gguf new file mode 100644 index 0000000..2fbc6a4 --- /dev/null +++ b/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q5_K_L.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:017f061a5b0afd9823b1944e8043ba32f3160979753d6ecb1290252b4eee6592 +size 3206859904 diff --git a/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q5_K_M.gguf b/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q5_K_M.gguf new file mode 100644 index 0000000..f891b02 --- /dev/null +++ b/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q5_K_M.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f10d64512b9946cb2a03f114d1719b6397b1861460d2b4e823b64737ed5fe454 +size 3062824576 diff --git a/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q5_K_S.gguf b/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q5_K_S.gguf new file mode 100644 index 0000000..3144169 --- /dev/null +++ b/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q5_K_S.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b3ec5a6328adcada753dfcc0e043db5dbb61c2face6a2a9b48b4babdfbf49dc +size 2981772928 diff --git a/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q6_K.gguf b/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q6_K.gguf new file mode 100644 index 0000000..98023d3 --- /dev/null +++ b/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q6_K.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd1978e5529016ff2769ecbf9ee317ab0eb5e89fe417bd78f7e7b721a87cfb0c +size 3515789440 diff --git a/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q6_K_L.gguf b/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q6_K_L.gguf new file mode 100644 index 0000000..6d23710 --- /dev/null +++ b/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q6_K_L.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c1f2a1d9c7bce28facafc1fd2fb309c0f971a764b0015360b49eb1691ee16545 +size 3628829824 diff --git a/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q8_0.gguf b/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q8_0.gguf new file mode 100644 index 0000000..51aaecc --- /dev/null +++ b/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q8_0.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9bb022d5229f2de1a86045e75bda113fc5fd295a56f199ddc55c96eea84a26f5 +size 4546104448 diff --git a/PowerInfer_SmallThinker-4BA0.6B-Instruct-bf16.gguf b/PowerInfer_SmallThinker-4BA0.6B-Instruct-bf16.gguf new file mode 100644 index 0000000..7d8fb87 --- /dev/null +++ b/PowerInfer_SmallThinker-4BA0.6B-Instruct-bf16.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:872aec935914d9391bd89dc0fd3d2677d2e4128c63b8b142e134c0f9d2b430c7 +size 8546216768 diff --git a/PowerInfer_SmallThinker-4BA0.6B-Instruct-imatrix.gguf b/PowerInfer_SmallThinker-4BA0.6B-Instruct-imatrix.gguf new file mode 100644 index 0000000..f11e161 --- /dev/null +++ b/PowerInfer_SmallThinker-4BA0.6B-Instruct-imatrix.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0df2a9f44764191880546437c355b1c7dc53fec91be9885bbf88fe611ebb3388 +size 16763072 diff --git a/README.md b/README.md new file mode 100644 index 0000000..3c8b30d --- /dev/null +++ b/README.md @@ -0,0 +1,170 @@ +--- +quantized_by: bartowski +pipeline_tag: text-generation +base_model_relation: quantized +base_model: PowerInfer/SmallThinker-4BA0.6B-Instruct +--- + +## Llamacpp imatrix Quantizations of SmallThinker-4BA0.6B-Instruct by PowerInfer + +Using llama.cpp release b6012 for quantization. + +Original model: https://huggingface.co/PowerInfer/SmallThinker-4BA0.6B-Instruct + +All quants made using imatrix option with dataset from [here](https://gist.github.com/bartowski1182/eb213dccb3571f863da82e99418f81e8) + +Run them in [LM Studio](https://lmstudio.ai/) + +Run them directly with [llama.cpp](https://github.com/ggerganov/llama.cpp), or any other llama.cpp based project + +## Prompt format + +``` +<|im_start|>system +{system_prompt}<|im_end|> +<|im_start|>user +{prompt}<|im_end|> +<|im_start|>assistant +``` + +## Download a file (not the whole branch) from below: + +| Filename | Quant type | File Size | Split | Description | +| -------- | ---------- | --------- | ----- | ----------- | +| [SmallThinker-4BA0.6B-Instruct-bf16.gguf](https://huggingface.co/bartowski/PowerInfer_SmallThinker-4BA0.6B-Instruct-GGUF/blob/main/PowerInfer_SmallThinker-4BA0.6B-Instruct-bf16.gguf) | bf16 | 8.55GB | false | Full BF16 weights. | +| [SmallThinker-4BA0.6B-Instruct-Q8_0.gguf](https://huggingface.co/bartowski/PowerInfer_SmallThinker-4BA0.6B-Instruct-GGUF/blob/main/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q8_0.gguf) | Q8_0 | 4.55GB | false | Extremely high quality, generally unneeded but max available quant. | +| [SmallThinker-4BA0.6B-Instruct-Q6_K_L.gguf](https://huggingface.co/bartowski/PowerInfer_SmallThinker-4BA0.6B-Instruct-GGUF/blob/main/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q6_K_L.gguf) | Q6_K_L | 3.63GB | false | Uses Q8_0 for embed and output weights. Very high quality, near perfect, *recommended*. | +| [SmallThinker-4BA0.6B-Instruct-Q6_K.gguf](https://huggingface.co/bartowski/PowerInfer_SmallThinker-4BA0.6B-Instruct-GGUF/blob/main/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q6_K.gguf) | Q6_K | 3.52GB | false | Very high quality, near perfect, *recommended*. | +| [SmallThinker-4BA0.6B-Instruct-Q5_K_L.gguf](https://huggingface.co/bartowski/PowerInfer_SmallThinker-4BA0.6B-Instruct-GGUF/blob/main/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q5_K_L.gguf) | Q5_K_L | 3.21GB | false | Uses Q8_0 for embed and output weights. High quality, *recommended*. | +| [SmallThinker-4BA0.6B-Instruct-Q5_K_M.gguf](https://huggingface.co/bartowski/PowerInfer_SmallThinker-4BA0.6B-Instruct-GGUF/blob/main/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q5_K_M.gguf) | Q5_K_M | 3.06GB | false | High quality, *recommended*. | +| [SmallThinker-4BA0.6B-Instruct-Q5_K_S.gguf](https://huggingface.co/bartowski/PowerInfer_SmallThinker-4BA0.6B-Instruct-GGUF/blob/main/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q5_K_S.gguf) | Q5_K_S | 2.98GB | false | High quality, *recommended*. | +| [SmallThinker-4BA0.6B-Instruct-Q4_K_L.gguf](https://huggingface.co/bartowski/PowerInfer_SmallThinker-4BA0.6B-Instruct-GGUF/blob/main/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q4_K_L.gguf) | Q4_K_L | 2.82GB | false | Uses Q8_0 for embed and output weights. Good quality, *recommended*. | +| [SmallThinker-4BA0.6B-Instruct-Q4_1.gguf](https://huggingface.co/bartowski/PowerInfer_SmallThinker-4BA0.6B-Instruct-GGUF/blob/main/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q4_1.gguf) | Q4_1 | 2.73GB | false | Legacy format, similar performance to Q4_K_S but with improved tokens/watt on Apple silicon. | +| [SmallThinker-4BA0.6B-Instruct-Q4_K_M.gguf](https://huggingface.co/bartowski/PowerInfer_SmallThinker-4BA0.6B-Instruct-GGUF/blob/main/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q4_K_M.gguf) | Q4_K_M | 2.65GB | false | Good quality, default size for most use cases, *recommended*. | +| [SmallThinker-4BA0.6B-Instruct-Q4_K_S.gguf](https://huggingface.co/bartowski/PowerInfer_SmallThinker-4BA0.6B-Instruct-GGUF/blob/main/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q4_K_S.gguf) | Q4_K_S | 2.56GB | false | Slightly lower quality with more space savings, *recommended*. | +| [SmallThinker-4BA0.6B-Instruct-Q4_0.gguf](https://huggingface.co/bartowski/PowerInfer_SmallThinker-4BA0.6B-Instruct-GGUF/blob/main/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q4_0.gguf) | Q4_0 | 2.52GB | false | Legacy format, offers online repacking for ARM and AVX CPU inference. | +| [SmallThinker-4BA0.6B-Instruct-IQ4_NL.gguf](https://huggingface.co/bartowski/PowerInfer_SmallThinker-4BA0.6B-Instruct-GGUF/blob/main/PowerInfer_SmallThinker-4BA0.6B-Instruct-IQ4_NL.gguf) | IQ4_NL | 2.49GB | false | Similar to IQ4_XS, but slightly larger. Offers online repacking for ARM CPU inference. | +| [SmallThinker-4BA0.6B-Instruct-IQ4_XS.gguf](https://huggingface.co/bartowski/PowerInfer_SmallThinker-4BA0.6B-Instruct-GGUF/blob/main/PowerInfer_SmallThinker-4BA0.6B-Instruct-IQ4_XS.gguf) | IQ4_XS | 2.37GB | false | Decent quality, smaller than Q4_K_S with similar performance, *recommended*. | +| [SmallThinker-4BA0.6B-Instruct-Q3_K_XL.gguf](https://huggingface.co/bartowski/PowerInfer_SmallThinker-4BA0.6B-Instruct-GGUF/blob/main/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q3_K_XL.gguf) | Q3_K_XL | 2.31GB | false | Uses Q8_0 for embed and output weights. Lower quality but usable, good for low RAM availability. | +| [SmallThinker-4BA0.6B-Instruct-Q3_K_L.gguf](https://huggingface.co/bartowski/PowerInfer_SmallThinker-4BA0.6B-Instruct-GGUF/blob/main/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q3_K_L.gguf) | Q3_K_L | 2.10GB | false | Lower quality but usable, good for low RAM availability. | +| [SmallThinker-4BA0.6B-Instruct-Q3_K_M.gguf](https://huggingface.co/bartowski/PowerInfer_SmallThinker-4BA0.6B-Instruct-GGUF/blob/main/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q3_K_M.gguf) | Q3_K_M | 2.05GB | false | Low quality. | +| [SmallThinker-4BA0.6B-Instruct-IQ3_M.gguf](https://huggingface.co/bartowski/PowerInfer_SmallThinker-4BA0.6B-Instruct-GGUF/blob/main/PowerInfer_SmallThinker-4BA0.6B-Instruct-IQ3_M.gguf) | IQ3_M | 2.05GB | false | Medium-low quality, new method with decent performance comparable to Q3_K_M. | +| [SmallThinker-4BA0.6B-Instruct-Q3_K_S.gguf](https://huggingface.co/bartowski/PowerInfer_SmallThinker-4BA0.6B-Instruct-GGUF/blob/main/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q3_K_S.gguf) | Q3_K_S | 1.96GB | false | Low quality, not recommended. | +| [SmallThinker-4BA0.6B-Instruct-IQ3_XS.gguf](https://huggingface.co/bartowski/PowerInfer_SmallThinker-4BA0.6B-Instruct-GGUF/blob/main/PowerInfer_SmallThinker-4BA0.6B-Instruct-IQ3_XS.gguf) | IQ3_XS | 1.88GB | false | Lower quality, new method with decent performance, slightly better than Q3_K_S. | +| [SmallThinker-4BA0.6B-Instruct-Q2_K_L.gguf](https://huggingface.co/bartowski/PowerInfer_SmallThinker-4BA0.6B-Instruct-GGUF/blob/main/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q2_K_L.gguf) | Q2_K_L | 1.86GB | false | Uses Q8_0 for embed and output weights. Very low quality but surprisingly usable. | +| [SmallThinker-4BA0.6B-Instruct-IQ3_XXS.gguf](https://huggingface.co/bartowski/PowerInfer_SmallThinker-4BA0.6B-Instruct-GGUF/blob/main/PowerInfer_SmallThinker-4BA0.6B-Instruct-IQ3_XXS.gguf) | IQ3_XXS | 1.79GB | false | Lower quality, new method with decent performance, comparable to Q3 quants. | +| [SmallThinker-4BA0.6B-Instruct-Q2_K.gguf](https://huggingface.co/bartowski/PowerInfer_SmallThinker-4BA0.6B-Instruct-GGUF/blob/main/PowerInfer_SmallThinker-4BA0.6B-Instruct-Q2_K.gguf) | Q2_K | 1.63GB | false | Very low quality but surprisingly usable. | +| [SmallThinker-4BA0.6B-Instruct-IQ2_M.gguf](https://huggingface.co/bartowski/PowerInfer_SmallThinker-4BA0.6B-Instruct-GGUF/blob/main/PowerInfer_SmallThinker-4BA0.6B-Instruct-IQ2_M.gguf) | IQ2_M | 1.49GB | false | Relatively low quality, uses SOTA techniques to be surprisingly usable. | + +## Embed/output weights + +Some of these quants (Q3_K_XL, Q4_K_L etc) are the standard quantization method with the embeddings and output weights quantized to Q8_0 instead of what they would normally default to. + +## Downloading using huggingface-cli + +
+ Click to view download instructions + +First, make sure you have hugginface-cli installed: + +``` +pip install -U "huggingface_hub[cli]" +``` + +Then, you can target the specific file you want: + +``` +huggingface-cli download bartowski/PowerInfer_SmallThinker-4BA0.6B-Instruct-GGUF --include "PowerInfer_SmallThinker-4BA0.6B-Instruct-Q4_K_M.gguf" --local-dir ./ +``` + +If the model is bigger than 50GB, it will have been split into multiple files. In order to download them all to a local folder, run: + +``` +huggingface-cli download bartowski/PowerInfer_SmallThinker-4BA0.6B-Instruct-GGUF --include "PowerInfer_SmallThinker-4BA0.6B-Instruct-Q8_0/*" --local-dir ./ +``` + +You can either specify a new local-dir (PowerInfer_SmallThinker-4BA0.6B-Instruct-Q8_0) or download them all in place (./) + +
+ +## ARM/AVX information + +Previously, you would download Q4_0_4_4/4_8/8_8, and these would have their weights interleaved in memory in order to improve performance on ARM and AVX machines by loading up more data in one pass. + +Now, however, there is something called "online repacking" for weights. details in [this PR](https://github.com/ggerganov/llama.cpp/pull/9921). If you use Q4_0 and your hardware would benefit from repacking weights, it will do it automatically on the fly. + +As of llama.cpp build [b4282](https://github.com/ggerganov/llama.cpp/releases/tag/b4282) you will not be able to run the Q4_0_X_X files and will instead need to use Q4_0. + +Additionally, if you want to get slightly better quality for , you can use IQ4_NL thanks to [this PR](https://github.com/ggerganov/llama.cpp/pull/10541) which will also repack the weights for ARM, though only the 4_4 for now. The loading time may be slower but it will result in an overall speed incrase. + +
+ Click to view Q4_0_X_X information (deprecated + +I'm keeping this section to show the potential theoretical uplift in performance from using the Q4_0 with online repacking. + +
+ Click to view benchmarks on an AVX2 system (EPYC7702) + +| model | size | params | backend | threads | test | t/s | % (vs Q4_0) | +| ------------------------------ | ---------: | ---------: | ---------- | ------: | ------------: | -------------------: |-------------: | +| qwen2 3B Q4_0 | 1.70 GiB | 3.09 B | CPU | 64 | pp512 | 204.03 ± 1.03 | 100% | +| qwen2 3B Q4_0 | 1.70 GiB | 3.09 B | CPU | 64 | pp1024 | 282.92 ± 0.19 | 100% | +| qwen2 3B Q4_0 | 1.70 GiB | 3.09 B | CPU | 64 | pp2048 | 259.49 ± 0.44 | 100% | +| qwen2 3B Q4_0 | 1.70 GiB | 3.09 B | CPU | 64 | tg128 | 39.12 ± 0.27 | 100% | +| qwen2 3B Q4_0 | 1.70 GiB | 3.09 B | CPU | 64 | tg256 | 39.31 ± 0.69 | 100% | +| qwen2 3B Q4_0 | 1.70 GiB | 3.09 B | CPU | 64 | tg512 | 40.52 ± 0.03 | 100% | +| qwen2 3B Q4_K_M | 1.79 GiB | 3.09 B | CPU | 64 | pp512 | 301.02 ± 1.74 | 147% | +| qwen2 3B Q4_K_M | 1.79 GiB | 3.09 B | CPU | 64 | pp1024 | 287.23 ± 0.20 | 101% | +| qwen2 3B Q4_K_M | 1.79 GiB | 3.09 B | CPU | 64 | pp2048 | 262.77 ± 1.81 | 101% | +| qwen2 3B Q4_K_M | 1.79 GiB | 3.09 B | CPU | 64 | tg128 | 18.80 ± 0.99 | 48% | +| qwen2 3B Q4_K_M | 1.79 GiB | 3.09 B | CPU | 64 | tg256 | 24.46 ± 3.04 | 83% | +| qwen2 3B Q4_K_M | 1.79 GiB | 3.09 B | CPU | 64 | tg512 | 36.32 ± 3.59 | 90% | +| qwen2 3B Q4_0_8_8 | 1.69 GiB | 3.09 B | CPU | 64 | pp512 | 271.71 ± 3.53 | 133% | +| qwen2 3B Q4_0_8_8 | 1.69 GiB | 3.09 B | CPU | 64 | pp1024 | 279.86 ± 45.63 | 100% | +| qwen2 3B Q4_0_8_8 | 1.69 GiB | 3.09 B | CPU | 64 | pp2048 | 320.77 ± 5.00 | 124% | +| qwen2 3B Q4_0_8_8 | 1.69 GiB | 3.09 B | CPU | 64 | tg128 | 43.51 ± 0.05 | 111% | +| qwen2 3B Q4_0_8_8 | 1.69 GiB | 3.09 B | CPU | 64 | tg256 | 43.35 ± 0.09 | 110% | +| qwen2 3B Q4_0_8_8 | 1.69 GiB | 3.09 B | CPU | 64 | tg512 | 42.60 ± 0.31 | 105% | + +Q4_0_8_8 offers a nice bump to prompt processing and a small bump to text generation + +
+ +
+ +## Which file should I choose? + +
+ Click here for details + +A great write up with charts showing various performances is provided by Artefact2 [here](https://gist.github.com/Artefact2/b5f810600771265fc1e39442288e8ec9) + +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. + +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 'QX_K_X', like Q5_K_M. + +If you want to get more into the weeds, you can check out this extremely useful feature chart: + +[llama.cpp feature matrix](https://github.com/ggerganov/llama.cpp/wiki/Feature-matrix) + +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 IQX_X, like IQ3_M. 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. + +
+ +## 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. + +Thank you to LM Studio for sponsoring my work. + +Want to support my work? Visit my ko-fi page here: https://ko-fi.com/bartowski diff --git a/configuration.json b/configuration.json new file mode 100644 index 0000000..bbeeda1 --- /dev/null +++ b/configuration.json @@ -0,0 +1 @@ +{"framework": "pytorch", "task": "text-generation", "allow_remote": true} \ No newline at end of file