在您使用专属资源组部署服务时,EAS提供了GPU共享功能,以便充分利用资源。您只需在部署服务时打开GPU共享开关,系统便会在服务中部署虚拟化的GPU,EAS可以根据您配置的算力占比和使用显存来指定每个实例所需的资源。本文为您介绍如何配置GPU共享功能。

前提条件

已创建专属资源组并购买机器资源。具体操作,请参见使用专属资源组

使用限制

  • 当前GPU共享功能仅供白名单用户受限申请使用,如果您希望使用GPU共享功能,请先提交工单,申请添加GPU共享功能使用白名单。

  • 仅使用专属资源组部署服务时,支持配置GPU共享功能。

创建服务时配置GPU共享

通过控制台配置GPU共享

  1. 进入模型在线服务(EAS)页面。

    1. 登录PAI控制台

    2. 在左侧导航栏单击工作空间列表,在工作空间列表页面中单击待操作的工作空间名称,进入对应的工作空间。

    3. 在工作空间页面的左侧导航栏选择模型部署 > 模型在线服务(EAS),进入模型在线服务(EAS)页面。

  2. 单击部署服务,然后在自定义模型部署区域,单击自定义部署

  3. 资源部署信息区域,配置以下关键参数,其他参数配置说明,请参见服务部署:控制台image

    参数

    描述

    资源组种类

    资源组选择已创建的专属资源组。

    GPU共享

    选中GPU共享复选框。

    部署资源

    配置以下配置项:

    • 单卡使用显存(GB):每个实例所需的GPU显存数量,取值为整型,单位为GB。系统支持实例按显存进行调度,实现单卡共享多实例功能。

      重要

      当前未开启显存的严格隔离,您需自行控制各实例的显存使用量,不能超出申请量,避免出现显存内存溢出。

    • 单卡算力占比(%):每个实例所需的单个GPU算力比例,取值为1~100之间的整数。例如填写10,则表示单个GPU10%算力。系统支持实例按算力进行调度,实现单卡共享多实例功能。

  4. 参数配置完成后,单击部署

通过本地客户端配置GPU共享

  1. 下载并认证客户端,以Windows 64版本为例。

  2. 在客户端文件所在目录新建JSON格式的文件,命名为service.json,文件内容示例如下。

    {
        "containers": [
            {
                "image": "eas-registry-vpc.cn-beijing.cr.aliyuncs.com/pai-eas/chat-llm-webui:3.0.4",
                "port": 8000,
                "script": "python webui/webui_server.py --port=8000 --model-path=Qwen/Qwen1.5-7B-Chat"
            }
        ],
        "metadata": {
            "cpu": 8,
            "enable_webservice": true,
            "gpu_core_percentage": 5,
            "gpu_memory": 20,
            "instance": 1,
            "memory": 20000,
            "name": "testchatglm",
            "resource": "eas-r-fky7kxiq4l2zzt****",
            "resource_burstable": false
        },
        "name": "test"
    }

    其中关键参数说明如下。其他参数配置说明,请参见服务模型所有相关参数说明

    参数

    描述

    gpu_memory

    每个实例所需的GPU显存数量,取值为整型,单位为GB。

    系统支持实例按显存进行调度,实现单卡共享多实例功能。如果使用显存调度,则需要将gpu字段配置为0。当gpu字段配置为1时,表示实例独占整张GPU卡,此时gpu_memory字段会被忽略。

    重要

    当前未开启显存的严格隔离,您需自行控制各实例的显存使用量,不能超出申请量,避免出现显存内存溢出。

    gpu_core_percentage

    每个实例所需的单个GPU算力比例,取值为1~100之间的整数,单位为百分比。例如填写10,代表的是单个GPU10%算力。

    系统支持实例按算力进行调度,实现单卡共享多实例功能。另外指定该参数时,必须指定gpu_memory参数,否则该参数不生效。

    resource

    已创建的专属资源组ID。如何查看专属资源组ID,请参见管理专属资源组

  3. 打开终端工具,在JSON文件所在目录,使用以下命令创建服务。更多操作说明,请参见命令使用说明

    eascmdwin64.exe create <service.json>

    其中:<service.json>需要替换为您创建的JSON文件名称。

更新服务使用GPU共享

如果您在使用专属资源组部署服务时没有使用GPU共享功能,您可以通过更新服务配置来开启GPU共享功能。

通过控制台更新服务使用GPU共享

  1. 模型在线服务(EAS)页面,单击目标服务操作列下的更新服务

  2. 更新服务页面的资源部署信息区域,配置资源组种类GPU共享部署资源参数,参数配置详情,请参见通过控制台配置GPU共享

  3. 参数配置完成后,单击更新

通过本地客户端更新服务使用GPU共享

  1. 下载并认证客户端,以Windows 64版本为例。

  2. 在客户端文件所在目录新建JSON格式的文件,命名为instances.json,文件内容示例如下。

    "metadata": {
            "gpu_memory": 2,
            "gpu_core_percentage": 5
        }

    其中参数配置说明,请参见通过本地客户端配置GPU共享

  3. 打开终端工具,在JSON文件所在目录,使用以下命令修改EAS服务使用GPU共享功能。

    eascmdwin64.exe modify <service_name> -s <instances.json>

    其中:<service_name>需要替换为EAS服务名称;<instances.json>需要替换为新建的JSON文件名称。