Skip to content

使用包年包月资源部署推理服务

本文描述如何使用包年包月资源部署普通推理服务,适用于需要稳定运行、持续对外提供服务的在线推理场景。

您将了解:

  • 如何准备推理服务依赖的模型、环境。
  • 如何选择包年包月资源池、实例规格、实例数量和网络配置。
  • 如何查看服务部署状态。
  • 如何访问已部署的服务。

信息

如需先判断推理类型和资源类型,请查看选择推理类型与资源类型。如需使用 Spot 资源,请查看使用 Spot 资源部署推理服务

开始前确认资源和权限

使用包年包月资源部署推理服务前,先确认资源池、可启动规格、模型文件、镜像和访问方式。准备不完整时,通常会在资源池、实例规格、存储配置、镜像或内网配置处中断。

  • 包年包月资源池:当前账号需要能看到目标默认或专属资源池。如果资源池列表为空,联系管理员确认资源池权限,或确认租户是否已购买可用于 AIStudio 的包年包月资源。

  • 可启动规格:选择资源池后,目标实例规格的可启动数量需要满足实例数量。实例数量越大,占用的 GPU、vCPU 和内存越多;升级或回滚时,滚动更新策略也会影响资源替换过程。

    警告

    不要只看资源池空闲 GPU 总数。空闲 GPU 如果分散在不同资源节点上,可能无法启动需要多卡或整节点资源的实例。创建前可查看占用情况负载排队情况,判断目标规格是否可启动。

  • 模型文件:正式部署建议将模型文件放在共享高性能存储、公共数据或镜像中,避免依赖推理服务容器系统盘。系统盘固定 50 GiB,且为非持久化存储。

  • 镜像:确认平台预置镜像或租户自定义镜像包含所需推理框架和依赖。使用 vLLM 或 SGLang 时,可参考使用 vLLM 部署推理服务使用 SGLang 部署推理服务

  • 端口与访问方式:提前确认服务监听端口、调用端口、监控端口,以及是否需要外网访问。启动命令中的监听端口需要与内网配置保持一致。

如租户尚未购买包年包月资源,需要先在算力市场完成购买,或联系商务、售后服务下单。购买前确认 GPU 型号、资源节点数量、购买周期和可用区。

提示

包年包月算力资源是指租户按固定周期购买算力资源配额的独占使用权。购买完成后,平台会将资源纳入资源池;部署推理服务时仍需选择资源池和单个实例使用的算力规格。AIStudio 提供的是池化算力资源,不是可直接登录的裸机或虚拟机。

如果不确定资源池总量、实例规格和可启动数量的关系,请阅读算力资源模型

准备模型文件和镜像

确认资源池和可启动规格后,在部署模型推理服务之前,还需要准备以下内容:

  • 模型文件:将模型文件放置在共享高性能存储、公共数据或镜像中。推理服务实例可通过挂载的方式访问共享高性能存储中的模型文件。为确保推理服务的稳定与高效,我们建议:

    • 提前准备模型文件并将其放置在共享高性能存储中。避免在推理服务启动代码中动态下载模型。
    • 使用免费的 AICoder 来访问和操作共享高性能存储。详见 AICoder · 下载模型至高性能存储

    信息

    如果使用公共数据或共享高性能存储,先确认目标可用区已提供对应数据或存储资源。如需新建或管理共享高性能存储,请参考管理共享高性能存储

  • 运行环境(镜像):使用平台预置镜像,或使用租户的自定义镜像。

    • 平台预置镜像:平台预置了部分版本的 vLLM、SGLang,方便用户快速部署。
    • 自定义镜像:您可以在平台镜像中心构建自定义镜像,自行安装符合要求的 vLLM / SGLang 等软件版本;如需使用现有镜像。您可以参考导入或跨可用区迁移镜像

创建推理服务

访问智算云控制台的推理服务页面,点击 创建推理服务,进入创建界面。

请根据页面提示,完成下方所有步骤中的配置。

Step 0 选择推理服务类型

在创建推理服务之前,请首先选择推理类型。

  • 推理服务:适用于大多数模型服务部署。本文后续步骤按该类型说明。
  • 分布式推理服务:适用于单个容器无法承载的超大模型。详见部署分布式推理服务
  • 无卡推理服务:适用于不需要 GPU 的轻量 API、CPU 推理、网关或前后处理服务。详见部署无卡推理服务

选择推理服务后,继续配置算力资源与规格。

Step 1 选择算力资源与规格

首先,在「规格信息」区域选择合适的 GPU 算力资源。

  1. 资源类型:选择 包年包月资源。平台会列出租户下的所有包年包月资源池。在资源池下拉列表中可直接查看池中空闲卡数。 如需使用 Spot 资源,请改用使用 Spot 资源部署推理服务

    使用包年包月资源时,点击占用情况负载排队情况可查看当前资源占用明细,并提前判断是否可启动足够数量的实例。

    信息

    什么是占用情况负载排队情况

    在 AI/ML 工作负载中,GPU 资源的分配通常具有特定的需求。例如:某些工作负载要求在一组节点上运行,每节点必须提供 8 个空闲 GPU,而非在多个节点上分散的 GPU 资源。智算云平台的占用情况视图提供资源池各个节点 GPU 占用的实时视图,而工作负载优先级调度功能支持允许查看当前工作负载排队等待资源的情况,超级管理员通过拖拽高优先级负载至优先调度队列,可确保关键任务优先获得 GPU 资源。详见查看资源使用与排队情况

  2. 实例规格:选择运行推理服务的算力规格。每种规格定义了 CPU、显卡型号、显卡数量和内存的组合。平台会根据所选资源池的剩余资源,计算出每种规格的「可启动数量」。例如,NVIDIA A100-40G-NVLink 显卡数量 1 的可启动数量为 9,表示当前资源池最多可以启动 9 个使用单张 A100-40G 显卡的容器。 可启动数量表示当前资源池还能放置多少个该规格容器。平台按 GPU 在各资源节点上的空闲分布计算这个数量,而不是只按剩余 GPU 总数计算。

  3. RDMA 配置: 如果所选规格的「训练网配置」为 RoCE 或 IB 且 GPU 数量为 8 卡,可看到该附加配置项。RDMA 配置在规格为 8 卡时自动开启,GPU 数量小于 8 卡时无法开启 RDMA。

    警告

    GPU 数量小于 8 卡时无法开启 RDMA 配置。

  4. 实例数量:设置您希望运行的推理服务实例数量。

    • 如果实例数量设置为大于 1,平台将自动提供负载均衡。
    • 如果资源不足,服务可能部署失败或部分实例无法启动。
  5. 滚动更新:设置服务在进行升级或回滚操作时,允许同时处于不可用状态的最大实例百分比。

    • 在开发测试阶段,如果只使用单个实例,可设置为 0%。
    • 如果使用多个实例,可以设置为 50% 或根据容灾需求调整。
    • 详细说明请参考升级服务

Step 2 配置服务与镜像

在此步骤中,配置推理服务使用的镜像和启动命令等核心参数。

  • 镜像:选择运行推理服务的容器镜像。您可以在预置镜像我的镜像(自定义镜像)中选择。

    • 使用预置推理镜像:平台预置了推理服务专用镜像。这些镜像通常集成了常用框架(如 SGLang, vLLM)。详见使用预置推理服务镜像
    • 使用自定义镜像:如果您需要特定的环境或依赖,可以选择您自己构建或导入的镜像。
  • 启动命令:填写在容器实例启动时执行的命令。您需要根据预置镜像自定义镜像内的环境和推理框架编写相应的启动命令,例如设置环境变量、准备模型路径、启动推理服务进程。我们提供了部分示例:

    警告

    推荐阅读优化推理服务启动命令

Step 3 配置存储

配置实例的存储挂载。

  • 系统盘: 指推理服务容器实例的根目录 / 的存储大小,固定为 50GiB,非持久化存储,通常用于存放操作系统和镜像内容。

  • 公共数据:若所选算力规格位于支持的可用区(如广东B、宁夏B、北京D),可勾选「挂载公共数据」。勾选后,容器内 /infini-data/ 路径下将以只读方式挂载常用的开源模型和数据集。

  • 高性能存储: 挂载租户的共享高性能存储卷。必须在此处添加挂载点,才能在实例内部访问共享存储中的数据(如模型文件)。详见共享高性能存储

    • 文件系统名称:选择租户在当前可用区的文件系统(租户在一个可用区一般仅一个文件系统)。
    • 存储卷:选择需要挂载的共享存储卷。
    • 挂载路径:指定该存储卷在实例内部的挂载路径(例如 /mnt/public)。请确保证在推理服务可通过此路径访问模型文件及代码。

    共享高性能存储配置项如下(表中为配置示例):

    文件系统名称存储卷名称与 ID挂载点(容器内访问路径)挂载权限
    广东B-默认高性能存储/public (vo-c7kcjqv2tjs5llry)/mnt/public公共读写

Step 4 配置外网访问

配置服务的外网访问地址、鉴权方式。详见访问推理服务

  • 外网访问:启动此项,服务将可以通过公网访问。从公网访问推理服务(例如,跨可用区访问,或从您的本地设备调用 API),必须通过 API Key 验证。

    • 默认地址:平台会自动生成一个唯一的公网访问 URL,格式通常为 https://<您的租户特定域名>/AIStudio/inference/api/<推理服务ID>/。推荐使用此选项。
    • 自定义地址:允许您自定义 URL 中的部分路径,但不支持自定义域名。格式类似 https://<您的租户特定域名>/AIStudio/inference/api/<自定义路径>/
  • Auth 配置 此选项仅在 启用外网访问 时生效,用于指定客户端在调用推理服务 API 时,传递身份验证凭证(如 API Token)所使用的 HTTP Header 名称。平台支持两种方式:

    • Authorization (默认)

      • 说明:使用 HTTP 标准的 Authorization Header 进行身份验证。例如,请求中会包含 Authorization: Bearer <your_token>
      • 优点:兼容性强,是业界标准。大多数现有的 API 请求代码和工具(如 curl, Postman, Python requests)默认支持此 Header,通常无需修改客户端代码。
      • 适用场景:推荐用于大多数情况,特别是直接调用 API 或与标准工具集成时。
    • X-Infini-Auth

      • 说明:使用平台自定义的 X-Infini-Auth Header 进行身份验证。例如,请求中会包含 X-Infini-Auth: Bearer <your_token>
      • 优点:可以避免与其他可能在代理、网关或前端应用(例如 OpenWebUI)中也使用或拦截 Authorization Header 的系统产生命名冲突。
      • 缺点:非标准 Header,客户端代码需要显式添加或修改为使用 X-Infini-Auth 来传递凭证。
      • 适用场景:当您的调用链路中存在中间件或前端应用,且其行为与标准的 Authorization Header 冲突时,可以选用此选项以规避冲突。

    信息

    无论选择哪种 Header 名称,身份验证的凭证内容(通常是平台生成的 API 密钥)及其生成和管理方式保持不变。此配置仅改变传递凭证时所使用的 HTTP Header 的名称。选择 X-Infini-Auth 后,请确保更新您的 API 调用代码以使用正确的 Header。获取 API Key 方式详见 API 密钥管理

Step 5 内网配置

平台通过您设置的监听端口将外部流量转发到容器内部。因此,该监听端口必须容器内服务的监听端口一致(常通过 --port/server_port/--http-port 之类参数指定),否则平台无法正确访问您的服务。

  • 监听端口:您的推理服务应用程序在容器内部监听的端口(例如,SGLang OpenAI API Server 默认监听 30000)。
  • 调用端口:服务暴露给内部网络(如开发机、AICoder或其他服务)进行调用的端口。平台负载均衡器会将发往调用端口的请求转发到实例的监听端口。通常可以设置为 80 (HTTP) 或 443 (HTTPS,如果您的服务支持)。
  • 监控端口:用于平台采集服务指标。如需平台直接采集引擎暴露的 Production Metrics,需要确保在创建服务时配置监控端口(后续无法修改)。详见 LLM 场景业务监控

警告

如果推理服务提供 Web UI(例如某些文生图服务),建议将调用端口设置为 80,以便通过浏览器直接访问。

Step 6 高级配置 (可选)

配置服务的自动扩缩容策略。

  • 扩缩容:默认关闭。建议在首次部署并验证服务可用性后,再根据需求配置。

    • 手动扩缩容:部署后,在服务详情页手动调整实例数量。
    • 定时扩缩容:根据预设的时间计划自动调整实例数量;低谷可将目标缩至 0 实例(需申请开通,详见扩缩容)。
    • 自动扩缩容:根据 CPU/GPU 使用率、请求量等指标自动调整实例数量。
  • 详细使用方法请参考扩缩容

Step 7 填写基本信息

最后,为您的推理服务命名并添加描述。

  • 名称:推理服务的名称,1~64 个字符,支持中英文、数字、下划线 (_) 和连字符 (-)。名称在租户内不必唯一。
  • 描述: 可为服务添加添加自定义描述,上限 400 字符。
  • 标签: 可新建和绑定自定义标签。资源标签是一组键值对(Key-Value)。您可以通过标签从不同维度对一站式 AI 平台内的资源进行分类与聚合管理,用于按标签筛选等场景。详见标签管理

完成所有配置后,点击确认创建。服务将进入创建流程。

查看部署状态与访问

服务创建请求提交后,会进入部署中状态。平台会依次执行资源分配、存储网络准备、镜像拉取、服务启动等操作。

部署过程可能需要一些时间,具体取决于镜像大小、网络状况和实例数量。您可以在推理服务列表页查看服务的状态。

  • 查看部署进度:如果服务长时间处于部署中状态,可以将鼠标悬停在状态图标上,或点击状态栏的 ... 图标(如果可用),查看详细的部署子步骤和进度。 如果在某个子步骤(如拉取镜像)遇到错误,平台通常会自动重试。如果长时间卡住或最终失败,请检查配置(如镜像名称、启动命令、模型路径)是否正确。

  • 访问服务:一旦服务状态变为运行中,您就可以根据 Step 3 中配置的网络方式访问服务了。

    • 内网访问:在平台内的开发机、AICoder 或其他任务/服务中,可以通过服务名和调用端口访问,例如 http://<service-name>:<调用端口>/<api-path>
    • 外网访问:如果开启了外网访问,使用平台生成的公网 URL 进行访问。您需要前往访问控制密钥管理页面,申请 API 密钥。

常见问题

请移步推理服务常见问题