From 8eda09533d7f2193efde47907016f18abc62b71a Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Thu, 21 Nov 2024 10:55:20 -0800 Subject: [PATCH] init --- .../website/_posts/2024-11-21-quantization.md | 27 ++++++++++++++++++ aider/website/assets/quantization.jpg | Bin 0 -> 85138 bytes 2 files changed, 27 insertions(+) create mode 100644 aider/website/_posts/2024-11-21-quantization.md create mode 100644 aider/website/assets/quantization.jpg diff --git a/aider/website/_posts/2024-11-21-quantization.md b/aider/website/_posts/2024-11-21-quantization.md new file mode 100644 index 000000000..0a2382d82 --- /dev/null +++ b/aider/website/_posts/2024-11-21-quantization.md @@ -0,0 +1,27 @@ +--- +title: Quantization matters +excerpt: Open source LLMs are becoming very powerful, but pay attention to how you (or your) provider is quantizing the model. It strongly affects code editing skill. +highlight_image: /assets/quantization.jpg +draft: false +nav_exclude: true +--- +{% if page.date %} +

{{ page.date | date: "%B %d, %Y" }}

+{% endif %} + +# Quantization matters + +Open source models like Qwen 2.5 32B are performing very well on +aider's code editing benchmark, rivaling closed source frontier models. +But pay attention to how your model is being quantized, as it +can strongly impact code editing skill. +Heavily quantized models are often used by cloud API providers +and local model servers like ollama. + +The graph below compares 4 different versions of the Qwen 2.5 32B model, +served both locally and from cloud providers: + +- Qwen2.5-Coder-32B-Instruct +- ollama/qwen2.5:32b +- ollama/qwen2.5:32b-instruct-q8_0 +- openrouter/qwen/qwen-2.5-coder-32b-instruct diff --git a/aider/website/assets/quantization.jpg b/aider/website/assets/quantization.jpg new file mode 100644 index 0000000000000000000000000000000000000000..aebd793538073b7fe5cc7fc88bdbc8d783554238 GIT binary patch literal 85138 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 bpLqN=h~-bb{>1A~4*bc1|Kl8BKcD#<9ByEW literal 0 HcmV?d00001