快速部署推理服务
本文为您简要介绍使用百度百舸·AI异构计算平台快速部署推理服务。在首次使用百度百舸·AI异构计算平台的情况下,帮助开发者快速上手,在平台上完成自定义部署推理服务的流程。
主要操作流程
- 注册百度智能云账号,并完成实名认证。请参考 注册 和 实名认证
- 登录百度百舸·AI异构计算管理控制台。
- 创建资源池和资源池队列。
- 部署推理服务。
- 更多操作:升级服务、扩缩容、监控。
使用前提
- 在创建大模型训练任务前,您需要创建资源池,百舸为您提供了通用资源池和托管资源池,您可根据您的业务规模和需求选择资源池类型。
因当前产品限制,创建资源池需开通相应白名单,请在创建前联系百度支持人员,确保当前账户已完成以下操作,否则无法创建和使用资源池,我们将在后续版本优化这一操作。
-
云服务器BCC:
- 开通A800机型套餐白名单
-
并行文件存储服务PFS :
- 开通PFS产品白名单
- 创建可用的PFS实例
- 开通ParentDir白名单
- 进入容器引擎CCE > Helm > Helm模版,在百度智能云模版中安装
cce-inference-controller
到kube-system
命名空间,并修改replicaCount为1
。
Helm模板对应Helm社区的Helm Chart概念,是Helm定义的一种打包格式,用来描述一组相关的kubernetes资源。Helm 能够帮您管理自定义的 Kubernetes 资源集合,从而快速实现复杂应用的定义、安装、升级。
- 准备部署自定义服务所需的信息:
- 服务镜像地址,例如:
registry-vpc.cn-shanghai.aliyuncs.com/xxx/yyy:zzz
。 - 镜像的启动运行命令,例如:
/data/eas/ENV/bin/python /data/eas/app.py
。 - 镜像中进程监听的网络端口号,例如:
8000
。
创建流程
第一步 创建资源池
资源池是百舸内部管理异构资源的基础单元,一个资源池对应一个CCE集群(计算服务),一个PFS实例(存储服务)和一个CPROM实例(监控服务)。本文以创建通用资源池为例
- 登录百度百舸·AI异构计算平台控制台。
- 进入通用资源池列表页面,点击购买通用计算资源。
- 在资源配置页面,输入资源池名称。
- 创建CCE集群。
- 选择付费方式
- 选择可用区
- 配置节点网络
- 配置容器网络
- 选择节点配置/类型
- 设置节点数量
- 输入自定义登录密码并确认
- 关联并行文件系统PFS 选择当前子网下已有的PFS存储实例进行关联。
- 确认订单。 确认资源池配置信息,然后单击提交。
您也可以选择创建托管资源池进行后续的大模型训练,创建请参考:创建托管资源池网络、创建托管资源池。
第二步:创建队列
队列是一个资源池中部分资源的集合,用于工作负载(训练任务、在线服务)的运行。本文提供创建通用资源池队列的操作方式。如果您已经完成资源池队列创建,可跳过这一步。
- 通用资源池创建完成后,在通用资源池列表页,找到您想要操作的资源池,单击右侧省略号选择创建队列。
- 在队列管理页面,点击创建队列,并填写相关参数。
- 填写队列的名称
- 填写备注
- 选择对列类型
- 选择父对列
- 分配GPU
- 填写GPU张数。如您需要,可通过资源池列表中“创建节点”添加配置更多节点。
- 确定创建。 完成上述配置后,单击完成即可完成资源池中队列的创建。
如您选择创建了托管资源池,您可以在托管资源池下创建队列,请参考:创建和管理资源队列。
第三步:部署服务
百舸平台提供更灵活的部署方式,您可以将通过Docker构建的镜像使用此功能部署为推理服务,将模型文件或代码挂载到服务实例中。
- 进入在线服务部署列表页,点击部署服务,创建服务。
- 配置服务基础信息
- 填写服务名称
- 选择资源池:资源池类型和对应资源池队列
- 选择加速芯片
- 选择选择申请的实例
- 选择是否添加存储卷
- 选择是否开启服务容错,开启服务容错,当节点或加速芯片故障时会封锁此节点,并自动驱逐坏卡或故障节点的实例在健康节点上重建
- 配置容器信息。
- 填写容器名称
- 选择服务镜像
- 如需开启公网需要选择端口
- 填写镜像的启动命令
- 设置容器运行所需的CPU、内存、加速芯片数量
- 添加环境变量
- 选择存储卷设置容器挂载目标路径
- 可选择开启健康检查自动检测并恢复异常状态的容器
- 配置流量接入信息。
- 选择是否开启公网访问,服务内部默认与公网不通,若需要公网访问到该服务,请开启公网访问配置访问方式,选择一个弹性公网IP。
- 根据需要选择高级配置。
- 选择是否开启日志持久化,开启日志持久化功能会将日志持久化保存到日志服务(BLS)中,日志存储、读取、写入和索引会产生费用。
-
滚动更新 支持为服务设置滚动更新策略,需要输入滚动更新过程中最大不可用和最大超量实例数比例。 1.最大不可用:滚动更新过程中不可用实例的数量占预期实例数的百分比,范围1%-100%。示例:预期实例数为10,最大不可用为20%,则更新过程中可用的实例数最少有8个。
2.最大超量:滚动更新过程中超出预期的实例数量占预期实例数的百分比,范围1%-100%。 示例:预期实例数为10,最大超量为10%,则更新过程中实例数最多可达11个。
- 设置共享内存大小
- 根据业务逻辑设置自定义的监控指标,可开启此开关,设置监控端口。
第四步:升级服务和手动扩缩容
- 升级服务
服务部署成功后,您可以通过 升级服务 修改镜像版本、存储挂载、健康检查、滚动更新策略等信息,填写本次变更内容的描述。 平台会记录详细的版本变更记录,您可在服务详情中查看版本变更记录。
- 手动扩缩容
服务部署成功后,如果您的服务流量有变化,您可以进行扩缩容操作以满足您的流量负载要求。