部署推理负载
简介
推理负载(Inference Workload / ServingGroup)适用于在CCE集群中部署大语言模型(LLM)推理服务。该能力基于Kthena ModelServing构建,通过vLLM推理引擎,支持单节点或多角色(Entry + Worker)分布式推理,结合Gang调度与拓扑感知策略,实现算力灵活配比与服务稳定调度。
前提条件
在开始部署前,请确保满足以下条件:
- 已创建v1.29及以上版本的CCE Standard或CCE Turbo集群。
- 已安装1.21.7及以上版本的Volcano插件。
操作步骤
- 进入部署应用页面。
- 登录CCE控制台。
- 在左侧导航栏中选择“AI容器”,单击“推理负载”页签。
- 单击“部署应用”。
- 配置基础信息,然后单击“下一步:角色配置”。
表1 基础信息 参数
描述
应用名称
部署的推理应用名称。
AI应用模板
预定义的应用模板。
镜像
使用第三方镜像时,需确保实例可访问公网。更多信息请参见使用第三方镜像。
集群名称
选择目标CCE集群。
命名空间
选择推理负载的命名空间。
实例数
指定推理负载的实例数量。
- 配置角色信息。
推理负载通过Role(角色) 组织容器,实现分布式推理。每个Role包含且仅包含一个Entry节点,以及多个Worker节点。
表2 角色配置 参数
描述
角色名称
自定义标识,创建后不可修改。
角色副本数
该角色在部署时需要创建的实例数量。
entry容器
entry容器为角色的入口节点,每个Role仅包含一个entry实例,负责接收推理请求并统筹该角色下的计算任务。
- 容器名称:默认为container-entry,用于标识容器职责。
- 资源配额:如果默认配置不满足您的实际需求,可单击
图标,调整CPU、内存及NPU等资源。 - 启动命令:容器启动时执行的操作,用于定义容器的主进程,其运行状态直接决定容器的生命周期,详情请参见启动命令。
- 端口:填写容器提供服务的端口号。
worker容器
worker容器为角色的工作节点,每个Role可包含多个worker实例,负责响应entry调度并执行实际推理任务。
- worker副本数:同一个推理服务组内该角色的实例数量。通过灵活调整不同角色的副本数,可以实现算力的最优配比。
- 容器名称:默认为container-worker。
- 容器配置:当选择“配置与entry容器一致”时,除容器名称外都会复用entry容器配置。您也可以选择“自定义配置”,独立配置资源、启动命令与端口。
- 启动命令:容器启动时执行的操作,用于定义容器的主进程,其运行状态直接决定容器的生命周期,详情请参见启动命令。
- 端口:填写容器提供服务的端口号。
- (可选)填写高级配置。
表3 高级配置 参数
描述
推理引擎自定义指标采集
开启后,云原生监控插件将会自动采集推理实例相关指标。将会自动为Pod打上云原生监控插件所需要的Annotations,方便采集相关推理实例相关指标,具体配置详见使用云原生监控插件监控自定义指标。
升级策略
指定负载的升级方式:
调度策略
支持以下调度策略:
- Gang调度:确保一组Pod(如分布式任务的多个角色)同时调度成功或失败。
- 不配置:不使用Gang调度。
- 角色最小副本数:定义角色的最小副本数,调度器在资源满足时才会调度Pod。
- 拓扑感知调度
- 不配置:不使用拓扑感知调度。
- 配置:支持选择推理实例亲和和推理角色亲和。
- 推理实例亲和tier:ServingGroup实例调度亲和tier层级,例如,希望配置PD分离组在同一通信域内。
- 角色实例内亲和tier:Role实例调度亲和tier层级,例如,希望配置entry和多个worker组成的分布式推理实例在同一通信域内。
容忍策略
与节点的污点能力配合使用,允许(不强制)负载调度到带有与之匹配的污点的节点上,也可用于控制负载所在的节点被标记污点后负载的驱逐策略,详情请参见设置容忍策略。
标签与注解
以键值对形式为工作负载Pod添加标签或注解。关于标签与注解的作用及配置说明,请参见设置标签与注解。
描述
填写推理负载的说明信息。
- Gang调度:确保一组Pod(如分布式任务的多个角色)同时调度成功或失败。
- 确认配置信息无误后,单击“提交”。
在“推理负载”页面,可查看处于“部署中”状态的推理负载。
相关文档
- 更多拓扑调度信息,请参见网络拓扑感知调度概述。
- 推理负载的底层架构与实现原理,请参见Kthena ModelServing。