최근 llama.cpp 에 여러 새로운 양자화 type 이 추가되어 궁금해서, 공휴일이기도 하여 전체 양자화 type에 대해 해봤습니다.
물론 간단한 측정이라고 해도 27 가지나 존재하여 생각보다 시간이 꽤 걸리네요.
llama.cpp b2297 (052051d) 기준이고, 제가 M1 Max 와 4060 Ti 16GB 를 써서 양쪽에서 다 했고,
Perplexity 는 시간이 오래 걸려서 양쪽에 적당히 나누어서 측정했습니다.
측정에 사용된 모델은 https://huggingface.co/meta-llama/Llama-2-7b-chat-hf 입니다.
정렬은 모델 용량 역순으로 되어 있습니다.
먼저 M1 Max 에서 측정한 값입니다.
model | size | params | pg 512 t/s | tg 128 t/s | perplexity |
llama 7B all F32 | 25.10 GiB | 6.74 B | 549.31 ± 1.32 | 12.60 ± 0.08 | 7.4924 +/- 0.05038 |
llama 7B F16 | 12.55 GiB | 6.74 B | 603.07 ± 4.25 | 23.18 ± 0.10 | 7.4924 +/- 0.05038 |
llama 7B Q8_0 | 6.67 GiB | 6.74 B | 547.28 ± 0.46 | 40.38 ± 0.01 | 7.4933 +/- 0.05040 |
llama 7B Q6_K | 5.15 GiB | 6.74 B | 444.28 ± 2.46 | 39.03 ± 0.20 | 7.4950 +/- 0.05042 |
llama 7B Q5_1 | 4.72 GiB | 6.74 B | 455.69 ± 3.64 | 41.92 ± 0.18 | 7.5084 +/- 0.05049 |
llama 7B Q5_K - Medium | 4.45 GiB | 6.74 B | 428.63 ± 0.80 | 39.67 ± 0.05 | 7.5099 +/- 0.05051 |
llama 7B Q5_K - Small | 4.33 GiB | 6.74 B | 422.92 ± 1.60 | 40.34 ± 0.25 | 7.5180 +/- 0.05059 |
llama 7B Q4_1 | 3.95 GiB | 6.74 B | 534.08 ± 1.73 | 57.19 ± 0.51 | 7.5913 +/- 0.05104 |
llama 7B Q4_K - Medium | 3.80 GiB | 6.74 B | 469.91 ± 2.67 | 49.24 ± 0.30 | 7.5692 +/- 0.05087 |
llama 7B Q4_K - Small | 3.59 GiB | 6.74 B | 474.25 ± 0.59 | 52.02 ± 0.50 | 7.6066 +/- 0.05119 |
llama 7B Q4_0 | 3.57 GiB | 6.74 B | 536.36 ± 2.01 | 61.39 ± 0.59 | 7.6261 +/- 0.05130 |
llama 7B IQ4_NL - 4.5 bpw | 3.56 GiB | 6.74 B | 520.62 ± 0.52 | 53.15 ± 0.05 | 7.5392 +/- 0.05044 |
llama 7B IQ4_XS - 4.25 bpw | 3.37 GiB | 6.74 B | 491.69 ± 0.44 | 51.86 ± 0.06 | 7.5231 +/- 0.05021 |
llama 7B Q3_K - Large | 3.35 GiB | 6.74 B | 449.53 ± 0.64 | 40.93 ± 0.02 | 7.6491 +/- 0.05110 |
llama 7B Q3_K - Medium | 3.07 GiB | 6.74 B | 469.64 ± 0.61 | 44.19 ± 0.01 | 7.6854 +/- 0.05128 |
llama 7B IQ3_S mix - 3.66 bpw | 2.90 GiB | 6.74 B | 459.51 ± 0.40 | 47.68 ± 0.04 | 7.7695 +/- 0.05262 |
llama 7B IQ3_S - 3.4375 bpw | 2.75 GiB | 6.74 B | 456.12 ± 0.32 | 47.74 ± 0.04 | 7.7904 +/- 0.05252 |
llama 7B Q3_K - Small | 2.75 GiB | 6.74 B | 466.80 ± 0.27 | 42.60 ± 0.05 | 8.0321 +/- 0.05409 |
llama 7B IQ3_XS - 3.3 bpw | 2.60 GiB | 6.74 B | 464.88 ± 0.42 | 47.87 ± 0.05 | 7.8787 +/- 0.05295 |
llama 7B IQ3_XXS - 3.0625 bpw | 2.41 GiB | 6.74 B | 470.03 ± 0.38 | 46.44 ± 0.07 | 8.2039 +/- 0.05497 |
llama 7B Q2_K - Medium | 2.36 GiB | 6.74 B | 493.38 ± 0.42 | 51.57 ± 0.11 | 8.6501 +/- 0.05852 |
llama 7B IQ2_M - 2.7 bpw | 2.20 GiB | 6.74 B | 462.36 ± 0.45 | 38.38 ± 0.03 | 8.6002 +/- 0.05749 |
llama 7B Q2_K - Small | 2.16 GiB | 6.74 B | 512.21 ± 0.57 | 62.49 ± 0.20 | 9.1756 +/- 0.06047 |
llama 7B IQ2_S - 2.5 bpw | 2.05 GiB | 6.74 B | 469.49 ± 1.99 | 47.32 ± 0.26 | 9.1459 +/- 0.06077 |
llama 7B IQ2_XS - 2.3125 bpw | 1.89 GiB | 6.74 B | 472.16 ± 0.41 | 48.42 ± 0.03 | 9.7873 +/- 0.06424 |
llama 7B IQ2_XXS - 2.0625 bpw | 1.73 GiB | 6.74 B | 462.08 ± 0.30 | 50.45 ± 0.03 | 11.0326 +/- 0.07234 |
llama 7B IQ1_S - 1.5625 bpw | 1.42 GiB | 6.74 B | 499.09 ± 0.56 | 53.01 ± 0.33 | 28.7926 +/- 0.19637 |
4060 Ti 16GB 에서 측정한 값입니다. F32 는 16GB 를 초과하여 돌릴 수 없어서 여기에는 없습니다.
model | size | params | pp 512 t/s | tg 128 t/s | perplexity |
llama 7B F16 | 12.55 GiB | 6.74 B | 3141.27 ± 47.64 | 19.55 ± 0.00 | 7.4924 +/- 0.05038 |
llama 7B Q8_0 | 6.67 GiB | 6.74 B | 2105.29 ± 1.55 | 35.52 ± 0.01 | 7.4933 +/- 0.05040 |
llama 7B Q6_K | 5.15 GiB | 6.74 B | 2152.08 ± 1.97 | 44.75 ± 0.02 | 7.4950 +/- 0.05042 |
llama 7B Q5_1 | 4.72 GiB | 6.74 B | 2174.41 ± 1.67 | 48.58 ± 0.02 | 7.5084 +/- 0.05049 |
llama 7B Q5_K - Medium | 4.45 GiB | 6.74 B | 2189.18 ± 2.62 | 51.01 ± 0.02 | 7.5099 +/- 0.05051 |
llama 7B Q5_K - Small | 4.33 GiB | 6.74 B | 2195.82 ± 2.89 | 52.30 ± 0.02 | 7.5180 +/- 0.05059 |
llama 7B Q4_1 | 3.95 GiB | 6.74 B | 2203.94 ± 2.60 | 56.83 ± 0.03 | 7.5913 +/- 0.05104 |
llama 7B Q4_K - Medium | 3.80 GiB | 6.74 B | 2208.96 ± 2.55 | 58.49 ± 0.03 | 7.5692 +/- 0.05087 |
llama 7B Q4_K - Small | 3.59 GiB | 6.74 B | 2218.12 ± 2.64 | 61.44 ± 0.03 | 7.6066 +/- 0.05119 |
llama 7B Q4_0 | 3.57 GiB | 6.74 B | 2219.31 ± 1.77 | 61.80 ± 0.03 | 7.6261 +/- 0.05130 |
llama 7B IQ4_NL - 4.5 bpw | 3.56 GiB | 6.74 B | 2215.14 ± 1.76 | 61.70 ± 0.03 | 7.5392 +/- 0.05044 |
llama 7B IQ4_XS - 4.25 bpw | 3.37 GiB | 6.74 B | 2220.83 ± 1.47 | 64.79 ± 0.03 | 7.5231 +/- 0.05021 |
llama 7B Q3_K - Large | 3.35 GiB | 6.74 B | 2217.48 ± 2.38 | 64.82 ± 0.03 | 7.6491 +/- 0.05110 |
llama 7B Q3_K - Medium | 3.07 GiB | 6.74 B | 2229.58 ± 2.79 | 69.80 ± 0.03 | 7.6854 +/- 0.05128 |
llama 7B IQ3_S mix - 3.66 bpw | 2.90 GiB | 6.74 B | 2231.57 ± 2.73 | 73.05 ± 0.05 | 7.7695 +/- 0.05262 |
llama 7B IQ3_S - 3.4375 bpw | 2.75 GiB | 6.74 B | 2238.22 ± 2.44 | 76.30 ± 0.04 | 7.7904 +/- 0.05252 |
llama 7B Q3_K - Small | 2.75 GiB | 6.74 B | 2241.64 ± 2.73 | 75.79 ± 0.02 | 8.0321 +/- 0.05409 |
llama 7B IQ3_XS - 3.3 bpw | 2.60 GiB | 6.74 B | 2242.87 ± 2.71 | 79.56 ± 0.05 | 7.8787 +/- 0.05295 |
llama 7B IQ3_XXS - 3.0625 bpw | 2.41 GiB | 6.74 B | 2251.70 ± 3.08 | 84.73 ± 0.04 | 8.2039 +/- 0.05497 |
llama 7B Q2_K - Medium | 2.36 GiB | 6.74 B | 2260.54 ± 2.69 | 86.31 ± 0.04 | 8.6501 +/- 0.05852 |
llama 7B IQ2_M - 2.7 bpw | 2.20 GiB | 6.74 B | 2260.25 ± 2.62 | 91.42 ± 0.07 | 8.6002 +/- 0.05749 |
llama 7B Q2_K - Small | 2.16 GiB | 6.74 B | 2266.25 ± 1.72 | 93.02 ± 0.07 | 9.1756 +/- 0.06047 |
llama 7B IQ2_S - 2.5 bpw | 2.05 GiB | 6.74 B | 2265.55 ± 2.17 | 96.16 ± 0.08 | 9.1459 +/- 0.06077 |
llama 7B IQ2_XS - 2.3125 bpw | 1.89 GiB | 6.74 B | 2274.67 ± 1.97 | 101.77 ± 0.08 | 9.7873 +/- 0.06424 |
llama 7B IQ2_XXS - 2.0625 bpw | 1.73 GiB | 6.74 B | 2288.92 ± 2.73 | 78.62 ± 0.09 | 11.0326 +/- 0.07234 |
llama 7B IQ1_S - 1.5625 bpw | 1.42 GiB | 6.74 B | 2306.16 ± 1.44 | 114.36 ± 0.12 | 28.7926 +/- 0.19637 |