搬家的人最怕什么?不是搬不动的柜子,而是满屋子的书。大模型就像是那整整一面墙的书——住在云端大别墅时,它从容不迫;可当你要搬到手机大小的公寓时,每一本都得掂量掂量。 好在整理行囊是一门手艺。真正的收纳师不会硬塞,而是做三件事:第一,扔掉一年没翻过的“冗余”书(剪枝);第二,把精华浓缩成一本重点笔记,让“小徒弟”照着学(蒸馏);第三,把一毛一分的硬币换成整钞,体积立刻小四倍(量化)。这就是模型压缩的三大法宝,也是大模型从云端走向手机、IoT、自动驾驶的必经之路。 下面我们把这套“搬行李哲学”拆开讲透:先看为什么非搬不可,再学三件打包神器,最后教你如何组合使用、顺利入住。

岗位关联

掌握模型压缩,是 AI 从业者把大模型带到千亿终端的核心技能——它直接决定模型能否在手机、摄像头、机器人上低成本运行,是边缘 AI 商业化落地的关键一课。

目录
  1. 可视化演示
  2. 压缩必要性:为什么非搬家不可
  3. 剪枝技术:扔掉不穿的衣服
  4. 蒸馏技术:老师傅带徒弟
  5. 量化技术:把零钱换成整钞
  6. 混合策略:三宝齐上,打包不愁
  7. 部署实践:入住小公寓
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

展示系统处理流水线、实时性能指标曲线及多方案对比分析,包含数据流转、吞吐延迟监控与方案评估。

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

系统可视化 处理流程:输入→处理→模型→输出 性能监控:实时指标 P=L×T

压缩必要性:为什么非搬家不可

搬家第一天,你站在客厅环顾:书柜十米宽,钢琴占一角。可新公寓只有三十平米——不取舍,连门都进不去。大模型就是这个“书柜狂魔”:以 70 亿参数的 LLM 为例,单份 FP32 权重就要 28GB。手机内存往往只有 8GB——不压缩,模型连加载都做不到。

边缘设备之所以“小气”,是因为四道硬约束同时卡脖子。算力看 TOPS:云端一张 A100 每秒千万亿次运算,手机 NPU 只有它的几十分之一;内存看容量与带宽,加载大权重会卡死系统;能耗看电池,模型功耗直接决定续航;此外还有隐私与延迟——数据不能上传,响应必须毫秒级。这四条,每一条都在逼你给模型“减肥”。

模型压缩解决的就是“体积-精度”矛盾。我们用压缩率来衡量瘦身效果。原始模型体积 = 参数量 × 每参数比特数。剪枝和蒸馏主要缩小参数量,量化主要缩小每参数的比特数,双管齐下体积才能指数级下降。

R=V压缩后V原始=P新×b新P原×b原\displaystyle R = \frac{V_{\text{压缩后}}}{V_{\text{原始}}} = \frac{P_{\text{新}} \times b_{\text{新}}}{P_{\text{原}} \times b_{\text{原}}}

1. P 原:原始参数量,例如 70 亿个权重,决定模型“知识含量”。

P原P_{\text{原}}

2. P 新:压缩后的参数量,剪枝和蒸馏让它显著变小。

P新P_{\text{新}}

3. b 原:原始数值精度,深度学习默认用 32 位浮点(FP32)。

b原=32b_{\text{原}} = 32

4. b 新:压缩后的精度,量化到 INT8 后变为 8 比特。

b新=8b_{\text{新}} = 8

5. R:体积比,R 越接近 0,瘦身越成功,离边缘部署越近。

RR

压缩不是锦上添花,而是入场凭证。就像搬家前得先量好门框尺寸,下面三节,就是三种具体的“打包大法”。

剪枝技术:扔掉不穿的衣服

衣柜里总有几件“永远不会再穿”的衣服——过时的、不合身的、起球的。占地方却毫无用处。神经网络里也有这样的“衣服”:训练结束后,相当一部分权重的绝对值趋近于零,对最终输出几乎没有影响。留着它们,纯粹是浪费行李箱空间。

剪枝的思路就是删掉不重要的权重,但删法分两种。细颗粒度(非结构化)剪枝:删除单个权重,在权重矩阵上打“孔”,精度损失小,可矩阵变得千疮百孔,硬件加速困难;结构化剪枝:按通道、行或注意力头整块删除,形状规整,能真正压缩存储与计算,是工业界主流。

标准四步走:训练好大模型 → 计算权重重要性(常用绝对值大小)→ 用掩码删除低重要性权重 → 微调恢复。掩码是一张“黑名单”,值为 0 的位置对应权重直接失效;值为 1 的权重照常参与计算。

S=W⊙M,Mi={1,∣Wi∣≥τ0,∣Wi∣<τ\displaystyle S = W \odot M, \quad M_i = \begin{cases} 1, & |W_i| \ge \tau \\ 0, & |W_i| < \tau \end{cases}

1. W:原始权重矩阵,模型知识的物理载体。

WW

2. M:掩码矩阵,形状与 W 一致,1 表示保留、0 表示删除。

MM

3. ⊙:逐元素相乘,把“黑名单”上的权重清零,相当于撕掉它们的工作证。

⊙\odot

4. τ:阈值,绝对值低于它的权重统统剪掉,τ 越大剪得越狠。

τ\tau

剪枝的本质不是“从零发明”,而是“旧物改造”。你没有买新家具,而是把十米书柜改造成窄书架——材料是旧的,结构焕然一新,入住时刚刚好。

蒸馏技术:老师傅带徒弟

光扔旧衣服还不够,有些东西虽小,却承载整套方法论。最高明的搬家不是把书全搬走,而是请一位老师傅把十年经验浓缩成一本精华笔记。这就是知识蒸馏:用训练好的大模型当“教师”,带一个参数量小得多的“学生”模型。

关键在于“软标签”。教师模型对一张图片的预测不是“猫或狗”这种硬答案,而是一串概率:猫 0.9、狗 0.08、狐狸 0.02。这个分布里藏着“猫和狗有点像、和狐狸不太像”的宝贵经验。学生直接模仿这个分布,就学会了教师的判断逻辑,而非死记硬背结论。

为了让分布更“松软”,蒸馏引入了温度系数 T:T 越大,概率分布越平缓,类间相似性展现得越充分。训练时学生的损失由两部分加权相加:对真实硬标签的交叉熵,加上对教师软标签的差距(常用 KL 散度度量)。

L=α⋅Lsoft(qT,pT)+(1−α)⋅Lhard(y,p)\displaystyle \mathcal{L} = \alpha \cdot \mathcal{L}_{\text{soft}}(q_T, p_T) + (1 - \alpha) \cdot \mathcal{L}_{\text{hard}}(y, p)

1. L_soft:软标签损失,衡量学生输出与教师软化输出的差距。

Lsoft\mathcal{L}_{\text{soft}}

2. q_T:教师模型经温度 T 软化后的输出概率分布。

qTq_T

3. p_T:学生模型同样经温度 T 软化的输出分布。

pTp_T

4. α:权重系数,控制“跟教师学”和“跟真相学”的配比。

α\alpha

5. L_hard:硬标签交叉熵,保证学生最终输出真实答案。

Lhard\mathcal{L}_{\text{hard}}

蒸馏最美妙的是“代际传承”:小模型不再从零学起,而是站在教师肩上。就像一个新人第一天上班就捧着老师傅的笔记上手,整整少走了几年弯路。

量化技术:把零钱换成整钞

想象你要把一整抽屉硬币带上路。硬币面值细腻——一分的、两分的、五分的——但数量太多、沉甸甸。聪明的做法是去银行换成百元大钞:数值粒度没了,购买力还在。量化就是这个“换钞”过程。

深度学习默认用 FP32(32 位浮点)存权重,每个数字占 4 字节。但很多推理场景根本不需要这么细腻:INT8 只占 1 字节,体积直接变四分之一;FP16 占 2 字节,减半。量化的核心是“重新标尺”:把一段浮点范围映射到有限的整数刻度上,再配上缩放因子和零点偏移,让解码后依旧接近原值。

量化有两条路径。训练后量化(PTQ):训练完直接映射,零成本但可能掉点;量化感知训练(QAT):训练过程中就模拟量化误差,让模型学会“抗噪”,精度更稳。还有混合精度:只在关键层保留高精度,其余层用低比特,精细化地省空间。

q=round⁡(rs)+z,s=rmax⁡−rmin⁡2b−1\displaystyle q = \operatorname{round}\left(\frac{r}{s}\right) + z, \quad s = \frac{r_{\max} - r_{\min}}{2^{b} - 1}

1. r:原始浮点权重值,比如 0.61803398。

rr

2. s:缩放因子,把浮点区间均匀映射到整数区间。

ss

3. z:零点偏移,让浮点 0 在整数域有对应位置。

zz

4. b:量化比特数,INT8 时 b = 8,共有 256 个刻度。

b=8b = 8

5. round:四舍五入操作,量化误差的主要来源。

round⁡\operatorname{round}

换钞不是丢钱,而是换一种携带方式。量化后的模型虽然每个数字的刻度粗糙了,可整体分布还在,精度损失通常只有几个百分点,换来的却是 4 倍体积缩减和显著的访存加速——这笔买卖很划算。

混合策略:三宝齐上,打包不愁

收纳大师从不用一招打天下。真正的搬家流程是:先扔(剪枝),再浓缩(蒸馏),最后换钞(量化)——每一步都在进一步缩小行李箱。工业界的“压缩流水线”也是如此,三件套按序上阵。

顺序有讲究。常见流水线:训练大模型 → 剪枝 → 微调恢复 → 蒸馏成小模型 → 量化到 INT8 → 校准。每一步都会造成精度损失,所以“回血”操作(微调 / 校准)穿插其间。先剪枝再蒸馏,学生吸收的“精华”更干净;量化放最后,让前面的结构优化先完成,误差最小。

混合策略的数学本质,是三个压缩率的连乘。

Vfinal=V0×ηprune×ηdistill×ηquantize\displaystyle V_{\text{final}} = V_0 \times \eta_{\text{prune}} \times \eta_{\text{distill}} \times \eta_{\text{quantize}}

1. V_0:原始模型体积,压缩流水线的起点。

V0V_0

2. η_prune:剪枝后的保留比例,例如 0.6。

ηprune\eta_{\text{prune}}

3. η_distill:蒸馏后小模型的参数规模比例,例如 0.5。

ηdistill\eta_{\text{distill}}

4. η_quantize:量化后的比特比例,如 8/32 = 0.25。

ηquantize\eta_{\text{quantize}}

5. 连乘:三个小于 1 的因子相乘,压缩效果指数级放大。

V0×ηprune×ηdistill×ηquantizeV_0 \times \eta_{\text{prune}} \times \eta_{\text{distill}} \times \eta_{\text{quantize}}

三件套不是互斥的武功,而是同一套内功的不同心法。真正的项目中,很少有人只用一种方法——组合拳打满,才能把三居室的家装进 30 平米公寓。

部署实践:入住小公寓

打包完成,该“搬家入住”了。入住不是把箱子一放就完事,还得测试水电、布置家具。部署同理:压缩只是手段,让模型在目标硬件上真正跑起来、跑得快,才算大功告成。

落地时盯三个指标:模型体积(决定能不能装进 Flash)、推理延迟(决定用户体验)、能耗(决定电池续航)。工具链上,ONNX Runtime、TensorRT、TFLite、llama.cpp 生态成熟;手机芯片的 NPU、DSP 对 INT8 做了硬件加速,对量化模型是巨大利好。

推理延迟与体积的核心关系,由访存带宽约束决定:

T推理∝P×bBmem\displaystyle T_{\text{推理}} \propto \frac{P \times b}{B_{\text{mem}}}

1. T 推理:单次推理的延迟时间,用户最直观的体验指标。

T推理T_{\text{推理}}

2. P:参数量,剪枝和蒸馏让它变小。

PP

3. b:每参数比特数,量化让它变小。

bb

4. B_mem:内存带宽,硬件给定的上限,无法改变。

BmemB_{\text{mem}}

5. 正比关系:延迟与 P × b 成正比,压缩的每一分都兑换成速度。

T推理∝P×bT_{\text{推理}} \propto P \times b

这个公式是压缩意义的最终裁决:P 和 b 越小,推理越快。剪枝减 P、量化减 b,双管齐下,延迟就能从“转圈圈”变成“秒回”。入住小公寓的模型,从此与云端大模型平起平坐。

AI 应用场景

场景一:手机端离线语音助手

阶段:模型量化与剪枝 → 端侧推理部署

解决的问题:语音数据敏感,上传云端有隐私风险;在线推理依赖网络,延迟高、成本大。传统云端方案无法同时满足实时、隐私、低功耗。通过量化(FP32→INT8)+ 结构化剪枝,把 2GB 的语音模型压到 200MB 以内,直接跑在手机 NPU 上,全程离线。

具体案例:某手机厂商的语音唤醒助手,原模型规模过大无法常驻内存。采用量化感知训练(QAT)降到 INT8,并剪除 30% 冗余注意力头,模型体积缩小 8 倍,唤醒准确率仅下降 0.3%,端侧延迟从 800ms 降至 150ms,功耗降低 60%。

场景二:边缘智能摄像头

阶段:知识蒸馏 → 目标检测模型压缩

解决的问题:边缘盒子的算力只有 5W,跑不动大型目标检测模型。若把视频回传云端检测,带宽和时延都不可接受。用蒸馏把大教师模型的检测知识迁移到 nano 级学生模型,再叠加混合精度量化,实现本地实时检测。

具体案例:某安防公司的周界检测盒,将 YOLOv8 大模型蒸馏到 YOLOv8-n 并量化 INT8,mAP 从 52.1 略降至 49.8,但推理速度提升 6 倍,单盒子同时处理 8 路视频流,误报率与云端方案持平。

场景三:车载机器人的端侧大模型

阶段:混合压缩策略 → 资源受限域控制器部署

解决的问题:车载平台同时运行感知、规划多个模型,内存带宽极度紧张,单一压缩方法无法满足 10ms 级实时要求。需要剪枝、蒸馏、量化三管齐下,并按层分配混合精度。

具体案例:某自动驾驶预研团队将 3D 目标检测模型逐步压缩:剪枝 25% → 蒸馏到 0.6 倍参数量 → INT8 量化,整体推理延迟从 42ms 降到 9ms,满足 10ms 实时预算,精度仅降 1.2%,成功部署到量产域控制器。

Python 演示

python58 行
"""模型压缩三件套演示: 剪枝 / 量化 / 蒸馏"""import numpy as np rng = np.random.default_rng(42) def generate_data(n=400):    X = rng.normal(size=(n, 12))    w_true = rng.normal(size=(12, 1)) * 2.0    y = (X @ w_true + 0.3 * rng.normal(size=(n, 1))) > 0    return X, y.astype(np.float32) def predict(W, X):    return (X @ W > 0).astype(np.float32) def prune_weights(W, ratio=0.4):    """剪枝: 把绝对值最小的ratio比例权重置零"""    thresh = np.quantile(np.abs(W), ratio)    mask = (np.abs(W) >= thresh).astype(np.float32)    return W * mask, mask def quantize_weights(W, bits=8):    """量化: 把浮点权重映射到bits位整数, 返回量化值与缩放参数"""    w_min, w_max = W.min(), W.max()    scale = (w_max - w_min) / (2 ** bits - 1)    q = np.round((W - w_min) / scale).astype(np.int32)    return q, scale, w_min def dequantize(q, scale, w_min):    return q.astype(np.float32) * scale + w_min def regression(X, target, epochs=300, lr=0.05):    """蒸馏: 用教师模型的软输出做回归目标, 训练学生权重"""    W = np.zeros((12, 1))    for _ in range(epochs):        W -= lr * X.T @ (X @ W - target) / len(X)    return W def accuracy(W, X, y):    return float(np.mean(predict(W, X).ravel() == y.ravel())) if __name__ == "__main__":    X, y = generate_data()    W = rng.normal(size=(12, 1)) * 1.5     print("原始模型: %d 个参数, 精度 %.2f" % (W.size, accuracy(W, X, y)))     W_prune, mask = prune_weights(W, ratio=0.4)    print("剪枝模型: 保留 %.0f%% 权重, 精度 %.2f" % (mask.mean() * 100, accuracy(W_prune, X, y)))     q, scale, w_min = quantize_weights(W, bits=8)    W_quant = dequantize(q, scale, w_min)    print("量化模型: 内存降为 %.0f%%, 精度 %.2f" % (8 / 32 * 100, accuracy(W_quant, X, y)))     teacher_logits = X @ W    W_student = regression(X, teacher_logits)    W_hard = regression(X, y)    print("蒸馏学生: 软标签精度 %.2f vs 硬标签精度 %.2f" % (        accuracy(W_student, X, y), accuracy(W_hard, X, y)))
目的:在一个伪随机分类任务上,分别演示剪枝、量化、蒸馏三种压缩手段,并对比压缩前后的精度与体积变化。
  1. mask = (np.abs(W) >= thresh).astype(np.float32)生成“通行证”掩码:绝对值不低于阈值的权重保留为 1,其余置 0,随后与权重逐元素相乘完成删除。
  2. scale = (w_max - w_min) / (2 ** bits - 1)计算量化汇率(缩放因子),把浮点区间均匀切成 2^bits - 1 段。
  3. q = np.round((W - w_min) / scale).astype(np.int32)浮点权重按汇率换成整数钞票并四舍五入,这就是量化误差的来源。
  4. W -= lr * X.T @ (X @ W - target) / len(X)学生模型对教师软输出做线性回归,学的是“概率分布”而非 one-hot 硬答案,体现蒸馏精髓。
  5. np.mean(predict(W, X).ravel() == y.ravel())计算预测与真实标签的准确率,作为压缩前后精度的统一对比口径。

常见误区

误区我一开始觉得剪枝不就是训练一个更小的模型吗?反正最后都是小体积,何必费劲先训大的再删?

正解剪枝是从大模型出发、删除冗余结构再微调,保留了预训练阶段学到的广泛知识。小模型容量有限,从头训练很难追平同等丰富度。好比老衣柜改造成窄书架,用的还是实木;新买的板式贴书架虽然小,但用料单薄。在大模型领域,从零训练小模型需要更多算力和数据,才能达到剪枝微调的效果。

为何常见:因为“剪枝”与“缩小模型”表面都是体积变小,容易忽略剪枝保留了原模型知识这个核心价值。

误区32 位浮点变成 8 位整数,模型不得“笨”上好几倍?我一开始根本不敢用量化。

正解现代量化不是简单截断,而是通过缩放因子和零点偏移做整体重映射,配合校准集统计分布后,大多数任务精度损失可控制在 1% 以内。把 3.14159 四舍五入成 3.14 不会影响算圆面积的精度,因为浮点尾数的很多细节本身就是冗余精度。

为何常见:直觉上“丢位 = 丢信息”,但没意识到量化是在冗余区间上做了一次“重编码”,而不是随机丢弃。

误区蒸馏不就是拿大模型的预测标签去训练小模型吗?那和普通的迁移学习有什么区别?

正解蒸馏的灵魂是软标签——大模型输出的概率分布而非 one-hot 硬答案。分布里藏着“猫和狗相似”的类间关系,温度 T 进一步放大这些细节。小模型学的不是答案,而是判断逻辑。好比老师傅告诉徒弟的不是“这是什么病”,而是“我看到哪些症状、为什么像甲又像乙”。

为何常见:因为软标签比较抽象,容易凭直觉理解成“复制答案”,忽略了概率分布携带的语义密度。

误区剪枝、蒸馏、量化是不同“流派”,用了一个就不能用另一个。

正解三者天然互补:剪枝删冗余权重,蒸馏把大模型知识浓缩进小模型,量化给每个权重降精度。工业界常见流水线是“剪枝 → 微调 → 蒸馏 → 量化 → 校准”,压缩率连乘放大。搬家时既扔旧衣服、又记精华笔记、还换整钞,三招齐上才能把三居室装进 30 平公寓。

为何常见:教程通常分章节独立讲解,缺少“组合拳”视角,导致读者形成非此即彼的错觉。

面试题

Q1. 下列哪一项不属于模型压缩的三大主流方法?

单选题 · easy

  • A.权重剪枝
  • B.知识蒸馏
  • C.参数量化
  • D.数据增强← 正确答案

答案:D。剪枝、蒸馏、量化分别从删除冗余、知识迁移、降比特精度入手压缩模型。数据增强属于训练阶段提升数据多样性的技巧,不改变模型体积。就像搬家时“多拍几张照片留念”不能减轻行囊,反而增加负担。

Q2. 剪枝中掩码矩阵的核心作用是什么?

单选题 · mid

  • A.标记要保留的权重← 正确答案
  • B.对权重进行加密封装
  • C.放大参数的梯度值
  • D.替换激活函数的类型

答案:A。掩码矩阵与权重形状一致,值为 1 保留、0 删除,决定哪些权重继续参与运算。它不参与加密、不放大梯度、不改变激活函数。如同搬家时列“必带清单”,只有清单内的物品才能上车。

Q3. 结构化剪枝与非结构化剪枝的核心区别是什么?

单选题 · mid

  • A.前者单点删除后者整块← 正确答案
  • B.前者整块删除后者单点
  • C.两者完全没有实际分别
  • D.仅训练时间点不同而已

答案:A。结构化剪枝按通道/行/过滤器整块删除,形状规整适合硬件加速;非结构化剪枝删除单个权重,精度保留更好但稀疏格式对硬件不友好。区别在删除粒度,而非时间点或正则方式。

Q4. 知识蒸馏中“软标签”指的是什么?

单选题 · mid

  • A.人工标注的模糊错标签
  • B.教师模型输出的概率分布← 正确答案
  • C.弱监督产生的带噪数据
  • D.模型随机生成的噪声值

答案:B。软标签是教师模型输出的概率分布(如猫 0.9、狗 0.08),携带类间相似性知识。硬标签是 one-hot 式答案,不包含“猫和狗很像”这类语义。蒸馏学的正是分布本身,而不是简单复制结论。

Q5. 蒸馏中温度系数 T 的主要作用是什么?

单选题 · mid

  • A.控制剪枝压缩比率
  • B.控制软标签平滑程度← 正确答案
  • C.控制训练学习速率
  • D.控制批次大小规模

答案:B。温度 T 越大,softmax 输出分布越平滑,类间相似性展现得越充分;T 不负责学习率、批大小或剪枝比例。就像给浓咖啡兑水,T 控制“稀释”程度,让味道层次更明显。

Q6. 标准对称量化中,缩放因子 s 的公式是?

单选题 · hard

  • A.权重最大值乘量化位宽
  • B.权重最小值乘二之幂
  • C.极差除以量化等级数← 正确答案
  • D.最大最小值取算术平均

答案:C。s = (r_max - r_min) / (2^b - 1),把浮点范围均匀映射到整数刻度。它是“换钞”时的汇率,决定每个整数等级代表的浮点跨度。其他选项都与标准量化公式无关。

Q7. 关于训练后量化(PTQ)与量化感知训练(QAT)的说法,正确的是?

单选题 · hard

  • A.PTQ 精度永远高于 QAT
  • B.PTQ 无需训练直接量化← 正确答案
  • C.两者原理完全一致
  • D.QAT 无需任何校准数据

答案:B。PTQ 用训练好的权重直接做映射,零成本但可能掉点;QAT 在训练中模拟量化误差,让权重适应低比特环境,精度更优。二者不是等价关系,也不能简单互相替代。

Q8. 以下哪些方法可以让模型在边缘设备上变小变快?

多选题 · easy

  • A.剪枝删除冗余的权重← 正确答案
  • B.蒸馏迁移大模型的知识← 正确答案
  • C.量化降低数值的精度← 正确答案
  • D.堆叠更多的网络层数

答案:ABC。剪枝减参数量、蒸馏换小模型、量化降比特数,三者都是压缩手段。堆叠更多网络层只会让模型更大更慢,与压缩目标背道而驰。记住:压缩是做减法,不是做加法。

Q9. 关于混合压缩策略,下列说法正确的是?

多选题 · hard

  • A.三种方法可级联使用← 正确答案
  • B.压缩后需微调恢复精度← 正确答案
  • C.压缩顺序不影响最终结果
  • D.组合压缩通常优于单方法← 正确答案

答案:ABD。剪枝→微调→蒸馏→量化→校准是常见级联流水线,顺序影响最终效果;压缩后通常需要微调或校准回补精度。组合压缩的收益可连乘放大,通常优于单方法,但每一步损耗都要算入总账。

Q10. 部署压缩模型到边缘设备时,需要重点关注的指标有哪些?

多选题 · extreme

  • A.压缩后的模型文件体积← 正确答案
  • B.单次推理的延迟指标← 正确答案
  • C.内存带宽的利用率情况← 正确答案
  • D.训练数据的总体规模

答案:ABC。部署关注体积(装不装得下)、延迟(快不快)、带宽利用(算得快不浪费)。训练数据总量在部署阶段已不再关心——那是训练阶段的事,与端侧上线后的运行时表现无关。