Buffer Response特性介绍

该特性主要适用于对大模型推理吞吐和时延有要求,且需要满足SLO(Service Level Objective,服务级别目标)时延指标的场景。

在主流LLM推理系统(如vLLM、TGI)中,对Prefill和Decode阶段的请求的调度是分离的,并且分时使用同一份计算资源的。调度选择Prefill请求或者Decode请求做推理,是影响吞吐和时延的因素之一。但是在PD混部场景下,SLO问题无法像PD分离一样,完全规避两个阶段之间的相互干扰,因此需要更加严格的调度策略和时延控制。

该特性的核心是感知SLO时延,延迟响应避免TTFT(Time to First Token,首Token时延)和TPOT(Time Per Output Token,每个输出Token(不含首token)的延迟)超时。通过配置Prefill阶段和Decode阶段的SLO期望时延,可达到平衡两者时延,使其在都不超时的情况下,收益最大化的目的。

限制与约束

开启Buffer Response特性,需要配置的参数如表1所示。

表1 Buffer Response补充参数:ScheduleConfig的参数

配置项

取值类型

取值范围

配置说明

bufferResponseEnabled

bool

  • true
  • false
  • true:开启Buffer Response特性。
  • false:不开启Buffer Response特性。

prefillExpectedTime

uint32_t

≥1

Prefill阶段Token生成的SLO期望时延。

建议值:按客户SLO时延约束填写。

decodeExpectedTime

uint32_t

≥1

Decode阶段Token生成的SLO期望时延。

建议值:按客户SLO时延约束填写。

执行推理

  1. 配置服务化参数。该特性需配合MindIE Service使用,按照表1在服务化的config.json文件中添加相应参数,config.json文件路径的详细说明请参考:《MindIE安装指南》中的“配置MindIE > 配置MindIE Server > 单机推理”章节中的软件包文件清单。
  2. 启动服务。具体请参考《MindIE Service开发指南》中的“快速开始 > 启动服务”章节