Post

模型推理与优化加速(一): 概念同步

逐步学习如何优化模型推理

模型推理与优化加速(一): 概念同步

概览

本文章主要描述的是如何一步步学习模型的性能优化. 手动操作, 一步步学习各种优化方法. 本章节为初步认知部分, 让小白同学也能初步认知

完整目录

  • 概念认知同步: 关键评估指标与思维框架

  • 阶段一:入门与基本工具

    • 概念与流程

    • 小模型练习序列

    • 下载小模型, 了解参数量、文件大小、加载时间差异

    • 思考

  • 阶段二:核心优化技术

    • 图与算子层优化

    • 数值精度与量化

    • 剪枝、稀疏与结构压缩

    • 知识蒸馏(Distillation)

    • 内存与缓存优化(LLM 专属逐步进入)

    • 并行与分布式推理

    • 编译与自动生成(进阶)

  • 阶段三:系统化与服务化

    • 推理服务架构

    • 资源利用与成本控制

    • 高级加速技术(LLM 专用)

    • 监控与可观测

    • 部署形式

    • 成品案例分析

概念认知

首先指标定义对于性能优化非常重要, 否则“优化”会变为一种体感. 我们要知道慢在哪里, 做出优化决策, 与已有速度进行对比, 同时能计算出两者的成本差异. 毕竟优化一个是为了快, 一个是为了节省成本

推理流水线里有什么?

每一条每一批的模型推理从用户准备好数据开始, 会经历很多步骤到达模型层, 经过神经网络加权后输出结果, 还需要经过后处理才能返回给用户.

它包含了:

  • 网络传输: 客户端输入信息传到模型服务, 服务器返回结果给客户端

  • 预处理: 数据清洗、格式转换(如图像缩放、文本分词); 特征提取(如将文本转为 token 或嵌入向量); Prompt 编码(LLM 场景下的输入准备)。

  • 前向计算: Embedding映射和查找; transformer层或时序模型计算; 预测结果产生

  • 后处理: 对结果反归一化, 格式化

算子分布会影响模型推理

算子分布是指在模型推理中, 各种算子的操作和执行分布性能表现. 他是深度学习模型中计算图的基本单元. 例如矩阵乘法(MatMul)、卷积(Conv)、激活函数(ReLU)、归一化(BatchNorm / LayerNorm)等。

如果在计算的过程中, 某些算子占用时间过多, 可以考虑优化这些算子(高效实现 or 算子融合) 或者减少调用频率

序列阶段也会影响性能

针对某些数据推理中, 序列数据的特点是: 数据是按照顺序排序的, 可能需要逐步处理, 也可能需要全局计算.

比如预测销量模型中, 序列数据关注的是一个区域的历史数据和增量数据的处理

总体思维框架

如果要分析推理性能问题, 需要从上到下进行分析; 而落实到的行动里, 可以由五层模型分析和校验

  • 问题语境层:场景类型(实时/批量/生成式/检索式),成功标准是什么

  • 指标层:用什么量化(延迟、吞吐、资源、质量、稳定性、成本)

  • 分解层:把指标切成可干预的组成部分(流水线阶段、算子分布、序列阶段)

  • 归因层:把异常数值映射到常见瓶颈类别(计算密集 / 内存带宽 / IO / 启动开销 / 结构冗余)

  • 决策层:优化动作的优先级(收益/复杂度/风险三角)

后续我们会通过实际例子, 来描述以上问题, 并且尝试提出解决方案

场景语境与成功标准

  • 实时场景: 对于聊天问答、推荐这些低延迟的场景而言, P95/P99延迟 + 首token延迟是我们重点关注的

  • 批量场景: 大批量推理的场景下, 主指标为: 吞吐 + 成本

  • 生成式场景: 对于流式序列任务、离线生成图像, 我们更关心首token + 稳态token延迟 + 生成质量(BLEU, ROUGE, FID)

  • 检索式场景: 对于检索场景, Embedding生成 + 检索效率和准确性是最重要的

核心指标体系

性能类指标

指标定义细分 / 拆解 (包含哪些流程)常用单位典型采集方式
单次延迟 (Latency)单次端到端请求模型加载+前处理+前向处理+后处理+网络请求ms日志 or 埋点
首 token 延迟 (TTFT)文本类型模型推理后首次输出时间预处理+prompt编码+首轮注意力计算ms分阶段打点; 对比常温vs冷启动
稳态 token 间延迟连续输出token的平均间隔循环前向 + KV Cache命中率ms/token流式回调时间差
吞吐 (Throughput)单位时间处理的数据量或token数静态批次吞吐 vs 连续批处理吞吐samples/sec or tokens/sec聚合/周期计数
并发度利用率实际活跃请求占可承载数量比例峰值并发 vs 平均并发%服务测并发统计
GPU 利用率SM/Compute 利用率计算占比 vs 内存等待(stall)%nvidia-smi / Nsight Systems
内存占用模型参数 + 中间激活 + 缓存区权重内存 / workspace / KV CacheGB显存采样+分区统计
KV Cache 增长率长序列生成中缓存扩张速度代际大小 vs 分页/压缩效果MB/tokenvLLM内部指标
启动时间 (Cold Start)从进程/容器启动到首请求可用权重加载 + 初始化编译s埋点, 避免和首次推理混淆

质量保证指标

分类指标说明常见阈值/关注点
LLM准确率 / F1 / Recall分类或抽取任务量化后下降幅度(如 ≤1–2%)
 困惑度 (Perplexity)语言模型原生评估INT4 或极端剪枝下降是否突增
 BLEU / ROUGE / 任务自定义指标文本生成特定蒸馏与剪枝对生成一致性影响
 回答一致性 (对比基准输出差异)LLM 多轮推理量化后语义漂移
回归/时序模型WAPE/WMAPE业务量级加权、可解释相对基线劣化 ≤1–2%
 Pinball Loss(分位数)分布/分位一致性各 q 分位不劣化(≤1–2%)
 PICP(有区间时)置信区间覆盖率与目标覆盖或基线偏差 ≤1–2 pct
强化学习模型平均/中位回报主任务收益不低于基线 x%
 策略 KL(对基线)控制策略漂移≤设定阈值
 CVaR(或分位回报)尾部风险控制不恶化(≥基线

稳定性与可运维指标

指标说明价值
P95/P99 延迟长尾性能是否有偶发极慢请求
超时率 / 拒绝率SLA 失败次数调度 / 资源不足信号
GPU OOM 频次显存溢出KV Cache 策略是否合理
负载抖动 (Utilization variance)短时间内 GPU 利用率波动批处理策略是否均衡
失败重试次数调用层回退机制触发兼容性或内存碎片问题

成本与销量指标

指标定义作用
每 QPS 成本CPU / GPU / 可用 QPS评估扩容 vs 优化的 ROI
每 1K tokens 成本tokens 处理量 / 资源消耗LLM 商业化计价参考
This post is licensed under CC BY 4.0 by the author.