新XQA-kernel在相同延迟预算下提供2.4倍更高的Llama-70B吞吐量#
XQA kernel在生成阶段为MQA和GQA提供优化。它还为beam search提供优化。通过使用Tensor Cores进行加速,减少数据加载和转换,它在相同延迟预算内提供了更高的吞吐量。提高的吞吐量允许服务更多用户请求,同时提供相同的体验。
支持矩阵和使用标志在docs/source/advanced/gpt_attention中描述。
吞吐量提升:从下面的吞吐量-延迟曲线可以看出,启用XQA优化可以提高吞吐量。更高的吞吐量意味着服务更多用户,并且我们可以看到当XQA启用时,Y轴上的TPOT曲线趋于平缓。

初步测量性能,可能会更改。TPOT越低越好。FP8,8块H100 GPU,单引擎,ISL/OSL:512/2048,BS:1 - 256,TensorRT-LLM v0.8a
H200上使用XQA的Llama-70B在相同延迟预算下吞吐量提高高达2.4倍#
使用XQA在H200上提升2.4倍
模型 |
GPU |
输入长度 |
输出长度 |
未使用XQA时的吞吐量 (tok/s/GPU) |
使用XQA时的吞吐量 (tok/s/GPU) |
加速比 |
---|---|---|---|---|---|---|
Llama-70B |
1 |
128 |
2048 |
1,227 |
2,941 |
2.4x |
8 |
128 |
2048 |
13,232 |
25,300 |
1.9x |
总结#
这些改进将很快发布到main
分支,并将包含在v0.8版本中。
有关H200的更多信息,请参阅H200发布公告博客。
吞吐量计算为每秒每GPU的输出令牌数。out_tps=output_seqlen*batch_size/total_latency/tp
术语表: | DP = 数据并行 ISL = 输入序列长度 | PP = 流水线并行 | OSL = 输出序列长度 | OOM = 内存不足 | TP = 张量并行