The hybrid quant employs different quantization levels on a per layer basis to enable
both high performance and small file size at the same time. The quants
employed are all K to avoid slow CPU or older GPU processing of IQ quants.
This quant was optimized over a small set of curated test prompts for code generation ability
and then sanity checked for good performance on humaneval.
Comparison:
Quant
size
PPL
Comment
IQ4_XS
17.9e9
7.5
-
Q4_K_H
19.4e9
7.5
Hybrid quant with Q4_K embedding Q6_K output
Usage:
The model can be speculated with Qwen 2.5 Coder 0.5B Instruct with no vocab translation. It is trained
at 32k context which can be extended to 128k using YARN:
For other than 128k context set rope_scale to the fraction of configured context size / 32768.0.
Approximate performance on 2X 12G VRAM 4070 with RPC (1Gb/s local LAN), all weigths and context in VRAM:
Q
QKV
ND
NKV
gen tps
Comment
Q4_K_H
F16
0
15k
21
No draft
Q4_K_H
F16
12
12k
79
Spec 12
Q4_K_H
Q8_0
0
27k
21
No draft
Q4_K_H
Q8_0
12
21k
78
Spec 12
for speculation a fixed length ND=12 token draft was used with a custom downstream speculator. The
test prompt is humaneval first problem:
generate python code for the described function header:
from typing import List
def has_close_elements(numbers: List[float], threshold: float) -> bool:
""" Check if in given list of numbers, are any two numbers closer to each other than
given threshold.
>>> has_close_elements([1.0, 2.0, 3.0], 0.5)
False
>>> has_close_elements([1.0, 2.8, 3.0, 4.0, 5.0, 2.0], 0.3)
True
"""