LLM 推理的核心指标
首 Token 延迟(决定了用户体验)
延迟:从输入到输出最后一个 token 的延迟
吞吐量:每秒针对所有请求生成的 token 数(针对所有并发请求)
推理的性能卡点
1. KV-Cache 大小导致并发能力受限
LLM推理的过程是一个自回归的过程,前 i 次的token会作为第 i+1 次的预测数据送入模型,拿到第 i+1 次的推理token。
过程中Transformer会执行自注意力操作,为此需要给当前序列中的每个项目(无论是prompt/context还是生成的token)提取键值(kv)向量。这些向量存储在一个矩阵中,通常被称为kv cache。kv cache是为了避免每次采样token时重新计算键值向量。
对最大长度是 4096 的 LLaMa2-7B fp16 模型,服务端每创建 1 个并发,都需要大约 2GB 显存保存 kv_cache,即便是 A100 80G,能并发服务的用户也非常有限。
计算公式:
KV 缓存的总大小(以字节为单位)= (batch_size) * (sequence_length) * 2 * (num_layers) * (hidden_si