← 返回题目列表

模型压缩为什么要考虑硬件支持?

中等 第 23 / 25 题 更新于 2026/09/18
模型压缩AI技术大模型面试题

简化版

模型压缩减少参数或理论 FLOPs,不等于真实加速。硬件必须支持对应位宽、稀疏模式、矩阵形状和 Kernel;否则会发生反量化、格式转换或回退 Dense,延迟甚至更高。

选方案要从目标设备反推:确认 Tensor Core/CPU 指令、内存带宽、编译器与推理引擎支持,再比较质量、TTFT/TPOT、吞吐、峰值内存、功耗和单位成本。

详细版

INT4 Weight-only 常降低 Decode 权重带宽,但 Activation 仍用 FP16;W8A8 需要硬件高效 INT8 GEMM;非结构化稀疏只有专用稀疏 Kernel 才能兑现。

压缩依赖常见陷阱
INT4 权重高效解包/GEMM反量化开销
FP8新架构 Tensor Core老卡回退
N:M 稀疏指定硬件模式任意零值不加速
剪枝小矩阵合适形状对齐后仍占满

因此基准必须在目标硬件和真实长度/Batch 上执行,不以文件大小或理论 TOPS 代替端到端结果。

完整版教学

1. 压缩收益分哪几层

文件更小、显存更少、带宽更低、计算更快是不同收益。某方案可能只改善存储与加载,不改善 Token 延迟。

先写清目标,再选择量化、剪枝或蒸馏。

2. 位宽支持为何关键

硬件对 FP16、BF16、FP8、INT8、INT4 的吞吐不同;部分位宽只支持特定矩阵路径。

speedup depends on supported kernel
not merely original_bits / compressed_bits

不支持时可能先解压到高精度再计算。

3. Weight-only 与 W8A8

Weight-only 减少权重读带宽,适合 Decode;W8A8 同时量化激活,可使用整数矩阵单元,但校准与质量风险更大。

Prefill 计算密集,W8A8 可能更有优势;Decode 需结合 Batch 和带宽实测。

4. 对齐与形状有什么影响

Tensor Core 常要求维度按 8、16 或更大粒度对齐。剪到奇怪宽度可能触发 Padding 或低效 Kernel。

结构设计时选择硬件友好 Rank、Head 和块大小,而不是只追求最少参数。

5. 稀疏为何不一定快

任意非结构化稀疏需要索引和不规则访存。硬件通常只加速固定 N:M 或块稀疏模式。

稀疏类型通用加速可能性原因
任意稀疏索引与不规则访问
N:M中/高专用硬件模式
块稀疏规则块可向量化
结构化删层/头可直接跳过计算

6. 内存带宽与算力怎么判断

用 Roofline 看算术强度。Decode 常受权重/KV 带宽限制,压缩字节有益;Prefill 大 Batch 更可能受算力限制。

arithmetic_intensity = FLOPs / bytes_moved

同一压缩在两个阶段收益可能不同。

7. Kernel 融合的作用

量化若每层单独反量化并写回显存,会抵消节省。融合反量化与 GEMM,让数据留在寄存器或片上存储。

检查推理引擎是否对目标模型结构提供融合 Kernel,不能只看论文支持。

8. 编译器和运行时兼容

模型导出格式、算子集、动态 Shape、KV 布局和驱动版本都会影响是否命中优化路径。

部署前建立兼容矩阵;版本升级重新基准,避免 Silent Fallback 到慢速实现。

生产监控记录实际算子实现、数据类型和引擎版本;若编译器分段导致频繁 Host/Device 切换,即使核心 GEMM 很快,端到端仍可能退化。

9. CPU 与边缘设备怎么选

CPU 更依赖 AVX/VNNI/AMX 等指令、缓存容量和线程调度;移动 NPU 可能只支持特定算子与量化粒度。

边缘场景还要测功耗、内存和模型加载,云 GPU 结论不能直接移植。

CPU 量化还要控制 NUMA、线程数和内存带宽;NPU 则需确认不支持算子是否回退 CPU,因为跨设备拷贝可能成为主要延迟。

10. 多卡通信会怎样

压缩权重不一定减少张量并行通信,激活或 All-Reduce 仍可能保持高精度。计算加快后,通信占比反而上升。

端到端 Profile 要分别看计算、通信和同步,必要时调整并行度。

11. 如何设计 Benchmark

固定模型、硬件、引擎和质量门槛,覆盖真实输入/输出长度、Batch 与并发,预热后报告分位数。

记录 TTFT、TPOT、Tokens/s、峰值显存、功耗、加载时间和单位成功成本,并与未压缩基线比较。

每个配置重复多轮并报告 P50/P95,区分冷启动和稳态;基准期间锁定频率、并发和 NUMA,避免环境噪声掩盖小幅收益。

12. 质量与性能如何共同决策

画质量—延迟—成本 Pareto 前沿。更快但关键任务退化的点不可用;质量相同但运行时不支持的压缩也无工程价值。

上线灰度按硬件型号分桶,保留高精度版本回滚。

压缩方案只有在目标硬件、目标运行时和目标流量上兑现收益,才算真正完成。

13. 常见误区与追问

  • 误区:位宽减半就能加速两倍。 还取决于 Kernel、形状和反量化。
  • 误区:零值越多越快。 硬件可能不能利用不规则稀疏。
  • 误区:显存下降就代表延迟下降。 可能只改善容量。
  • 误区:单卡结果可直接推到多卡。 通信占比可能改变。
  • 误区:论文硬件结果适用于所有设备。 架构和运行时支持不同。
  • 追问:先看什么? 先确认目标硬件的原生数据类型与推理引擎 Kernel。
  • 追问:如何防止慢速回退? 记录实际执行 Kernel,并做版本化性能回归。

14. 加强记忆

  1. 先定收益层:存储、显存、带宽、计算还是功耗。
  2. 再查硬件:位宽、稀疏、指令与对齐。
  3. 再查运行时:导出、Kernel、动态 Shape 和版本。
  4. 再分阶段:Prefill 看算力,Decode 常看带宽。
  5. 再看系统:通信、加载与缓存。
  6. 再做实测:真实长度、Batch 和目标设备。
  7. 最后守质量:用 Pareto 和灰度决定上线。