Skip to content

LLM 推理性能评估指标与优化方法

内容整理自学习笔记,仅供面试备考参考;不构成录用、培训或考试承诺。

1. 介绍一下 LLMs 的文本生成过程?

LLMs 的文本生成过程分为两个阶段:

阶段说明
预填充(Prefill)以并行方式处理输入提示中的所有词元
解码(Decoding)以自回归方式逐个生成词元,每个生成的词元都会被添加到输入中并重新喂入模型

当 LLM 输出了特殊的停止词元或满足用户定义的条件(如生成最大数量的词元)时,生成过程停止。

2. 如何准确衡量模型的推理速度?

评估模型推理速度的核心原则:

模型能够尽可能快地为尽可能多的用户生成文本

四大关键指标

指标简称说明
首个词元生成时间TTFT用户输入查询后,模型生成第一个输出所需的时间。实时交互中低时延很重要,离线工作负载则不太重要
单个输出词元的生成时间TPOT为每个查询用户生成一个输出词元所需的时间。如 TPOT=100ms/词元表示每用户每秒处理 10 个词元
时延Latency模型为用户生成完整响应所需的总时间
吞吐量Throughput推理服务器在所有用户和请求中每秒可生成的输出词元数

时延计算公式

时延 = TTFT + TPOT × 待生成的词元数

权衡提示:与依次运行查询相比,如果同时处理 16 个用户查询,吞吐量会更高,但每个用户生成输出词元的时间会更长。

3. 如果对整体推理时延有具体目标,有哪些有效的启发式方法来评估模型?

3.1 优化目标

以最短的时间生成首个词元、达到最高吞吐量以及在最短的时间内生成输出词元。

3.2 启发式方法

方法说明
输出长度决定整体响应时延对于平均时延,通常将预期/最大的输出词元长度与模型的每个输出词元的整体平均时间相乘
输入长度对性能影响不大在 MPT 模型中,添加 512 个输入词元增加的时延少于生成 8 个额外输出词元的时延
输入长度对硬件要求至关重要支持长输入的需求可能使模型难以部署,如建议使用 A100-80GB 部署最大上下文长度 2048 的 MPT-7B
整体时延与模型大小呈次线性关系在相同硬件上,较大的模型速度较慢,但速度比不一定与参数数量比相匹配

3.3 模型大小与时延的关系

模型对比时延倍数关系
MPT-30B vs MPT-7B约 2.5 倍
LLaMA2-70B vs LLaMA2-13B约 2 倍

虽然较大的模型时延更高,但时延增长是次线性的,即模型翻倍时延时不会翻倍。

4. LLMs 推理存在哪些挑战?

4.1 核心挑战

挑战说明
内存瓶颈自回归解码过程中,KV 缓存占用大量 GPU 内存
动态变化的序列长度序列长度变化大且不可预测,有效管理 KV 缓存是重大挑战
显存碎片化现有系统由于碎片和过度预留浪费了 60%-80% 的内存
吞吐量与延迟的权衡提高吞吐量通常会增加单个用户的延迟

4.2 性能评估总结

关键公式:
  时延 = TTFT + TPOT × 待生成的词元数

优化方向:
  1. 降低 TTFT(预填充阶段优化)
  2. 降低 TPOT(解码阶段优化)
  3. 提高吞吐量(批处理优化)
  4. 优化内存管理(KV 缓存管理)

总结:LLM 推理性能优化需要在时延、吞吐量和资源利用率之间找到平衡点,根据实际应用场景(实时交互 vs 离线批处理)选择合适的优化策略。