尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

ik_llama.cpp Perplexity 评测指南:困惑度计算、KL 散度分析与量化质量量化

ik_llama.cpp Perplexity 评测指南:困惑度计算、KL 散度分析与量化质量量化 ik_llama.cpp Perplexity 评测指南困惑度计算、KL 散度分析与量化质量量化【免费下载链接】ik_llama.cppllama.cpp fork with additional SOTA quants and improved performance项目地址: https://gitcode.com/GitHub_Trending/ik/ik_llama.cpp本指南完整讲解 ik_llama.cpp 仓库中llama-perplexityexamples/perplexity工具的使用方法、工作原理与结果解读。你将学会如何用 Wikitext-2 测试集为任意 GGUF 模型计算困惑度Perplexity通过--kl-divergence-base/--kl-divergence工作流量化对比量化模型与 FP16 原版之间的 logits 分布差异并掌握如何阅读仓库内置的评测记分板数据为自己的量化方案选择提供数据依据。Perplexity 是什么Perplexity困惑度是衡量语言模型预测能力的经典指标给定一段文本语料模型对下一个 token预测得越准困惑度越低。ik_llama.cpp 的perplexity示例工具正是用来在给定文本语料上计算这一数值的。使用困惑度做横向比较时有三个必须牢记的前提原文档明确指出不同模型之间不能直接比较尤其是使用不同 tokenizer 的模型微调finetune后的模型困惑度通常会升高但这并不代表输出质量下降人类评分的质量反而可能更高与 llama.cpp 之外的其它项目结果不可直接比较因为具体数值高度依赖实现细节分块方式、上下文长度、批处理策略等。在 llama.cpp 生态内困惑度的核心用途是判断量化带来的质量损失对比量化模型与 FP16 模型在同一语料上的困惑度差值越小说明量化对模型预测能力的损伤越小。评测约定与快速上手社区约定Wikitext-2 测试集仓库贡献者之间的默认约定是除非另有说明统一使用Wikitext-2 test set进行测试。除非另有说明列出的所有数值均在命令行参数与编译选项保持默认值的情况下产生。测试集可以通过仓库自带的脚本下载脚本位置scripts/get-wikitext-2.sh脚本内部下载wikitext-2-raw-v1.zip并解压出wikitext-2-raw/wiki.test.raw文本文件构建与运行按项目标准流程以 CMake 构建后会生成llama-perplexity可执行文件。基本运行方式如下./llama-perplexity -m model.gguf -f wikitext-2-raw/wiki.test.raw [other params]其中-m指定 GGUF 模型文件-f指定语料文本文件。工具默认n_ctx 512见 perplexity.cpp 中main函数对params.n_ctx 512的初始化并要求语料 token 数至少达到2 * n_ctx否则会报错退出。默认输出默认情况下工具只计算平均困惑度及其不确定性uncertainty。不确定性通过经验方式确定假设正确 token 的 logits 服从高斯分布然后应用误差传播公式推导得出。对应源码为 perplexity.cpp 中的mean_and_uncertainty辅助函数均值sum/count标准差由sqrt(sum2/count - f*f)/(count-1)给出且仅在样本数大于 10 时才计算。核心原理与源码实现理解实现有助于正确解释结果。以perplexity_v2函数perplexity.cpp为例其计算流程为分词对语料做 tokenize必要时为每个 chunk 前添加 BOS tokenllama_should_add_bos_token决定且断言模型不强制添加 EOS。分块与滑动以n_ctx为计算块大小calc_chunk按--ppl-stride指定的步长在语料上滑动。chunk 数上限为(tokens - calc_chunk stride - 1) / stride可通过--chunks限制实际处理的 chunk 数。批量解码每个 chunk 内部再按--batch-size拆分为多个 batch逐个llama_decode每个 chunk 开始前都会调用llama_kv_cache_clear清空 KV 缓存保证各 chunk 之间相互独立。概率统计对每个位置的 logits 做 softmax取正确 token的概率p累加负对数似然nll -log(p)最终困惑度 exp(nll / count)。源码中softmax与log_softmax都做了数值稳定处理减去最大 logit 后再求指数。process_logits使用多线程并行统计线程数为std::thread::hardware_concurrency() - 1。两种输出格式--ppl-output-type控制逐 chunk 的进度输出格式0默认[i]ppl,紧凑 CSV 风格便于脚本收集1start_position ppl两列对齐输出便于人工观察。最终会输出总体估计Final estimate: PPL over N chunks for n_ctxX yyyy /- zzzz。命令行参数详解除common提供的通用参数外perplexity 相关参数在 common/common.cpp 的参数解析与 usage 说明中定义汇总如下参数作用默认值--chunks N最多处理的 chunk 数-1全部处理--ppl-stride N困惑度计算的滑动步长大于 0 时自动启用perplexity_v2并把上下文调整为n_ctx stride/20--ppl-output-type N逐 chunk 输出格式0 紧凑 CSV1 对齐两列0--batch-size N批大小common 默认--kl-divergence-base FILE记录 FP16 模型的全部 logits 到二进制文件别名--save-all-logits空不记录--kl-divergence对--kl-divergence-base提供的 logits 文件计算 KL 散度及一系列衍生统计false--hellaswag在-f提供的 HellaSwag 数据上计算 acc_norm 分数false--hellaswag-tasks NHellaSwag 任务数400--winogrande计算 Winogrande 分数false--winogrande-tasks NWinogrande 任务数默认全部--multiple-choice计算多选题分数false--multiple-choice-tasks N多选题任务数默认全部注意当启用--kl-divergence时n_parallel被强制置为 1当运行 HellaSwag 等模式时n_parallel至少为 4以保证足够的 seq id。高级工作流记录 logits 与计算 KL 散度仅靠困惑度均值无法区分量化引入的随机噪声与真实的质量损失。为此工具提供了基于Kullback-LeiblerKL散度的对比工作流分两步第一步用 FP16 模型记录 logits./llama-perplexity -m model-f16.gguf -f wikitext-2-raw/wiki.test.raw \ --kl-divergence-base path/to/logit/binary/file.kld程序会把每个位置的 logits 以二进制格式写入指定文件。注意文件非常巨大在 Wikitext-2 测试集上LLaMA 2 需要约11 GiBLLaMA 3 需要约37 GiB请预留充足磁盘空间。为节省空间文件并不保存与 FP32 完全一致的 logits而是将其缩放后强转为 16 位无符号整数存储每个 log_prob 前带有 scale 与 min_log_prob 两个缩放参数见 perplexity.cpp 中log_softmax的 uint16 分支与kl_divergence_result结构。因此在记分板中f16 一行实际只反映这次 downcast 本身引入的差异。文件自带格式校验头部 8 字节为魔数_logits_随后依次是n_ctxuint32、n_vocab与n_chunkint32以及评测用的 tokens读取时若魔数不符会直接报错若n_ctx超过当前上下文会提示用-c增大。第二步用量化模型计算 KL 散度./llama-perplexity -m model-q4_k_m.gguf -f wikitext-2-raw/wiki.test.raw \ --kl-divergence-base path/to/logit/binary/file.kld \ --kl-divergence程序会重新解码量化模型将每个 token 位置的概率分布与 FP16 基准逐点对比。KL 散度衡量两个 logit 分布的相似程度值越接近 0 说明分布越一致。均值 KL 散度的不确定性同样按逐 token KL 服从高斯分布假设计算。附带输出的统计量开启--kl-divergence后除了逐 chunk 的进度行包含 PPL、ln(PPL(Q)/PPL(base))、KL Divergence、Δp RMS、Same top p 五列最终还会输出三大块汇总统计Perplexity statistics困惑度统计FP16 与量化模型各自的平均 PPL 及不确定性Cor(ln(PPL(Q)), ln(PPL(base)))两者 log-PPL 的 Pearson 相关系数Mean ln(PPL(Q)/PPL(base))与Mean PPL(Q)/PPL(base)均值 PPL 之比及其对数分布完全相同时该值为 0Mean PPL(Q)-PPL(base)均值 PPL 之差。两者不确定性均在 logits 上估计后做误差传播。KL divergence statisticsKL 散度统计Mean KLD 及其不确定性Maximum / 99.9% / 99.0% / 95.0% / 90.0% / Median / 10.0% / 5.0% / 1.0% / 0.1% / Minimum 分位数分布可观察 KLD 的尾部行为。Token probability statisticstoken 概率统计Mean Δp正确 token 概率的平均变化量正值表示模型预测变好负值表示变差Maximum / 99.9% / 99.0% / 95.0% / 90.0% / 75.0% / Median / 25.0% / 10.0% / 5.0% / 1.0% / 0.1% / Minimum ΔpΔp 的分位数分布用于区分噪声与真实质量损失——如果正负分位数对称说明量化基本只是叠加噪声如果负值显著大于正值则说明模型确实因量化而变差RMS Δptoken 概率变化量的均方根。若假设量化只是给 token 概率叠加高斯噪声则该值即该噪声的标准差其不确定性按 Δp 服从高斯分布计算Same top p两模型把最高概率赋给同一个 token 的百分比不确定性由二项分布的高斯近似给出。附加评测模式工具还内置了三种基准评测模式源码见 perplexity.cpp 的hellaswag_score、winogrande_score、multiple_choice_score函数HellaSwag--hellaswag从-f提供的 HellaSwag 验证集数据中随机抽取--hellaswag-tasks默认 400个任务计算 acc_norm 分数数据字段按 lm-evaluation-harness 的预处理方式整理Winogrande--winogrande从 CSV 格式的 Winogrande 数据上计算分数可限制任务数Multiple Choice--multiple-choice在包含多选问题的数据上评测。这些模式与 perplexity 模式互斥启用任一后主流程将跳过困惑度计算见main函数中ppl标志的判断逻辑。附加能力tensor 热切换hot-swap值得一提的仓库特色perplexity支持通过环境变量驱动的tensor 热切换可在不重启进程的情况下对磁盘上变化的 GGUF shard 重新加载并重算适用于在线比较同一模型的不同量化版本LLAMA_HOTSWAP_ENABLED开启热切换LLAMA_HOTSWAP_CONTROL_FILE/LLAMA_HOTSWAP_STATUS_FILE控制/状态文件协议为纯文本行computing/done/reload_failed/exiting状态 迭代号 序列号跨平台兼容LLAMA_PERPLEXITY_PRE_RELOAD_SCRIPT每次重载前执行的脚本。命令支持reload重载变更的张量并重算、compute不重载直接重算、exit/quit/stop退出序列号用于去重防止命令重复投递。该能力基于src/llama.cpp导出的llama_reload_changed_tensorsC API实现细节见 perplexity.cpp 顶部的协议注释。内置评测数据解读以下数据均来自仓库文档 examples/perplexity/README.md用于指导量化取舍。LLaMA 3 8b 记分板测试环境CUDA 后端AMD Epyc 7742 CPU单张 NVIDIA RTX 4090。结果按相对 FP16 的 KL 散度排序WT 重要性矩阵imatrix分别用不同数量的 Wikitext token 生成。各列含义PPL 为困惑度ΔPPL 为与 FP16 的困惑度差KLD 为 KL 散度Mean Δp 为正确 token 概率平均变化RMS Δp 为概率变化均方根。QuantizationimatrixModel size [GiB]PPLΔPPLKLDMean ΔpRMS Δpf16None14.976.233160 ± 0.0378280.001524 ± 0.0007550.000551 ± 0.0000020.001 ± 0.002 %0.787 ± 0.004 %q8_0None7.966.234284 ± 0.0378780.002650 ± 0.0010060.001355 ± 0.000006-0.019 ± 0.003 %1.198 ± 0.007 %q6_KNone6.146.253382 ± 0.0380780.021748 ± 0.0018520.005452 ± 0.000035-0.007 ± 0.006 %2.295 ± 0.019 %q5_K_MNone5.336.288607 ± 0.0383380.056974 ± 0.0025980.010762 ± 0.000079-0.114 ± 0.008 %3.160 ± 0.031 %q5_K_SNone5.216.336598 ± 0.0387550.104964 ± 0.0033310.016595 ± 0.000122-0.223 ± 0.010 %3.918 ± 0.036 %q5_1None5.656.337857 ± 0.0386770.106223 ± 0.0034760.018045 ± 0.000139-0.287 ± 0.011 %4.123 ± 0.039 %q5_0None5.216.363224 ± 0.0388610.131591 ± 0.0038940.022239 ± 0.000166-0.416 ± 0.012 %4.634 ± 0.043 %q4_K_MWT 10m4.586.382937 ± 0.0390550.151303 ± 0.0044290.028152 ± 0.000240-0.389 ± 0.014 %5.251 ± 0.049 %q4_K_MNone4.586.407115 ± 0.0391190.175482 ± 0.0046200.031273 ± 0.000238-0.596 ± 0.014 %5.519 ± 0.050 %q4_K_SWT 10m4.376.409697 ± 0.0391890.178064 ± 0.0047440.031951 ± 0.000259-0.531 ± 0.015 %5.645 ± 0.051 %iq4_NLWT 10m4.356.455593 ± 0.0396300.223959 ± 0.0052010.035742 ± 0.000288-0.590 ± 0.016 %5.998 ± 0.054 %iq4_XSWT 10m4.146.459705 ± 0.0395950.228071 ± 0.0052070.036334 ± 0.000284-0.668 ± 0.016 %6.044 ± 0.054 %q4_K_SNone4.376.500529 ± 0.0397780.268895 ± 0.0056380.043136 ± 0.000314-0.927 ± 0.017 %6.562 ± 0.055 %q4_1None4.786.682737 ± 0.0412850.451103 ± 0.0080300.071683 ± 0.000505-0.927 ± 0.017 %8.512 ± 0.063 %q4_0None4.346.700147 ± 0.0412260.468514 ± 0.0079510.071940 ± 0.000491-1.588 ± 0.022 %8.434 ± 0.061 %q3_K_LWT 10m4.036.671223 ± 0.0414270.439590 ± 0.0081540.073077 ± 0.000529-0.940 ± 0.023 %8.662 ± 0.064 %q3_K_MWT 10m3.746.734255 ± 0.0418380.502622 ± 0.0089010.084358 ± 0.000588-1.198 ± 0.024 %9.292 ± 0.065 %q3_K_LNone4.036.787876 ± 0.0421040.556242 ± 0.0091710.087176 ± 0.000614-1.532 ± 0.025 %9.432 ± 0.067 %q3_K_MNone3.746.888498 ± 0.0426690.656864 ± 0.0100710.101913 ± 0.000677-1.990 ± 0.026 %10.203 ± 0.068 %iq3_MWT 10m3.536.898327 ± 0.0416430.666694 ± 0.0094490.102534 ± 0.000663-3.178 ± 0.026 %10.513 ± 0.066 %iq3_SWT 10m3.426.965501 ± 0.0424060.733867 ± 0.0102450.111278 ± 0.000710-3.066 ± 0.027 %10.845 ± 0.068 %iq3_XSWT 10m3.287.163043 ± 0.0437720.931409 ± 0.0120840.138693 ± 0.000857-3.667 ± 0.031 %12.148 ± 0.070 %iq3_XXSWT 10m3.057.458436 ± 0.0464041.226803 ± 0.0152340.183625 ± 0.001042-3.918 ± 0.035 %13.836 ± 0.074 %q3_K_SWT 10m3.417.602878 ± 0.0468481.371244 ± 0.0156880.199821 ± 0.001008-5.046 ± 0.037 %14.980 ± 0.070 %q3_K_SNone3.417.863786 ± 0.0488851.632152 ± 0.0177330.228217 ± 0.001079-5.604 ± 0.038 %15.541 ± 0.070 %iq2_MWT 10m2.748.600799 ± 0.0551242.369166 ± 0.0252440.325989 ± 0.00160-6.463 ± 0.046 %18.519 ± 0.080 %q2_KWT 10k2.968.652290 ± 0.0555722.420657 ± 0.0255870.331393 ± 0.001562-6.606 ± 0.046 %18.790 ± 0.078 %q2_KWT 100k2.968.641993 ± 0.0554062.410359 ± 0.0254950.331672 ± 0.001569-6.628 ± 0.047 %18.856 ± 0.078 %q2_KWT 10m2.968.647825 ± 0.0556102.416191 ± 0.0256830.332223 ± 0.001572-6.500 ± 0.047 %18.881 ± 0.078 %q2_KWT 1m2.968.674365 ± 0.0557432.442732 ± 0.0258430.335308 ± 0.001576-6.634 ± 0.047 %19.009 ± 0.079 %q2_KWT 1k2.968.682605 ± 0.0559162.450972 ± 0.0260690.337093 ± 0.001596-6.596 ± 0.047 %18.977 ± 0.079 %q2_K_SWT 10m2.969.323778 ± 0.0615513.092145 ± 0.0319140.403360 ± 0.001787-7.131 ± 0.049 %20.050 ± 0.081 %q2_K_SWT 1m2.969.329321 ± 0.0613783.097688 ± 0.0318160.403590 ± 0.001797-7.289 ± 0.049 %20.123 ± 0.081 %q2_K_SWT 100k2.969.362973 ± 0.0617403.131339 ± 0.0321690.408367 ± 0.001802-7.198 ± 0.050 %20.132 ± 0.081 %q2_K_SWT 10k2.969.376479 ± 0.0620453.144846 ± 0.0324640.408662 ± 0.001819-7.141 ± 0.050 %20.120 ± 0.081 %q2_K_SWT 1k2.969.415200 ± 0.0624753.183567 ± 0.0329930.415865 ± 0.001846-7.153 ± 0.050 %20.311 ± 0.082 %iq2_SWT 10m2.569.650781 ± 0.0632093.419148 ± 0.0340170.439197 ± 0.001976-8.319 ± 0.052 %21.491 ± 0.083 %q2_KNone2.969.751568 ± 0.0633123.519934 ± 0.0338630.445132 ± 0.001835-9.123 ± 0.051 %21.421 ± 0.079 %iq2_XSWT 10m2.4310.761424 ± 0.0710564.529791 ± 0.0422290.546290 ± 0.002133-10.576 ± 0.056 %23.872 ± 0.082 %iq2_XXSWT 10m2.2414.091782 ± 0.0983967.860148 ± 0.0707520.812022 ± 0.002741-14.363 ± 0.065 %28.576 ± 0.084 %iq1_MWT 10m2.0125.493722 ± 0.17790319.262089 ± 0.1523961.393084 ± 0.003529-24.672 ± 0.077 %38.287 ± 0.084 %iq1_SWT 1m1.8858.097760 ± 0.43860451.866126 ± 0.4166042.211278 ± 0.004688-32.471 ± 0.087 %46.418 ± 0.085 %iq1_SWT 1k1.8858.267851 ± 0.44620852.036218 ± 0.4243732.214858 ± 0.004778-31.880 ± 0.089 %46.330 ± 0.086 %iq1_SWT 100k1.8858.581498 ± 0.45314552.349864 ± 0.4313602.220834 ± 0.004818-32.261 ± 0.089 %46.002 ± 0.086 %iq1_SWT 10m1.8860.694593 ± 0.47129054.462959 ± 0.4496442.254554 ± 0.004868-31.973 ± 0.088 %46.271 ± 0.086 %iq1_SWT 10k1.8863.221324 ± 0.49307756.989691 ± 0.4714232.293527 ± 0.004885-32.261 ± 0.089 %46.562 ± 0.086 %从数据中可以读出的两个观察结论原文档陈述使用更多 Wikitext token 生成重要性矩阵并未带来一致的改进对比 q2_K、q2_K_S 各 WT 行可见K-quants 在 Mean Δp 上的表现优于传统 legacy quants比单独看 KL 散度所暗示的更好。LLaMA 2 vs LLaMA 3 量化对比相同环境CUDAAMD Epyc 7742单张 RTX 4090同一量化档位下两代模型的指标对比其中 PPL correlation 为两模型 log-PPL 的相关性MetricL2 7b q2_KL3 8b q2_KL2 7b q4_K_ML3 8b q4_K_ML2 7b q6_KL3 8b q6_KL2 7b q8_0L3 8b q8_0Mean PPL5.794552 ± 0.0322989.751568 ± 0.0633125.877078 ± 0.0327816.407115 ± 0.0391195.808494 ± 0.0324256.253382 ± 0.0380785.798542 ± 0.0323666.234284 ± 0.037878Mean PPL ratio1.107955 ± 0.0014271.564849 ± 0.0045251.014242 ± 0.0004321.028160 ± 0.0007231.002406 ± 0.0001911.003490 ± 0.0002961.000689 ± 0.0001071.000425 ± 0.000161Mean ΔPPL0.625552 ± 0.0087253.519934 ± 0.0338630.082526 ± 0.0025300.175482 ± 0.0046200.013941 ± 0.0011100.021748 ± 0.0018520.003990 ± 0.0006240.002650 ± 0.001006PPL correlation97.36%89.62%99.71%99.34%99.94%99.88%99.98%99.96%Mean KLD0.108903 ± 0.0006450.445132 ± 0.0018350.012686 ± 0.0000790.031273 ± 0.0002380.002098 ± 0.0000140.005452 ± 0.0000350.000369 ± 0.0000070.001355 ± 0.000006Mean Δp-2.710 ± 0.023 %-9.123 ± 0.051 %-0.416 ± 0.008 %-0.596 ± 0.014 %-0.035 ± 0.003 %-0.007 ± 0.006 %-0.005 ± 0.002 %-0.019 ± 0.003 %Maximum Δp85.136%94.268%45.209%95.054%23.593%53.601%43.925%28.734%99.9% Δp37.184%50.003%17.461%27.084%7.798%13.613%3.387%6.402%99.0% Δp18.131%25.875%7.798%12.084%3.838%6.407%1.867%3.544%Median Δp-0.391%-2.476%-0.026%-0.024%-0.001%0.000%-0.000%-0.000%1.0% Δp-39.762%-87.173%-11.433%-19.567%-4.222%-6.767%-1.862%-3.698%0.1% Δp-79.002%-98.897%-26.433%-56.054%-9.091%-16.584%-3.252%-6.579%Minimum Δp-99.915%-99.965%-83.383%-98.699%-43.142%-68.487%-9.343%-24.301%RMS Δp9.762 ± 0.053 %21.421 ± 0.079 %3.252 ± 0.024 %5.519 ± 0.050 %1.339 ± 0.010 %2.295 ± 0.019 %0.618 ± 0.011 %1.198 ± 0.007 %Same top p85.584 ± 0.086 %71.138 ± 0.119 %94.665 ± 0.055 %91.901 ± 0.072 %97.520 ± 0.038 %96.031 ± 0.051 %98.846 ± 0.026 %97.674 ± 0.040 %可以观察到同档位下 LLaMA 3 8b 对量化的敏感度普遍高于 LLaMA 2 7bΔPPL、KLD、RMS Δp 均更大Same top p 更低说明量化质量高度依赖具体模型不能跨模型套用经验结论。LLaMA 3 BF16 vs FP16 对比该组数据在 CPU 后端AMD Epyc 7742上完成以 BF16 模型为--kl-divergence-base、FP16 模型为--model计算MetricValueMean PPL(Q)6.227711 ± 0.037833Mean PPL(base)6.225194 ± 0.037771Cor(ln(PPL(Q)), ln(PPL(base)))99.990%Mean ln(PPL(Q)/PPL(base))0.000404 ± 0.000086Mean PPL(Q)/PPL(base)1.000404 ± 0.000086Mean PPL(Q)-PPL(base)0.002517 ± 0.000536Mean KLD0.00002515 ± 0.00000020Maximum KLD0.01220699.9% KLD0.00079999.0% KLD0.000222Median KLD0.00001310.0% KLD-0.0000025.0% KLD-0.0000081.0% KLD-0.000023Minimum KLD-0.000059Mean Δp-0.0000745 ± 0.0003952 %Maximum Δp4.186%99.9% Δp1.049%99.0% Δp0.439%95.0% Δp0.207%90.0% Δp0.125%75.0% Δp0.029%Median Δp0.000%25.0% Δp-0.030%10.0% Δp-0.126%5.0% Δp-0.207%1.0% Δp-0.434%0.1% Δp-1.016%Minimum Δp-4.672%RMS Δp0.150 ± 0.001 %Same top p99.739 ± 0.013 %可以看到 BF16 与 FP16 的分布差异极小KLD 均值约 2.5e-5Same top p 高达 99.7%说明 BF16 几乎不引入可观测的预测偏差。历史数据Llama 2 70B 记分板早期版本的分数记录FP16 基准 PPL 3.4313QuantizationModel size (GiB)PerplexityDelta to fp16Q4_036.203.55503.61%Q4_140.203.51252.37%Q5_044.203.47441.26%Q2_K27.273.73398.82%Q3_K_S27.863.70197.89%Q3_K_M30.833.59324.72%Q3_K_L33.673.56173.80%Q4_K_S36.393.48521.57%Q4_K_M38.543.47251.20%Q5_K_S44.203.44830.50%Q5_K_M45.413.44510.40%Q6_K52.703.43670.16%fp16128.53.4313-实践建议结合文档结论与源码实现给出以下评测实践要点固定评测协议统一使用 Wikitext-2 测试集、默认参数除非明确声明改动保证结果可复现、可比对PPL 之外务必看 Δp 分位数困惑度均值掩盖了分布细节通过 Δp 分位数的对称性可区分纯噪声与真实质量损失多模型不可直接比较 PPL不同 tokenizer 与实现细节会让绝对值失真跨模型比较应聚焦相对损失如 PPL ratio、KLD、RMS Δp而非绝对值磁盘规划使用--kl-divergence-base记录 logits 时预留 11–37 GiB 级别的空间依模型与语料而定验证量化回归同一模型在量化前后用完全相同的语料与上下文设置评测ΔPPL 与 KLD 的增大幅度就是该量化档位在困惑度维度上的代价。以上流程与数据均可在仓库中自行复现相关源码入口为 examples/perplexity/perplexity.cpp 与 scripts/get-wikitext-2.sh。【免费下载链接】ik_llama.cppllama.cpp fork with additional SOTA quants and improved performance项目地址: https://gitcode.com/GitHub_Trending/ik/ik_llama.cpp创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表