legraphista's picture
Update README.md
dbef861 verified
metadata
base_model: THUDM/glm-4-9b-chat-1m
inference: false
language:
  - zh
  - en
library_name: gguf
license: other
license_link: https://huggingface.co/THUDM/glm-4-9b-chat-1m/blob/main/LICENSE
license_name: glm-4
pipeline_tag: text-generation
quantized_by: legraphista
tags:
  - glm
  - chatglm
  - thudm
  - quantized
  - GGUF
  - quantization
  - static
  - 16bit
  - 8bit
  - 6bit
  - 5bit
  - 4bit
  - 3bit
  - 2bit

Caution!
This model is not properly supported yet in llama.cpp and will not work.
See discussion here: https://github.com/ggerganov/llama.cpp/pull/8031#issuecomment-2213635819

glm-4-9b-chat-1m-GGUF

Llama.cpp static quantization of THUDM/glm-4-9b-chat-1m

Original Model: THUDM/glm-4-9b-chat-1m
Original dtype: BF16 (bfloat16)
Quantized by: https://github.com/ggerganov/llama.cpp/pull/6999
IMatrix dataset: here


Files

Common Quants

Filename Quant type File Size Status Uses IMatrix Is Split
glm-4-9b-chat-1m.Q8_0.gguf Q8_0 10.08GB โœ… Available โšช Static ๐Ÿ“ฆ No
glm-4-9b-chat-1m.Q6_K.gguf Q6_K 8.33GB โœ… Available โšช Static ๐Ÿ“ฆ No
glm-4-9b-chat-1m.Q4_K.gguf Q4_K 6.31GB โœ… Available โšช Static ๐Ÿ“ฆ No
glm-4-9b-chat-1m.Q3_K.gguf Q3_K 5.11GB โœ… Available โšช Static ๐Ÿ“ฆ No
glm-4-9b-chat-1m.Q2_K.gguf Q2_K 4.02GB โœ… Available โšช Static ๐Ÿ“ฆ No

All Quants

Filename Quant type File Size Status Uses IMatrix Is Split
glm-4-9b-chat-1m.BF16.gguf BF16 18.97GB โœ… Available โšช Static ๐Ÿ“ฆ No
glm-4-9b-chat-1m.FP16.gguf F16 18.97GB โœ… Available โšช Static ๐Ÿ“ฆ No
glm-4-9b-chat-1m.Q8_0.gguf Q8_0 10.08GB โœ… Available โšช Static ๐Ÿ“ฆ No
glm-4-9b-chat-1m.Q6_K.gguf Q6_K 8.33GB โœ… Available โšช Static ๐Ÿ“ฆ No
glm-4-9b-chat-1m.Q5_K.gguf Q5_K 7.21GB โœ… Available โšช Static ๐Ÿ“ฆ No
glm-4-9b-chat-1m.Q5_K_S.gguf Q5_K_S 6.75GB โœ… Available โšช Static ๐Ÿ“ฆ No
glm-4-9b-chat-1m.Q4_K.gguf Q4_K 6.31GB โœ… Available โšช Static ๐Ÿ“ฆ No
glm-4-9b-chat-1m.Q4_K_S.gguf Q4_K_S 5.80GB โœ… Available โšช Static ๐Ÿ“ฆ No
glm-4-9b-chat-1m.IQ4_NL.gguf IQ4_NL 5.56GB โœ… Available โšช Static ๐Ÿ“ฆ No
glm-4-9b-chat-1m.IQ4_XS.gguf IQ4_XS 5.35GB โœ… Available โšช Static ๐Ÿ“ฆ No
glm-4-9b-chat-1m.Q3_K.gguf Q3_K 5.11GB โœ… Available โšช Static ๐Ÿ“ฆ No
glm-4-9b-chat-1m.Q3_K_L.gguf Q3_K_L 5.33GB โœ… Available โšช Static ๐Ÿ“ฆ No
glm-4-9b-chat-1m.Q3_K_S.gguf Q3_K_S 4.62GB โœ… Available โšช Static ๐Ÿ“ฆ No
glm-4-9b-chat-1m.IQ3_M.gguf IQ3_M 4.86GB โœ… Available โšช Static ๐Ÿ“ฆ No
glm-4-9b-chat-1m.IQ3_S.gguf IQ3_S 4.62GB โœ… Available โšช Static ๐Ÿ“ฆ No
glm-4-9b-chat-1m.IQ3_XS.gguf IQ3_XS 4.47GB โœ… Available โšช Static ๐Ÿ“ฆ No
glm-4-9b-chat-1m.Q2_K.gguf Q2_K 4.02GB โœ… Available โšช Static ๐Ÿ“ฆ No

Downloading using huggingface-cli

If you do not have hugginface-cli installed:

pip install -U "huggingface_hub[cli]"

Download the specific file you want:

huggingface-cli download legraphista/glm-4-9b-chat-1m-GGUF --include "glm-4-9b-chat-1m.Q8_0.gguf" --local-dir ./

If the model file is big, it has been split into multiple files. In order to download them all to a local folder, run:

huggingface-cli download legraphista/glm-4-9b-chat-1m-GGUF --include "glm-4-9b-chat-1m.Q8_0/*" --local-dir ./
# see FAQ for merging GGUF's

Inference

Simple chat template

[gMASK]<sop><|user|>
{user_prompt}<|assistant|>
{assistant_response}<|user|>
{next_user_prompt}

Chat template with system prompt

[gMASK]<sop><|system|>
{system_prompt}<|user|>
{user_prompt}<|assistant|>
{assistant_response}<|user|>
{next_user_prompt}

Llama.cpp

llama.cpp/main -m glm-4-9b-chat-1m.Q8_0.gguf --color -i -p "prompt here (according to the chat template)"

FAQ

Why is the IMatrix not applied everywhere?

According to this investigation, it appears that lower quantizations are the only ones that benefit from the imatrix input (as per hellaswag results).

How do I merge a split GGUF?

  1. Make sure you have gguf-split available
  2. Locate your GGUF chunks folder (ex: glm-4-9b-chat-1m.Q8_0)
  3. Run gguf-split --merge glm-4-9b-chat-1m.Q8_0/glm-4-9b-chat-1m.Q8_0-00001-of-XXXXX.gguf glm-4-9b-chat-1m.Q8_0.gguf
    • Make sure to point gguf-split to the first chunk of the split.

Got a suggestion? Ping me @legraphista!