量化作者:bartowski
任务类型:文本生成
语言:
- 英文
基础模型:cognitivecomputations/Dolphin3.0-Llama3.2-1B
许可证:llama3.2
数据集:
- OpenCoder-LLM/opc-sft-stage1
- OpenCoder-LLM/opc-sft-stage2
- microsoft/orca-agentinstruct-1M-v1
- microsoft/orca-math-word-problems-200k
- NousResearch/hermes-function-calling-v1
- AI-MO/NuminaMath-CoT
- AI-MO/NuminaMath-TIR
- allenai/tulu-3-sft-mixture
- cognitivecomputations/dolphin-coder
- HuggingFaceTB/smoltalk
- cognitivecomputations/samantha-data
- m-a-p/CodeFeedback-Filtered-Instruction
- m-a-p/Code-Feedback
Dolphin3.0-Llama3.2-1B的Llamacpp imatrix量化版本
使用llama.cpp发布的b4418版本进行量化。
原始模型:https://huggingface.co/cognitivecomputations/Dolphin3.0-Llama3.2-1B
所有量化均使用imatrix选项,数据集来自此处
在LM Studio中运行这些量化模型。
提示格式
<|im_start|>system
{system_prompt}<|im_end|>
<|im_start|>user
{prompt}<|im_end|>
<|im_start|>assistant
从下方下载单个文件(而非整个分支):
嵌入/输出权重
部分量化(如Q3_K_XL、Q4_K_L等)为标准量化方法,但嵌入和输出权重被量化为Q8_0而非默认值。
使用huggingface-cli下载
点击查看下载说明
首先,确保已安装huggingface-cli:
pip install -U "huggingface_hub[cli]"
然后,可以指定要下载的具体文件:
huggingface-cli download bartowski/Dolphin3.0-Llama3.2-1B-GGUF --include "Dolphin3.0-Llama3.2-1B-Q4_K_M.gguf" --local-dir ./
如果模型大小超过50GB,它会被分割为多个文件。要下载所有文件到本地目录,运行:
huggingface-cli download bartowski/Dolphin3.0-Llama3.2-1B-GGUF --include "Dolphin3.0-Llama3.2-1B-Q8_0/*" --local-dir ./
可以指定新的本地目录(Dolphin3.0-Llama3.2-1B-Q8_0)或直接下载到当前目录(./)。
ARM/AVX信息
以前,您会下载Q4_0_4_4/4_8/8_8,这些文件会在内存中交错权重,以提高ARM和AVX机器的性能,通过一次性加载更多数据。
但现在,有一种称为“在线重打包”的功能。详情参见此PR。如果使用Q4_0且硬件受益于权重重打包,它会自动在运行时完成。
从llama.cpp构建版本b4282开始,您将无法运行Q4_0_X_X文件,而需要使用Q4_0。
此外,如果您希望获得略高的品质,可以使用IQ4_NL,这要归功于此PR,它也会为ARM重打包权重,但目前仅支持4_4。加载时间可能更长,但会带来整体速度提升。
点击查看Q4_0_X_X信息(已弃用)
保留此部分以展示使用Q4_0在线重打包的潜在理论性能提升。
点击查看AVX2系统(EPYC7702)的基准测试
模型 |
大小 |
参数 |
后端 |
线程数 |
测试 |
t/s |
%(对比Q4_0) |
qwen2 3B Q4_0 |
1.70 GiB |
3.09 B |
CPU |
64 |
pp512 |
204.03 ± 1.03 |
100% |
qwen2 3B Q4_0 |
1.70 GiB |
3.09 B |
CPU |
64 |
pp1024 |
282.92 ± 0.19 |
100% |
qwen2 3B Q4_0 |
1.70 GiB |
3.09 B |
CPU |
64 |
pp2048 |
259.49 ± 0.44 |
100% |
qwen2 3B Q4_0 |
1.70 GiB |
3.09 B |
CPU |
64 |
tg128 |
39.12 ± 0.27 |
100% |
qwen2 3B Q4_0 |
1.70 GiB |
3.09 B |
CPU |
64 |
tg256 |
39.31 ± 0.69 |
100% |
qwen2 3B Q4_0 |
1.70 GiB |
3.09 B |
CPU |
64 |
tg512 |
40.52 ± 0.03 |
100% |
qwen2 3B Q4_K_M |
1.79 GiB |
3.09 B |
CPU |
64 |
pp512 |
301.02 ± 1.74 |
147% |
qwen2 3B Q4_K_M |
1.79 GiB |
3.09 B |
CPU |
64 |
pp1024 |
287.23 ± 0.20 |
101% |
qwen2 3B Q4_K_M |
1.79 GiB |
3.09 B |
CPU |
64 |
pp2048 |
262.77 ± 1.81 |
101% |
qwen2 3B Q4_K_M |
1.79 GiB |
3.09 B |
CPU |
64 |
tg128 |
18.80 ± 0.99 |
48% |
qwen2 3B Q4_K_M |
1.79 GiB |
3.09 B |
CPU |
64 |
tg256 |
24.46 ± 3.04 |
83% |
qwen2 3B Q4_K_M |
1.79 GiB |
3.09 B |
CPU |
64 |
tg512 |
36.32 ± 3.59 |
90% |
qwen2 3B Q4_0_8_8 |
1.69 GiB |
3.09 B |
CPU |
64 |
pp512 |
271.71 ± 3.53 |
133% |
qwen2 3B Q4_0_8_8 |
1.69 GiB |
3.09 B |
CPU |
64 |
pp1024 |
279.86 ± 45.63 |
100% |
qwen2 3B Q4_0_8_8 |
1.69 GiB |
3.09 B |
CPU |
64 |
pp2048 |
320.77 ± 5.00 |
124% |
qwen2 3B Q4_0_8_8 |
1.69 GiB |
3.09 B |
CPU |
64 |
tg128 |
43.51 ± 0.05 |
111% |
qwen2 3B Q4_0_8_8 |
1.69 GiB |
3.09 B |
CPU |
64 |
tg256 |
43.35 ± 0.09 |
110% |
qwen2 3B Q4_0_8_8 |
1.69 GiB |
3.09 B |
CPU |
64 |
tg512 |
42.60 ± 0.31 |
105% |
Q4_0_8_8在提示处理上提供了显著提升,并在文本生成上有小幅提升。
我应该选择哪个文件?
点击查看详情
Artefact2提供了详细的性能图表,参见此处。
首先,确定您可以运行的模型大小。为此,需要了解您的RAM和/或VRAM容量。
如果您希望模型运行尽可能快,您需要将整个模型放入GPU的VRAM中。选择一个文件大小比GPU总VRAM小1-2GB的量化版本。
如果您追求绝对最高品质,将系统RAM和GPU的VRAM相加,然后选择一个文件大小比该总和小1-2GB的量化版本。
接下来,您需要决定是否使用“I-quant”或“K-quant”。
如果您不想过多思考,选择一个K-quant。这些格式为“QX_K_X”,例如Q5_K_M。
如果您想深入了解,可以查看这个非常有用的特性图表:
llama.cpp特性矩阵
但基本上,如果您目标是低于Q4,并且您运行的是cuBLAS(Nvidia)或rocBLAS(AMD),您应该考虑I-quant。这些格式为IQX_X,例如IQ3_M。这些是较新的量化方法,在相同大小下提供更好的性能。
这些I-quant也可以用于CPU和Apple Metal,但会比等效的K-quant慢,因此需要在速度和性能之间做出权衡。
I-quant不兼容Vulkan(同样是AMD),因此如果您有AMD显卡,请确认您使用的是rocBLAS构建还是Vulkan构建。截至撰写本文时,LM Studio有一个支持ROCm的预览版,其他推理引擎也有针对ROCm的特定构建。
致谢
感谢kalomaze和Dampf协助创建imatrix校准数据集。
感谢ZeroWw启发了嵌入/输出权重的实验。
想支持我的工作?访问我的ko-fi页面:https://ko-fi.com/bartowski