Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Q4_2 quantization with rmse-optimized scale and quants #1062

Merged
merged 4 commits into from
Apr 19, 2023

Conversation

ikawrakow
Copy link
Contributor

For quantize-stats we get
q4_2: rmse 0.00159301, maxerr 0.17480469, 95pct<0.0030, median<0.0012

For 7B perplexity with BLAS enabled we get 6.2038 after 655 chunks.

Quantization is slow (~90 seconds on my Mac for 7B) as not multi-threaded as in PR #896.

For quantize-stats we get
q4_2: rmse 0.00159301, maxerr 0.17480469, 95pct<0.0030, median<0.0012

For 7B perplexity with BLAS enabled we get 6.2038 after 655 chunks.

Quantization is slow (~90 seconds on my Mac for 7B) as not
multi-threaded as in PR #896.
@ikawrakow ikawrakow requested a review from ggerganov April 19, 2023 15:15
Not sure why this makes them fail
ggml.c Outdated Show resolved Hide resolved
ggml.c Outdated Show resolved Hide resolved
@@ -1123,12 +1124,94 @@ static void quantize_row_q4_2_reference(const float * restrict x, block_q4_2 * r
}
}

static inline int nearest_int(float fval) {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this inline does not do anything here. the static is all you need.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hm actually, after looking at cppref, i am not sure that C and C++ are the same here.

@ikawrakow ikawrakow merged commit f7d0509 into master Apr 19, 2023
@ikawrakow ikawrakow deleted the quantize-q4-2-rmse branch April 19, 2023 18:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants