You need to enable JavaScript to run this app.
导航
创建和部署 AI 应用(自定义创建)
最近更新时间:2025.06.05 20:07:11首次发布时间:2024.05.17 16:14:30
我的收藏
有用
有用
无用
无用

AI 应用是针对大模型在线推理场景推出的一站式开发部署运维平台。自定义创建为用户提供了相对灵活的 AI 应用创建方式,通过指定镜像、模型、代码、启动命令和三方库的方式来部署 AI 大模型,能够适配用户的绝大多数自定义场景。本文为您介绍如何通过自定义创建方式部署 AI 应用。

前提条件

  • 容器服务 VKE

    • 已创建 VKE 集群,具体操作可参见 创建集群
    • (可选)如需挂载对象存储 TOS,请提前安装 csi-tos 组件。具体操作请参见 安装组件
    • (可选)如需以弹性容器实例方式部署,仅适用于网络模型为 VPC-CNI 的 VKE 集群,且集群中需提前安装 vci-virtual-kubelet 组件。具体操作请参见 安装组件
    • (可选)如需使用 GPU 资源,请提前安装 nvidia-device-plugin 组件。具体操作请参见 安装组件
    • (可选)如需挂载配置项(ConfigMap),请提前在 VKE 集群的待部署命名空间下创建配置项。具体操作请参见 创建配置项
  • 持续交付 CP

    • 已接入部署资源。部署资源必须为容器服务 VKE 集群。具体操作请参见 接入部署资源
    • 已获得训练好的模型。
    • (可选)如需使用自定义镜像,请提前准备镜像地址,或将镜像上传至火山引擎镜像仓库。具体操作请参见 推送和拉取镜像快速入门
  • (可选)如需挂载模型文件,请完成以下准备工作,任选一种存储即可。

    • 对象存储 TOS
      • 已将模型上传至 TOS Bucket 存储。具体操作请参见 对象存储快速入门
      • 已获取当前账号的访问密钥 AK & SK。建议使用最小化授权的 IAM 用户的访问密钥,要求已授权对应文件的访问权限。具体操作请参见 AI 仓库挂载和存储加速
    • 文件存储 NAS
      • 已将模型上传至 NAS 存储,要求 NAS 与待部署的 VKE 集群处于相同的 VPC。具体操作请参见 文件存储快速入门
    • 制品仓库
      • 已将模型上传至制品仓库存储。具体操作请参见 上传和下载 AI 格式制品快速入门
      • 已获取当前账号的访问密钥 AK & SK。建议使用最小化授权的 IAM 用户的访问密钥,要求该 IAM 用户已授权仓库挂载权限。
  • (可选)如需配置外部访问方式,请完成以下准备工作,任选一种方式即可。

    • API 网关:已创建网关实例,要求网关实例与待部署的 VKE 集群处于相同的 VPC。具体操作请参见 创建实例
    • 负载均衡 CLB:已创建负载均衡实例,要求负载均衡实例与待部署的 VKE 集群处于相同的 VPC。具体操作请参见 创建负载均衡实例

操作步骤

  1. 登录 持续交付控制台

  2. 在左侧导航栏选择 AI 应用

  3. 在 AI 应用页面,单击 创建应用

  4. 选择 自定义创建 模板,并单击 下一步:应用配置

  5. 按要求填写应用的相关配置信息。配置完成后单击 确定,应用将开始创建并部署。

    基本信息

    配置项说明
    应用标识根据界面提示填写应用标识。应用标识是应用的唯一标识,创建后不可更改。
    应用显示名自定义应用的显示名称。
    描述填写当前应用的备注信息,可以为空。

    部署集群

    配置项说明

    部署资源

    选择前提条件中接入的 VKE 部署集群。

    注意

    如需以弹性容器实例方式部署,仅适用于网络模型为 VPC-CNI 的 VKE 集群,且集群中需提前安装 vci-virtual-kubelet 组件。

    命名空间选择或输入要部署的命名空间。输入的命名空间不存在时会自动创建。
    环境标识自定义当前环境的唯一标识。环境标识创建成功后不支持修改。

    模型配置

    alt

    配置项说明

    镜像选择

    支持通过以下方式选择 AI 应用使用的容器镜像。

    • 预置镜像:CP 预置了基于不同机器学习框架的官方镜像,帮助您快速构建 AI 应用的运行环境。您可基于使用的模型选择合适的镜像和版本。当前支持 triton、TensorFlow、pytorch、stable-diffusion-webui、Llama-Factory。

    • 自定义镜像:如果预置镜像无法满足您的业务需求,支持从您的火山引擎镜像仓库选择自己的容器镜像。请选择目标镜像所在的 地域实例命名空间OCI 仓库Tag。若需私有镜像仓库授权,请勾选 鉴权 开关,并输入 用户名密码

    • 镜像地址:如果预置镜像无法满足您的业务需求,支持直接输入外部镜像地址。镜像地址格式为host/namespace/repo:tag。若需私有镜像仓库授权,请勾选 鉴权 开关,并输入 用户名密码

    模型选择

    (可选)单击 添加模型挂载,配置模型文件。一个 AI 应用支持挂载多个模型。提供以下方式配置模型文件,请按需选择。

    • TOS 挂载:通过火山引擎对象存储 TOS 挂载模型文件。

      • 选择模型文件所在的 地域Bucket,并填写具体 路径

      • AK & SK:输入当前账号的访问密钥 AccessKey ID(AK)和 Secret Access Key(SK)。建议使用最小化授权的 IAM 用户的访问密钥,要求已授权对应文件的访问权限。

      • 挂载路径:挂载到 AI 应用中的目标路径,用来读取 TOS 路径中的模型文件。

    • 制品库挂载:通过火山引擎制品仓库挂载模型文件。

      • 制品库:选择模型文件所在的 地域实例仓库命名空间模型名称版本。仅支持选择 AI 制品仓库

      • AK & SK:输入当前账号的访问密钥 AccessKey ID(AK)和 Secret Access Key(SK)。建议使用最小化授权的 IAM 用户的访问密钥,要求该 IAM 用户已授权仓库挂载权限。

      • 挂载路径:挂载到 AI 应用中的目标路径,用来读取制品库中的模型文件。

    • NAS 挂载:通过火山引擎文件存储 NAS 挂载模型文件。

      • 文件系统类型:选择文件系统类型,支持 极速型容量型。要求 NAS 与待部署的 VKE 集群处于相同的 VPC。

      • 挂载点:选择要挂载的 文件系统挂载点

      • 子目录:输入待挂载的文件系统的子目录信息,默认为根目录/

      • 挂载路径:挂载到 AI 应用中的目标路径,用来读取 NAS 路径中的模型文件。

    启动命令

    设置应用的启动命令和监听的容器端口。

    • 启动命令:针对不同的预置镜像,系统提供了默认的启动命令。例如:使用 trition 镜像时,默认的启动命令为 tritonserver --model-repository=/models。支持根据业务需求修改启动命令。

    • 端口:设置应用监听的容器端口。

    注意

    --model-repository用于指定模型的路径,需要与 模型选择 中的 挂载路径 保持一致。

    • 生命周期命令配置:如需配置容器启动后或停止前的命令,请勾选 生命周期命令配置
      • 容器启动后:输入容器启动后要执行的命令。

      • 容器停止前:输入容器停止前要执行的命令。

    高级配置(可选)支持按需为应用添加 输入输出配置三方库配置环境变量健康检查,详情参见下方表格。

    高级配置(可选)

    配置项说明

    输入输出配置

    支持代码、配置项、插件、输出物等的存储配置。提供以下配置方式,请按需选择。

    • TOS 挂载:选择目标 TOS 地域Bucket,并输入具体 路径

      • AK & SK:输入当前账号的访问密钥 AccessKey ID(AK)和 Secret Access Key(SK)。建议使用最小化授权的 IAM 用户的访问密钥。

      • 挂载路径:挂载到 AI 应用中的目标路径。

    • 配置项挂载

      • 名称:请输入配置项(ConfigMap)名称。要求配置项必须属于待部署的命名空间。

      • 挂载路径:挂载到 AI 应用中的目标路径。

    • NAS 挂载

      • 文件系统类型:选择文件系统类型,支持 极速型容量型。要求 NAS 与待部署的 VKE 集群处于相同的 VPC。

      • 挂载点:选择要挂载的 文件系统挂载点

      • 子目录:输入待挂载的文件系统的子目录信息,默认为根目录/

      • 挂载路径:挂载到 AI 应用中的目标路径。

    三方库配置

    配置应用运行过程中需要的一些三方库依赖。

    • PIP:从 火山引擎 PIP 镜像源 中下载您需要的 Python 依赖。您只需填写文件名称即可,多个文件之间支持以,\n做分隔。

    环境变量

    按需配置环境变量。环境变量的信息会注入应用运行的环境中,以便在运行时动态地配置应用程序。支持添加多条环境变量。

    • Key:输入环境变量的名称。

    • Value:输入环境变量的值。

    健康检查

    当前为存活检查:检查容器是否正在运行,探测失败时会重启容器。

    • 检查方式

      • HTTP 请求检查:使用 HTTP 或 HTTPS 协议,向容器发送一个 HTTP Get 请求,通过检查响应确认容器状态。您需要进行如下检查配置:

        • 协议:HTTP 或 HTTPS。

        • 请求头:HTTP 请求中自定义的请求头(HTTP Headers)。单击 添加, 输入请求头的 key 和 value。

        • 路径:输入业务代码中用于健康检查的访问路径。默认为/,支持修改。

        • 端口:输入应用的访问端口。默认为 8080,支持修改。

      • TCP 端口检查:向应用发送一个 TCP Socket,探测是否可正常建立连接。您需要进行如下检查配置:

        • 端口:输入应用的访问端口。默认为 8080,支持修改。
    • 时间设置

      配置检查的时间参数,包括:

      • 初始等待时间:指应用启动后,第一次执行探测时需要等待的时间,默认为 1 秒。

      • 超时时间:指发送检查请求后,等待响应的超时时间。超过此时间表示应用无响应,默认为 1 秒。

      • 检查间隔:相邻两次检查的时间间隔。默认为 10 秒。

    • 阈值设置

      配置检查的结果阈值,包括:

      • 成功阈值:检查请求发送后,表示系统正常的响应次数,默认为 1 次。该项不可配置。

      • 失败阈值:检查请求发送后,表示系统异常的无响应次数,默认为 3 次。即如果应用对请求 3 次无响应,则认为应用状态异常。

    自定义标签/注解支持在应用中添加标签(Label)和注解(Annotation)。

    分布式推理

    当前仅预置镜像为 vLLM 或 SGLang 时支持。

    • 机器数:填写 部署单个实例所需的机器数。例如,一个大模型服务需要 4 个实例,部署单个实例所需的机器数为 2,则一共需要 4 ✖️ 2 = 8 台机器(节点)部署该服务。如果集群的节点数不足 8 台将导致部署失败。VKE 中增加节点的说明参见 集群扩容
    • RDMA 配置:是否在资源中开启 RDMA 功能。RDMA (Remote Direct Memroy Access,远程直接内存访问)是一种高性能网络协议,能够减少了CPU 占用,减少内存带宽瓶颈,提高带宽利用率。当前仅高性能计算 GPU 型实例支持 RDMA。在容器服务中,开启 RDMA 资源的使用请参考文档:VKE 集群中使用 RDMA 资源
    • RDMA 卡数:开启 RDMA 功能的卡数。

    服务规格

    • 勾选 以弹性容器实例方式部署

      配置项说明
      实例数根据业务规模,设置应用的副本数。

      弹性容器实例

      保持勾选 以弹性容器实例方式部署。使用该方式部署应用,无需管理底层云服务器等基础设施,只需提供镜像即可运行容器,并为实际消耗的资源付费。计费详情,请参见 弹性容器计费说明

      说明

      如果您在 VCI 侧申请镜像缓存 的邀测功能,AI 应用创建时将默认开启镜像缓存,加速镜像拉取。

      日志采集

      是否通过火山引擎日志服务 TLS 采集 VCI 容器日志,对日志进行持久化存储。

      • 勾选,开启日志采集。

      • 不勾选,不开启日志采集。

      注意

      开启日志采集后,请确保已在 VKE 集群的日志中心中完成相关日志采集规则的配置,保证日志可正常投递至您配置的项目和主题中。具体操作请参见 采集容器日志

      资源配置类型

      根据业务需求选择要使用的实例规格。不同计算规格提供的虚拟化能力不同,详情请参见 VCI 实例规格介绍

      • 通用型:搭配多种 vCPU、内存配比的通用型规格族。

      • GPU 计算型:基于多种 NVIDIA Tesla 显卡提供的 GPU 计算型实例规格族。

      系统盘

      设置系统盘容量。系统盘主要用于缓存镜像,容量必须大于镜像大小。

      说明

      如果您在 VCI 侧 申请 了手动指定系统盘大小的邀测功能,支持在此处自定义系统盘的容量。

    • 不勾选 以弹性容器实例方式部署

      配置项说明
      实例数根据业务规模,设置应用的副本数。

      资源配置类型

      • CPU:定义每个实例的 CPU 规格。其中,CPU 请求 ≤ CPU 上限。
      • 内存:定义每个实例的内存规格。其中,内存请求 ≤ 内存上限。
      • GPU 资源类型:是否使用 GPU 资源。
        • 不开启:使用传统 CPU 计算资源。
        • Nvdia:使用 GPU 计算资源,当前提供 Nvdia 卡型,支持自定义 GPU 算力
        • mGPU:mGPU(multi-container GPU),也称为共享 GPU,是基于内核虚拟化隔离 GPU,结合自研调度框架,支持多容器共享 GPU,实现算力和显存灵活调度与隔离,降低成本并保障资源利用。mGPU 支持单卡和多卡共享模式,多卡模式 需要配置算力的分配策略。
          • 固定配额:每个容器都有固定的算力配额,在容器运行过程中即使 GPU 还有剩余算力,也无法超过固定算力配额。
          • 固定争抢:每个容器都有保底的算力配额,但只要 GPU 还有空闲算力,就可以被容器使用。
          • 争抢模式:可设置算力配额,设置的值越高,可争抢到的配额越高,但不保证每个容器都能争抢到与已设置的算力配额相同的配额。

    访问配置(可选)

    配置 AI 应用的访问方式。详细内容可参见 访问设置

结果验证

  1. 验证应用是否部署成功
    在应用的 基本信息 > 资源配置 页签,查看应用的部署进度。支持通过实例的 运行状态实时日志事件,查看应用详细的启动和运行信息。
    alt

    • 查看实时日志:单击 实时日志,可查看应用的运行信息,方便运维和排障。
    • 查看事件:单击 事件,可查看应用的启动信息。最多可查看最近 1 小时内发生的事件信息。
  2. 获取应用的访问域名
    应用部署成功后,可在 访问设置 区域复制应用的访问地址。通过该地址去访问 AI 应用。

  3. 验证应用是否启动成功
    不同模型的验证方法不同。下图以使用 triton 推理引擎的 AI 应用为例,可通过以下命令查询应用中的某个模型是否启动成功。