What is this QAT'ed for?

#3
by crusaderky - opened

How should one quantize these weights?
With what quantization and inference engine were the speed benchmarks measured?

  • Q2_0 (stock llamacpp; called Q2_g64 on prism-ml's HF): one fp16 scale per 64 ternary weights
  • PQ2_0 (prism-ml's llamacpp fork; alias of Q2_0 on prism-ml's HF): one fp16 scale per 128 ternary weights
  • TQ2_0: one fp16 scale per 256 weights
  • other?

I would like to know this as well, but q2_0 should always be usable as a fallback, if the block structure was trained right.

edit: found this in the config, and it gets read by the python code:

  "quantization": {
    "bits": 2,
    "group_size": 128,
    "lm_head": {
      "bits": 4,
      "group_size": 64
    },
    "mode": "affine",
    "model.word_embeddings": {
      "bits": 4,
      "group_size": 64
    }
  },

Sign up or log in to comment