部署推理服务
本章节将介绍如何部署模型推理服务,并配置内网和外网访问方式。
部署前准备
在部署模型推理服务之前,请确保满足以下条件:
- 算力资源: 运行推理服务依赖租户购买的预付费类型计算资源,请提前购买包年/包月/包周/包日资源池。
- 模型:可以直接上传模型至共享高性能存储,或使用平台训练任务生成的模型。
- 镜像:使用平台预置镜像;或构建自定义镜像,或迁移外部镜像。
创建推理服务
访问智算云控制台的推理服务页面,可创建推理服务。
进入创建页面后,请根据页面提示,完成以下配置。
Step 0 选择算力资源
首先,根据推理服务要求,在您购买的算力资源池中选择合适的 GPU 算力规格、实例数量。
- 资源池:您购买的资源池,其中可能包含一种或多种实例规格。
- 实例规格: 选择运行服务的计算资源规格。每种规格对应一个特定的 CPU、显卡、内存配置组合。
- 实例数量: 预期运行的实例数。实例数大于 1 时自动提供负载均衡。仅在当前资源池可用实例大于等于 1 时,该推理服务可部署成功。
- 滚动更新: 设置最大不可用百分比,该参数仅影响服务升级与回滚。在开发测试阶段,单实例的情况下可设置为 0,多实例的情况下可设置为 50%。详细说明请移步升级服务。
NOTE
- 运行推理服务需要计算资源。您需要提前购买包年/包月/包周/包日资源池。
- 选择资源池后,平台会根据负载规格计算剩余可启动数量。例如,负载规格
NVIDIA A100-40-NVLinK 显卡数量 1
的可启动数量为 9,表示资源池内的剩余资源可供创建 9 个同规格实例。
Step 1 配置镜像和启动命令
配置推理服务使用的镜像,以及在镜像内启动服务的代码。
使用预置镜像:AIStudio 平台已预置基于 FastChat 与 vLLM 的专用镜像。
专用镜像名称:
cr.infini-ai.com/infini-ai/inference-base:v1-vllm0.4.0-torch2.1-cuda12.3-ubuntu22.04
如果使用预置 vLLM 镜像,仅需在启动命令中挂载模型路径,调用内置的
/app/entrypoint.sh
脚本,即可快捷启动推理服务。示例:bashexport MODEL=qwen-7b-chat export TP=1 export LOG=1 # 推理镜像中不包含 model,您需要挂载自己的模型 # 建议放置在共享高性能存储中 ln -s /path-to-your-model /app/model/${MODEL} /app/entrypoint.sh
如果希望详细了解平台预置的 vLLM 镜像,请参考实践教程 推理服务:使用 FastChat 和vLLM 部署大语言模型。
使用自定义镜像: 如果使用自定义镜像,请根据当前推理环境,编写服务的「启动命令」。
您可以直接在 UI 上编写启动服务的代码,但更推荐将启动命令封装成脚本,放置在共享高性能存储,从启动命令中引用。
TIP
请特别注意容器的生命周期管理,在启动命令中需要有一个前台运行的主进程。如果全部服务均被放入后台,当容器的启动命令执行完毕,平台会认为容器的主进程已经结束,导致容器陷入销毁与创建的循环。
关于如何准备自定义镜像,请参阅:
Step 2 挂载共享高性能存储
推理服务依赖的模型和代码可放置在共享高性能存储中。创建推理服务时,可保持平台默认创建的挂载点。
- 系统盘: 推理服务实例的
/
目录的存储大小,固定 50GB。 - 高性能存储:挂载租户的共享高性能存储(例如,您可以将模型文件放在共享高性能存储中)。详见共享高性能存储。
Step 3 配置网络
配置推理服务是否支持从公网访问访问,监听端口以及内网访问端口。
- 外网访问: 如果启用外网访问,服务部署成功后,可从公网访问该推理服务(HTTPS)。提供两种方式:
- 直接访问地址:仅当前登录云平台的用户可用(分享无效),在云平台登录状态未失效时一直可用。如需直接访问地址,必需设置推理服务的内网调用端口为
80
。 - API 鉴权访问地址:该地址受保护,需要通过 API 鉴权访问。请根据提示,复制有效的 API 密钥。
- 直接访问地址:仅当前登录云平台的用户可用(分享无效),在云平台登录状态未失效时一直可用。如需直接访问地址,必需设置推理服务的内网调用端口为
- 端口: 配置监听端口(默认 8000)和调用端口(默认 80),内网支持 HTTP 访问。
TIP
如果推理服务使用预置镜像,额外提供预置监控端口配置,默认使用 20000,暂不支持修改。AIStudio 的推理服务监控功能依赖该端口从镜像中采集「业务指标监控数据」。详见服务监控。
Step 4 填写基本信息
最后填写推理服务的名称与描述。
- 名称: 推理服务名称,最多 64 个字符,支持中英文数字以及- _。
- 描述(可选): 上限 400 字符。
根据模型参数量,所需部署时间可能有差异。推理服务进入部署中状态后,将会执行一系列耗时的子操作。如果进度长期停留在部署中状态,建议查看详细部署进度。
查看部署进度
推理进入部署中状态后,将会执行一系列子操作。只要当前推理服务有一个实例完成所有子操作,即可运行成功。
如果部署进度长时间停留在部署中状态,建议在推理服务列表的状态栏中点击 ...
图标,在打开的弹窗中查看详细进度。
如果在任何子状态发生错误,平台会自动重试。如果进度长时间停留在错误状态且无法恢复,建议停止推理服务,并重新发起。如果问题持续存在,请联系售后服务。