최근 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