基本概念

表1 基本概念

概念

含义

Prefill阶段

也叫prompt或者全量推理阶段,是对用户传入的输入第一次进行推理的阶段。该阶段的输入是用户传入的完整长度的语句。

Decode阶段

也叫增量推理阶段,基于Prefill阶段的输出进行迭代推理的阶段。由于该阶段每次迭代的输入都是上一次推理的输出,所以叫做增量推理。

PD分离

也就是Prefill阶段和Decode阶段分离执行。

KV Cache

KV Cache其实是在大语言模型中使用的一种技术,用于缓存已经计算过的KeyValue,避免在每一步生成过程中重复计算整个上下文。本文代指计算完的Key和Value缓存。

PagedAttention

简称PA。简单说是一种使用离散block的方式管理请求KV Cache的功能,相比未使用此功能的框架而言,能够达到节省KV Cache内存占用大小的效果。

block_table

在PA场景下,表示请求KV Cache占用的block index的集合。

请求

可以理解为用户提的问题,该问题经过Prefill和Decode阶段会有对应的回答,我们称这个过程为一次请求。

role

表示LLM-DataDist代表的业务角色。业务角色分为Prefill和Decode两种。

cluster_id

表示LLM-DataDist所在的集群标识。主要用于Decode侧通过cluster_id找到对应链路,从而找到Prefill侧缓存的对应请求的KV Cache。对于一个模型的不同切分部署到不同device的场景,当前在支持PD对等切分场景下,cluster_id在不同切分模型间设置一样。

集群动态扩缩容

根据业务闲忙,动态的调整集群的数量以及PD集群的配比,从而达到闲时节省资源,忙时提高吞吐的目的。

D2D传输

指数据从Device设备往Device设备传输。

D2H传输

指数据从Device设备往Host设备传输。

H2D传输

指数据从Host设备往Device设备传输。

TTFT

Time To First Token

LLM推理的一个指标。指从输入到输出第一个token的延迟。

即当一批用户进入到推理系统之后,用户完成Prefill阶段的过程需要花多长时间。这也是系统生成第一个字符所需的响应时间。

TBT

Time Between Tokens

token间时延,指的是每一个decoding所需要的时长。它反映的是大语言模型系统在线上处理的过程中,每生成一个字符的间隔是多长时间,也就是生成的过程有多么流畅。

Continuous Batching

连续批处理技术,是一种在大模型推理中优化计算效率的方法。它通过将多个推理请求组合成一个批次进行处理,从而充分利用计算资源,提高推理速度和吞吐量。这种技术的核心思想在于减少计算过程中的空闲时间,实现计算资源的最大化利用。