量化者:bartowski
任务标签:文本生成
标签:
- 文本生成推理
- transformers
- qwen2
- trl
基础模型关系:量化版
语言:
- 英文
基础模型:Tesslate/Tessa-T1-3B
许可证:apache-2.0
数据集:
- Tesslate/Tessa-T1-Dataset
Tesslate的Tessa-T1-3B模型Llamacpp imatrix量化版本
使用llama.cpp发布的b4978版本进行量化。
原始模型:https://huggingface.co/Tesslate/Tessa-T1-3B
所有量化均使用imatrix选项,数据集来自此处
可在LM Studio中运行
也可直接使用llama.cpp或任何基于llama.cpp的项目运行
提示格式
<|im_start|>system
{系统提示}<|im_end|>
<|im_start|>user
{用户提示}<|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/Tesslate_Tessa-T1-3B-GGUF --include "Tesslate_Tessa-T1-3B-Q4_K_M.gguf" --local-dir ./
如果模型超过50GB,会被分割为多个文件。要下载全部文件到本地目录,运行:
huggingface-cli download bartowski/Tesslate_Tessa-T1-3B-GGUF --include "Tesslate_Tessa-T1-3B-Q8_0/*" --local-dir ./
可以指定新的本地目录(如Tesslate_Tessa-T1-3B-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)基准测试
模型 |
大小 |
参数量 |
后端 |
线程数 |
测试 |
标记/秒 |
(对比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,但速度会慢于对应的K-quant,需权衡速度与性能。
致谢
感谢kalomaze和Dampf协助创建imatrix校准数据集。
感谢ZeroWw启发我尝试嵌入/输出权重实验。
感谢LM Studio赞助我的工作。
想支持我的工作?访问我的ko-fi页面:https://ko-fi.com/bartowski