想象你要把一间塞满家具的大房子搬进一套小公寓。大模型就是那座大房子——本领高强,但动辄几个 GB,塞不进手机,也跑不动端侧芯片。于是各种「搬家技巧」应运而生:剪枝是把不常用的抽屉直接拆掉,量化是把大沙发换成充气沙发,蒸馏是请老师傅把手艺传给小徒弟。方法五花八门,你真正头疼的其实是另一个问题:搬完之后到底值不值?这就是「模型压缩效果评估」要回答的事——它不发明新的压缩方法,而是给所有方法建立一把统一的尺子。 一把好尺子至少要能量三件事:东西少了多少(压缩率)、搬得快不快(加速比)、家具有没有磕坏(精度损失)。这篇文章就带你把这「三本账」理清楚,再看怎么综合打分、怎么在统一基准下对比不同方法,最后写出一份领导看得懂的验收报告。全程不涉及高深公式,都是从搬家现场讲起。

岗位关联

学会科学评估压缩效果,你才能从「会压模型」进阶到「会选方案」,用数据说服团队和业务方,让压缩真正落地,而不是停留在论文里。

目录
  1. 可视化演示
  2. 评估维度概览
  3. 压缩率计算
  4. 推理加速比
  5. 精度损失评估
  6. 综合对比方法
  7. 基准测试体系
  8. 评估报告撰写
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

动态演示模型压缩效果评估方法的核心机制,通过基础/核心/应用/扩展四种模式展示关键概念与交互流程。

本节配有交互动效(进入视口后自动加载,约 3KB)。

模型压缩效果评估方法:压缩率计 压缩率计算方法与指标定义 推理加速比测量方法 核心机制可视化 模型压缩效果评估方法整体架构与关键组件

评估维度概览

搬家验收从来不是只看「箱子少了几个」就完事。一个挑剔的房主会同时盯四件事:箱子数量、搬运时长、家具完好度、搬家报价。模型压缩的评估也一样,业界把这四件事固定成「四本账」:压缩率(省下的体积)、加速比(变快的倍数)、精度损失(智商的回落)、资源占用(运行时内存、显存和耗电)。把四本账摆整齐,评估就有了骨架。

有了骨架,接下来是流程。评估一般分五步:定目标(比如「手机端 100ms 内出结果」)→ 建基线(量原始模型的延迟和精度)→ 选指标(分类任务看准确率,生成任务看困惑度)→ 做测量(统一硬件环境)→ 出报告。评估原则有两条最要紧:控制变量(除了压缩方法不同,其余一切相同)和目标驱动(先定业务容忍度,再下结论)。工具方面,端侧常用 ONNX Runtime 和 MNN 的 benchmark,服务端常用 TensorRT 的计时工具。

一个压缩方案能不能用,最终要过一个「合格判定」:压缩率、加速比、精度损失三个条件必须同时满足,缺一个都不行。

评估的第一课,就是先立好验收标准再让搬家公司进场——否则你根本不知道什么叫「搬得好」。

通过=(C≥C目标)∧(S≥S目标)∧(L≤L上限)\displaystyle 通过 = (C \geq C_{目标}) \wedge (S \geq S_{目标}) \wedge (L \leq L_{上限})
意思很简单:省得够多、跑得够快、坏得够少,三条同时达成才算及格。
  1. C 与 C_目标C 是实测压缩率,C_目标 是业务要求的最低节省比例,比如「至少省一半体积」。
    C目标:必须省下的体积比例C_{目标}: 必须省下的体积比例
  2. S 与 S_目标S 是实测加速比,S_目标 是由延迟要求换算出的最低倍数。
    S目标:必须达到的加速倍数S_{目标}: 必须达到的加速倍数
  3. L 与 L_上限L 是实测精度损失,L_上限 是业务能接受的智商回落上限。
    L上限:允许损失的最大精度L_{上限}: 允许损失的最大精度
  4. ∧ 逻辑与三个条件必须同时为真,像三把锁一起打开。
    ∧:且,全部满足才通过\wedge: 且, 全部满足才通过

压缩率计算

搬家时你会数箱子:20 箱变 5 箱,少装了 15 箱,省了 75% 的空间。这就是压缩率的第一层含义,按「省掉多少」来算。在模型语境里,箱子换成「存储体积」(MB)或「参数量」(百万参数),评估时先量原始模型,再量压缩后的模型。

这里藏着一个最容易踩的坑:压缩率的两种口径。「压缩后比例」是拿新体积除以原体积,回答「还剩多少」;「压缩率」是拿 1 减去这个比例,回答「省了多少」。200MB 压到 50MB,前者说还剩 25%,后者说省了 75%,一字之差,含义截然相反。写报告、做对比,口径必须统一并注明。

量化压缩还有一个理论算法:参数位宽从 32bit 压到 8bit,单个参数存储降为原来的四分之一,理论压缩率 75%。但这是理论值,实际文件还包含算子、常量表等附加开销,所以「实测体积」永远比「理论位宽」更可靠。

所以下次汇报「省箱子」的成果,先问自己一句:我报的是「还剩 25%」还是「省了 75%」?口径不同,领导的判断可能完全相反。

C=(1−V压缩后V原始)×100%\displaystyle C = \left(1 - \frac{V_{压缩后}}{V_{原始}}\right) \times 100\%
C 表示省掉的比例,V 用同一个单位(MB 或参数量)来量。
  1. V_原始压缩前模型的存储体积,也可以用参数量代替,先量出「搬家前的箱子数」。
    V原始:原始模型体积V_{原始}: 原始模型体积
  2. V_压缩后压缩后模型的存储体积,同样单位。
    V压缩后:压缩后模型体积V_{压缩后}: 压缩后模型体积
  3. 比值压缩后体积占原始的多少,回答「还剩几成」。
    V压缩后V原始:剩余体积占比\frac{V_{压缩后}}{V_{原始}}: 剩余体积占比
  4. 1 减比值用整体 1 减去剩余占比,得到「省掉几成」。
    1−V压缩后V原始:省掉的比例1 - \frac{V_{压缩后}}{V_{原始}}: 省掉的比例
  5. 乘 100%转成百分比,方便口头汇报和写进表格。
    ×100%:转成百分比\times 100\%: 转成百分比

推理加速比

箱子少了,搬得也得快。搬家公司报价单上的时长对比很简单:原来 8 小时,现在 2 小时,就是快 4 倍——这就是加速比。模型推理加速比同理:用原始模型的单次推理延迟除以压缩后的延迟,得到「快了几倍」。

测量延迟不能上来就跑。第一,要先 warmup 预热,让算子和缓存就绪;第二,要跑几十次取中位数或平均值,排除系统波动;第三,要排除文件 IO 等无关耗时。延迟的单位是毫秒,一次推理的耗时通常记作 p50(中位数)和 p99(最慢的 1% 样本),后者更能暴露卡顿问题。

端侧和服务端看重的指标不同。端侧是单用户交互,用户感知的是「点一下到出结果」的等待时间,所以盯单次延迟;服务端常面对批量请求,还要看吞吐量(每秒处理多少请求)。测量环境必须写明:芯片型号、CPU/GPU 线程数、量化算子是否走硬件加速。同一模型在旗舰机和低端机上,加速比可以差出好几倍。

加速比永远绑定「在什么机器上测的」。脱离硬件谈加速比,就像脱离路况谈车速——实验室的 4 倍,到真机上可能只剩 1.2 倍。

S=T原始T压缩后\displaystyle S = \frac{T_{原始}}{T_{压缩后}}
S 大于 1 表示变快,S = 2 表示快了一倍。
  1. T_原始原始模型单次推理的平均耗时,单位毫秒。
    T原始:原始模型延迟T_{原始}: 原始模型延迟
  2. T_压缩后压缩后模型的单次推理平均耗时。
    T压缩后:压缩后模型延迟T_{压缩后}: 压缩后模型延迟
  3. 相除两个延迟相除,得到倍数关系,这就是「快了几倍」。
    T原始T压缩后:延迟缩小的倍数\frac{T_{原始}}{T_{压缩后}}: 延迟缩小的倍数

精度损失评估

家具完好度是搬家验收的底线:柜子有划痕可以忍,电视屏幕裂了必须退货。模型压缩后智商也会「回落」,评估要回答两个问题:回了多少?能不能接受?测量方法是把压缩前后的模型放到同一套基准数据集上跑任务:图像分类用 ImageNet 的 Top-1 准确率,文本分类和问答用 GLUE、SQuAD 的准确率与 F1,生成任务看困惑度。

拿原始模型的得分减去压缩后模型的得分,就得到精度损失。它有两种报告口径:绝对损失的「百分点」(92% 变 90%,掉了 2 个百分点)之外,还有相对损失,要再除以原始准确率。测量时要用验证集而非训练集,并固定随机种子保证可复现。损失预算按业务定:通常分类任务允许 1%~2% 的绝对下降,但医疗、金融等关键场景会卡得更死。

精度损失就像搬家损坏清单——追求的不是零损坏,而是确保每项损伤都在可接受的预算内,超预算就退货。

ΔAccrel=Acc原始−Acc压缩后Acc原始×100%\displaystyle \Delta Acc_{rel} = \frac{Acc_{原始} - Acc_{压缩后}}{Acc_{原始}} \times 100\%
相对损失衡量的是「在原有水平上退步了百分之几」,与绝对损失的百分点含义不同。
  1. Acc_原始原始模型在基准数据集上的准确率。
    Acc原始:原始模型准确率Acc_{原始}: 原始模型准确率
  2. Acc_压缩后压缩后模型在同一数据集上的准确率。
    Acc压缩后:压缩后模型准确率Acc_{压缩后}: 压缩后模型准确率
  3. 相减先算出准确率掉了几点,这是绝对损失。
    Acc原始−Acc压缩后:绝对精度损失Acc_{原始} - Acc_{压缩后}: 绝对精度损失
  4. 除以原始把绝对损失换算成相对退步比例。
    Acc原始−Acc压缩后Acc原始:相对损失比例\frac{Acc_{原始} - Acc_{压缩后}}{Acc_{原始}}: 相对损失比例
  5. 乘 100%转成百分比,与业务预算直接对比。

综合对比方法

单本账看清了,还要合起来算总账。搬家公司 A 省箱子最多但砸了电视,B 毫发无损但慢悠悠,到底选谁?答案是把所有指标放在一起综合打分,再画一条「取舍曲线」。综合打分的第一步是归一化:压缩率、加速比、精度损失量纲不同——百分比不能直接和倍数相加,必须先把每个指标压到 0 到 1 之间。

归一化最常用的是 min-max 方法:用当前值减组内最小值,再除以组内最大值减最小值。之后按业务偏好加权:端侧产品更看重速度,就把加速比的权重调大;医疗场景更怕出错,就把精度损失的惩罚调高。加权评分 = 权重之和为 1 的线性组合,损失项用减号。

另一把武器是帕累托前沿。把所有方案画在「精度-速度」坐标图上,找出那些「没有任何一个方案能在所有指标上比它更好」的点,连成一条曲线。曲线上的方案各有取舍,都是候选;曲线下方的方案因为存在全面碾压它的对手,可以直接淘汰。

综合打分不是在算一个「数」,而是在逼你把业务优先级讲明白——到底要箱子还是保电视,先想清楚,权重自然就有了。

Score=w1⋅C^+w2⋅S^−w3⋅L^\displaystyle Score = w_1 \cdot \hat{C} + w_2 \cdot \hat{S} - w_3 \cdot \hat{L}
三个权重加起来等于 1,精度损失用减法表示「惩罚」。
  1. C_hat归一化到 0~1 的压缩率,越接近 1 表示省得越多。
    C^:归一化压缩率\hat{C}: 归一化压缩率
  2. S_hat归一化加速比,通常封顶为 1,防止单指标霸榜。
    S^:归一化加速比\hat{S}: 归一化加速比
  3. L_hat归一化精度损失,越接近 1 表示坏得越厉害。
    L^:归一化精度损失\hat{L}: 归一化精度损失
  4. w_i 权重由业务目标决定的各项重要程度。
    wi:各项权重,和为1w_i: 各项权重, 和为 1
  5. 加权求和按权重把三项合成为一个综合得分。
    w1⋅C^+w2⋅S^−w3⋅L^:综合得分w_1 \cdot \hat{C} + w_2 \cdot \hat{S} - w_3 \cdot \hat{L}: 综合得分

基准测试体系

各家搬家公司都喊自己又快又稳,怎么比才公平?搞一次「搬家公司挑战赛」:所有公司搬同一套房、同一批家具、同一条路线,用同一把秒表计时。模型压缩的基准测试,就是把这套统一规则固定下来:大家在同一个环境、同一批数据、同一套指标下对比,出来的成绩单才可信。

服务端推理的主流基准是 MLPerf Inference,移动端可以看 MLMark、AI-Benchmark,语言模型压缩还会用业务自建评测集兜底。评测环境要写清硬件、框架版本(TensorRT 8.0 和 8.4 的结果都可能不同)、输入规模和批大小。公平对比的三条铁律:统一硬件和框架、统一输入规模和批大小、多次运行取中位数并报告方差。

结果复现同样重要:随机种子、预热轮数、量化校准数据都要写明。为了横向对比多个方案,业界常把各指标做 min-max 归一化后求平均,得到「基准得分」。归一化就是把不同尺子上的刻度换算到同一把尺子上。

基准测试的核心就一句话:比赛条件一致。否则成绩单再漂亮,也只是自说自话,换台手机就翻车。

M^i=Mi−MminMmax−Mmin\displaystyle \hat{M}_i = \frac{M_i - M_{min}}{M_{max} - M_{min}}
把不同量纲的指标映射到 0~1:值越大,说明该方案在这个指标上越靠前。
  1. M_i某个方案在第 i 个指标上的原始测量值。
    Mi:原始指标值M_i: 原始指标值
  2. M_min 与 M_max所有参赛方案中,该指标的最小值和最大值。
    Mmin,Mmax:组内最小与最大值M_{min}, M_{max}: 组内最小与最大值
  3. 差值之比当前值在组内区间的相对位置,越接近 1 越领先。
    Mi−MminMmax−Mmin:归一化得分\frac{M_i - M_{min}}{M_{max} - M_{min}}: 归一化得分

评估报告撰写

搬家结束要交验收单:住了几箱、几小时完工、坏了几件、花了多少钱,清清楚楚写明白。给老板看的压缩评估报告,就是模型的「验收单」。报告结构遵循金字塔原则:结论先行——推荐哪个方案、为什么;再给证据——指标对比表和图表;最后附细节——环境配置和复现步骤。

报告必有的三要素:评估环境(芯片型号、框架版本、量化工具)、指标口径(压缩率是「剩余比例」还是「节省比例」、精度是相对还是绝对损失)、对比基线(和谁比,基线模型是什么、原始指标多少)。缺了任何一样,结论都无法被复核。

可视化是报告的脸面:柱状图比体积和延迟最直观,折线图画精度-速度取舍曲线,散点图画帕累托前沿。最后给出选型建议和风险提示,比如「INT8 量化在低端机上精度下降 2.3%,超预算,不建议部署」。一个方案能不能写进结论,要落回业务预算检验:

写报告的最高境界是「让决策者五分钟内做决定」——数据讲实话,风险讲清楚,建议给明白。报告是评估的最后一公里,写不好,前面的努力都白费。

选定方案成立条件:ΔAcc≤ϵ预算,  S≥S目标\displaystyle 选定方案成立条件: \Delta Acc \leq \epsilon_{预算}, \; S \geq S_{目标}
报告的最终结论要能过双检:精度不超上限,速度达到目标。
  1. ΔAcc该方案在基准集上的实测精度损失。
    ΔAcc:实测精度损失\Delta Acc: 实测精度损失
  2. ε_预算业务方允许的最大精度损失,由目标场景决定。
    ϵ预算:精度损失预算\epsilon_{预算}: 精度损失预算
  3. S 与 S_目标实测加速比和业务要求的最低加速倍数。
    S≥S目标:加速达标条件S \geq S_{目标}: 加速达标条件
  4. 两个条件同时成立精度、速度双达标,方案才被推荐。
    ΔAcc≤ϵ预算 且 S≥S目标:双达标条件\Delta Acc \leq \epsilon_{预算} \text{ 且 } S \geq S_{目标}: 双达标条件

AI 应用场景

端侧模型选型评估

阶段:方案评估与选型

解决的问题:以往选压缩方案靠「感觉」和「论文里报的数」,真机部署后经常延迟超标或精度翻车;换方案重做一遍成本极高。用统一的基准测试流程在目标手机上实测压缩率、延迟、精度,输出对比表和评估报告,选型就有了数据依据。

具体案例:某团队要在 2000 元档安卓机上部署 7B 对话模型,候选方案有 W4A16 量化、4bit GPTQ、结构化剪枝加量化。团队在统一评测环境(同一台测试机、同一框架版本)跑完基准后,发现剪枝方案在低端机上精度损失达 3.1% 超预算,量化方案延迟 85ms 达标且精度仅降 0.9%,最终选定量化方案并写入评估报告。

压缩方案验收与供应商审计

阶段:结果验收与质量控制

解决的问题:外购第三方压缩 SDK 时,供应商声称「体积省 80%、速度快 4 倍」,直接上线风险大。用基准测试体系复现对方的成绩单,核对评测环境和指标口径,防止「实验室数据」冒充「真实效果」。

具体案例:某云服务团队对供应商的 INT8 推理 SDK 在统一 GPU 和固定框架版本下复测,发现实际加速仅 2.8 倍,且 p99 延迟抖动超过 20%,精度下降 1.8% 突破合同阈值。团队据此要求供应商整改,否则更换方案。

上线前精度回归门禁

阶段:持续集成与发布

解决的问题:量化模型上线后偶发掉点或输出质量劣化,靠人工复盘太慢且容易漏。把精度损失评估嵌入 CI 流水线,每次模型更新自动跑一遍小型基准集,没过预算就阻断发布。

具体案例:某公司 MLOps 团队在发布流水线中加入「精度门禁」:每次候选模型自动跑 2000 条业务校准样本,若相对精度损失超过 2% 则发布失败并推送告警到群里,把评估从「事后救火」变成「事前拦截」。

Python 演示

python47 行
def calc_compression_ratio(orig_size, new_size):    # 体积减少率口径: 省掉了多少体积    return 1 - new_size / orig_size def calc_speedup(orig_latency, new_latency):    # 加速比: 快了多少倍    return orig_latency / new_latency def calc_relative_acc_loss(orig_acc, new_acc):    # 相对精度损失: 在原有水平上退步的比例    return (orig_acc - new_acc) / orig_acc def evaluate(method_name, orig_size, new_size, orig_latency, new_latency,             orig_acc, new_acc, weights=(0.4, 0.3, 0.3)):    cr = calc_compression_ratio(orig_size, new_size)    sp = calc_speedup(orig_latency, new_latency)    loss = calc_relative_acc_loss(orig_acc, new_acc)    # 加速比归一化, 封顶 4 倍视为满分    sp_norm = min(sp / 4.0, 1.0)    score = weights[0] * cr + weights[1] * sp_norm - weights[2] * loss    return {        'method': method_name,        'compression_ratio': round(cr, 4),        'speedup': round(sp, 2),        'relative_acc_loss': round(loss, 4),        'composite_score': round(score, 4)    } def compare_methods(methods):    results = []    for name, kw in methods.items():        results.append(evaluate(name, **kw))    return sorted(results, key=lambda x: x['composite_score'], reverse=True) if __name__ == '__main__':    methods = {        '结构化剪枝': dict(orig_size=500, new_size=250, orig_latency=120,                        new_latency=80, orig_acc=91.0, new_acc=90.2),        'INT8量化': dict(orig_size=500, new_size=125, orig_latency=120,                      new_latency=45, orig_acc=91.0, new_acc=90.6),        '知识蒸馏': dict(orig_size=500, new_size=180, orig_latency=120,                      new_latency=65, orig_acc=91.0, new_acc=89.8),    }    for item in compare_methods(methods):        print(f"{item['method']}: 压缩率={item['compression_ratio']:.1%}, "              f"加速比={item['speedup']:.2f}x, 相对精度损失={item['relative_acc_loss']:.2%}, "              f"综合得分={item['composite_score']:.3f}")
目的:用三本账(压缩率、加速比、精度损失)评估三种常见压缩方案,归一化后加权打分,自动排出综合名次。
  1. return 1 - new_size / orig_size用「1 减剩余占比」算出省掉的比例,对应正文的压缩率口径。
  2. return orig_latency / new_latency两个延迟相除,得到快了几倍,小于 1 说明反而变慢。
  3. return (orig_acc - new_acc) / orig_acc先算掉了几点,再除以原始值,得到相对损失比例。
  4. sp_norm = min(sp / 4.0, 1.0)把加速比压到 0~1,超过 4 倍算满分,防止单个指标霸榜。
  5. score = weights[0] * cr + weights[1] * sp_norm - weights[2] * loss加权求和,损失项用减法,对应综合评分公式。
  6. return sorted(results, key=lambda x: x['composite_score'], reverse=True)按综合得分降序排序,第一名就是综合最优方案。

常见误区

误区我的模型参数量从 1B 减到 250M,省了 4 倍,跑起来一定也快 4 倍吧?

正解参数量变小不等于推理变快。推理耗时由算力、访存带宽、算子实现共同决定。量化成 INT8 后参数理论省 75%,但如果底层算子没走硬件加速,延迟可能只降 1.5 倍甚至更少;反之,访存密集场景下小参数可能大幅提速。必须用目标设备实测延迟,不能拿参数量推导速度。就像搬家时箱子变轻了,但路窄车慢,总时长未必减半。

为何常见:「参数量等于速度」是最直观的联想,而且很多论文只报参数量不报实测延迟,容易给人这种错觉。

误区「这份报告说压缩率 25%,那份说 75%,同一个模型怎么差这么多?到底省没省?」

正解压缩率有两种口径:剩余比例(新体积除以原体积)和节省比例(1 减剩余比例)。200MB 压到 50MB,前者是 25%,后者是 75%,都对,但含义相反。写报告必须注明口径,横向对比前先统一口径。就像搬家说「20 箱变 5 箱」,到底报「剩 25%」还是「省 75%」,不先统一语言,两家公司就没法比。

为何常见:英文里 ratio 和 reduction 翻译过来都叫「压缩率」,一字之差、含义相反,初学者极易混用。

误区我们在 A100 上测到 4 倍加速,手机上也应该有 4 倍。

正解加速比高度依赖硬件和环境。端侧芯片的算子库、内存带宽、功耗限制与服务器 GPU 差异巨大,同一个量化模型在旗舰机上可能 3 倍加速,在低端机上只剩 1.2 倍。评估结论必须绑定评测环境,端侧项目应在目标真机上测量。就像新车油耗不能拿实验室数据当市区油耗,路况不一样。

为何常见:服务器好测、数字好看;真机测量费时费力,于是偷懒把外推当结论。

误区压完准确率只掉了 0.8%,可以放心上线了。

正解平均指标会掩盖局部崩溃。量化可能让某些稀有类别、长尾样本整体出错,或让特定输入下(如低光照图片)的错误率激增。负责任的评估要按类别、按难度分层看误差,并对关键场景设专项测试集。就像家具整体清单看不出床垫有暗伤,得逐个关键件验货。

为何常见:基准集通常只给一个平均数,写起来简单,分层做误差分析成本高、容易被忽视。

面试题

Q1. 某模型从 200MB 压缩到 50MB,按「体积减少率」口径,压缩率是多少?

单选题 · easy

  • A.压缩率 25%
  • B.压缩率 50%
  • C.压缩率 75%← 正确答案
  • D.压缩率 100%

答案:C。压缩率(节省比例)= 1 − 50/200 = 75%,即省掉了四分之三的空间。25% 是「剩余比例」口径(压缩后体积占原体积的比例),两者易混淆。就像 20 箱变 5 箱,应报「省了 15 箱」,而不是「还剩 15 箱」,报告必须注明口径。

Q2. 原始模型单次推理延迟 200ms,压缩后为 50ms,推理加速比是多少?

单选题 · easy

  • A.加速 2 倍
  • B.加速 4 倍← 正确答案
  • C.加速 8 倍
  • D.加速 16 倍

答案:B。加速比 = 原始延迟 ÷ 压缩后延迟 = 200 ÷ 50 = 4 倍。加速比大于 1 表示变快,4 倍意味着同样的时间能完成 4 次推理。类比搬家时长从 8 小时变 2 小时,就是快 4 倍。

Q3. 模型参数位宽从 32bit 量化到 8bit,理论上参数存储缩减到原来的几分之一?

单选题 · easy

  • A.约 2 倍
  • B.约 4 倍← 正确答案
  • C.约 8 倍
  • D.约 16 倍

答案:B。32 ÷ 8 = 4,单个参数存储降为四分之一,节省 75%,这就是量化压缩的理论上界。实际文件还包含算子、常量表等开销,实测体积会略高于理论值,所以最终以实测为准。就像沙发放气后理论上体积是四分之一,但车斗形状不同,实际装法也不同。

Q4. 某模型准确率从 92% 降到 90%,相对精度损失约为多少?

单选题 · mid

  • A.相对损失约 0.5%
  • B.相对损失约 1.0%
  • C.相对损失约 2.2%← 正确答案
  • D.相对损失约 4.3%

答案:C。相对精度损失 = (92 − 90) ÷ 92 ≈ 2.17%,约 2.2%。注意它衡量的是「在原有水平上退步的比例」,与绝对损失 2 个百分点含义不同。好比工资从 92 元变 90 元,是少了 2.2%,而不是少 2 元。

Q5. 端侧手机部署模型时,评估「用户等待体验」最该看哪个指标?

单选题 · mid

  • A.单次推理延迟值← 正确答案
  • B.训练时的吞吐量
  • C.模型的参数量
  • D.权重的量化位宽

答案:A。端侧是单用户交互场景,用户感知的是「点一下到出结果」的等待时间,应测单次推理延迟(含 p50/p99)。吞吐量更适合服务器批处理场景;参数量和位宽是间接指标,不能代替实测延迟。

Q6. 公平对比两个压缩方案时,下列做法正确的是?

单选题 · mid

  • A.统一硬件与框架版本← 正确答案
  • B.各自使用最新框架
  • C.只报告最优一次结果
  • D.压缩率越高越有优势

答案:A。公平对比的核心是控制变量:统一硬件、框架版本、输入规模和批大小,多次运行取中位数并报告方差。各自用最新框架、只报最好成绩都违背控制变量原则;「压缩率高」只是三本账之一,不能单独决定优劣。

Q7. 某压缩方案位于帕累托前沿上,这意味着什么?

单选题 · hard

  • A.所有指标上均为最优
  • B.没有任何方案全面优于它← 正确答案
  • C.综合加权得分一定最高
  • D.压缩率在所有方案中最高

答案:B。帕累托前沿上的方案,意味着找不到另一个方案在所有指标上都比它好——它可能在速度上最优、在精度上吃亏,是「取舍候选集」。选项 A、D 太绝对;选项 C 是某个特定权重下的最优解,与帕累托判定标准无关。

Q8. 模型压缩效果评估的核心维度包括哪些?

多选题 · mid

  • A.压缩率计算← 正确答案
  • B.加速比测量← 正确答案
  • C.精度损失评估← 正确答案
  • D.训练数据增强

答案:ABC。评估三大核心维度是压缩率、加速比、精度损失,对应搬家三本账:省了多少箱子、快了多少、家具有没有坏。训练数据增强属于训练阶段的手段,与压缩效果评估无关。

Q9. 测量推理延迟时,正确的做法包括哪些?

多选题 · mid

  • A.统一硬件环境← 正确答案
  • B.预热后再计时← 正确答案
  • C.多次测量取均值← 正确答案
  • D.只取最短一次耗时

答案:ABC。测延迟要先 warmup 让算子和缓存就绪,多次测量取中位数或均值抗抖动,并统一硬件排除干扰。只取最短一次耗时会被侥幸样本带偏,不是可靠口径,就像测搬家时长不能只看最快的那一天。

Q10. 某报告声称方案 A「综合得分最高」,要采信这份结论,还应该核实哪些信息?

多选题 · hard

  • A.归一化与权重的具体公式← 正确答案
  • B.是否在同一基准环境复现← 正确答案
  • C.压缩率的口径是节省比例← 正确答案
  • D.训练时使用的硬件型号

答案:ABC。综合得分依赖归一化公式、权重和压缩率口径,这些不写清就无法复核;同时要看是否在同一基准环境下复现。训练时的硬件型号与推理评估无关,问了也说明不了问题——就像搬家验收时,没必要问雇主装修用的什么牌子油漆。