You need to enable JavaScript to run this app.
导航
创建和部署 AI 应用(自定义创建)
最近更新时间:2024.10.17 15:30:09首次发布时间:2024.05.17 16:14:30

AI 应用是针对大模型在线推理场景推出的一站式开发部署运维平台。自定义创建为用户提供了相对灵活的 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. 登录应用管理页面。

    1. 登录 持续交付控制台

    2. 在左侧导航栏选择 工作区

    3. 单击目标工作区名称,进入当前工作区。

    4. 在左侧导航栏选择 应用交付 > 应用管理

  2. 在应用管理页面,单击 创建应用

  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 次无响应,则认为应用状态异常。

服务规格

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

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

    弹性容器实例

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

    说明

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

    日志采集

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

    • 勾选,开启日志采集。

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

    注意

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

    资源配置类型

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

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

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

    系统盘

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

    说明

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

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

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

    资源配置类型

    • CPU:定义每个实例的 CPU 规格。其中,CPU 请求 ≤ CPU 上限。

    • 内存:定义每个实例的内存规格。其中,内存请求 ≤ 内存上限。

    • GPU 资源类型:是否使用 GPU 资源。

      • 不开启:使用传统 CPU 计算资源。

      • 开启:使用 GPU 计算资源,当前提供 Nvdia 卡型,支持自定义 GPU 算力

访问配置(可选)

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

结果验证

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

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

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