mirror of
				https://github.com/ggml-org/llama.cpp.git
				synced 2025-10-31 08:51:55 +00:00 
			
		
		
		
	ggml-quants : rename best_mad to best_error (ggml/1283)
This commit renames the variable `best_mad` to `best_error` in the `make_qkx2_quants` function. The motivation for this is that the name `best_mad` can be somewhat confusing if mean absolute deviation (MAD) is not in use.
This commit is contained in:
		 Daniel Bevenius
					Daniel Bevenius
				
			
				
					committed by
					
						 Georgi Gerganov
						Georgi Gerganov
					
				
			
			
				
	
			
			
			 Georgi Gerganov
						Georgi Gerganov
					
				
			
						parent
						
							79b33b2317
						
					
				
				
					commit
					497be7c01d
				
			| @@ -568,14 +568,14 @@ static float make_qkx2_quants(int n, int nmax, const float * GGML_RESTRICT x, co | |||||||
|     } |     } | ||||||
|     float iscale = nmax/(max - min); |     float iscale = nmax/(max - min); | ||||||
|     float scale = 1/iscale; |     float scale = 1/iscale; | ||||||
|     float best_mad = 0; |     float best_error = 0; | ||||||
|     for (int i = 0; i < n; ++i) { |     for (int i = 0; i < n; ++i) { | ||||||
|         int l = nearest_int(iscale*(x[i] - min)); |         int l = nearest_int(iscale*(x[i] - min)); | ||||||
|         L[i] = MAX(0, MIN(nmax, l)); |         L[i] = MAX(0, MIN(nmax, l)); | ||||||
|         float diff = scale * L[i] + min - x[i]; |         float diff = scale * L[i] + min - x[i]; | ||||||
|         diff = use_mad ? fabsf(diff) : diff * diff; |         diff = use_mad ? fabsf(diff) : diff * diff; | ||||||
|         float w = weights[i]; |         float w = weights[i]; | ||||||
|         best_mad += w * diff; |         best_error += w * diff; | ||||||
|     } |     } | ||||||
|     if (nstep < 1) { |     if (nstep < 1) { | ||||||
|         *the_min = -min; |         *the_min = -min; | ||||||
| @@ -601,18 +601,18 @@ static float make_qkx2_quants(int n, int nmax, const float * GGML_RESTRICT x, co | |||||||
|                 this_min = 0; |                 this_min = 0; | ||||||
|                 this_scale = sum_xl / sum_l2; |                 this_scale = sum_xl / sum_l2; | ||||||
|             } |             } | ||||||
|             float mad = 0; |             float cur_error = 0; | ||||||
|             for (int i = 0; i < n; ++i) { |             for (int i = 0; i < n; ++i) { | ||||||
|                 float diff = this_scale * Laux[i] + this_min - x[i]; |                 float diff = this_scale * Laux[i] + this_min - x[i]; | ||||||
|                 diff = use_mad ? fabsf(diff) : diff * diff; |                 diff = use_mad ? fabsf(diff) : diff * diff; | ||||||
|                 float w = weights[i]; |                 float w = weights[i]; | ||||||
|                 mad += w * diff; |                 cur_error += w * diff; | ||||||
|             } |             } | ||||||
|             if (mad < best_mad) { |             if (cur_error < best_error) { | ||||||
|                 for (int i = 0; i < n; ++i) { |                 for (int i = 0; i < n; ++i) { | ||||||
|                     L[i] = Laux[i]; |                     L[i] = Laux[i]; | ||||||
|                 } |                 } | ||||||
|                 best_mad = mad; |                 best_error = cur_error; | ||||||
|                 scale = this_scale; |                 scale = this_scale; | ||||||
|                 min = this_min; |                 min = this_min; | ||||||
|             } |             } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user