在您使用专属资源组部署服务时,EAS提供了GPU共享功能,以便充分利用资源。您只需在部署服务时打开GPU共享开关,系统便会在服务中部署虚拟化的GPU,EAS可以根据您配置的算力占比和使用显存来指定每个实例所需的资源。本文为您介绍如何配置GPU共享功能。
前提条件
已创建专属资源组并购买机器资源。具体操作,请参见使用专属资源组。
使用限制
当前GPU共享功能仅供白名单用户受限申请使用,如果您希望使用GPU共享功能,请先提交工单,申请添加GPU共享功能使用白名单。
仅使用专属资源组部署服务时,支持配置GPU共享功能。
创建服务时配置GPU共享
通过控制台配置GPU共享
进入模型在线服务(EAS)页面。
登录PAI控制台。
在左侧导航栏单击工作空间列表,在工作空间列表页面中单击待操作的工作空间名称,进入对应的工作空间。
在工作空间页面的左侧导航栏选择 ,进入模型在线服务(EAS)页面。
单击部署服务,然后在自定义模型部署区域,单击自定义部署。
在资源部署信息区域,配置以下关键参数,其他参数配置说明,请参见服务部署:控制台。
参数
描述
资源组种类
资源组选择已创建的专属资源组。
GPU共享
选中GPU共享复选框。
部署资源
配置以下配置项:
单卡使用显存(GB):每个实例所需的GPU显存数量,取值为整型,单位为GB。系统支持实例按显存进行调度,实现单卡共享多实例功能。
重要当前未开启显存的严格隔离,您需自行控制各实例的显存使用量,不能超出申请量,避免出现显存内存溢出。
单卡算力占比(%):每个实例所需的单个GPU算力比例,取值为1~100之间的整数。例如填写10,则表示单个GPU的10%算力。系统支持实例按算力进行调度,实现单卡共享多实例功能。
参数配置完成后,单击部署。
通过本地客户端配置GPU共享
下载并认证客户端,以Windows 64版本为例。
在客户端文件所在目录新建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,代表的是单个GPU的10%算力。
系统支持实例按算力进行调度,实现单卡共享多实例功能。另外指定该参数时,必须指定gpu_memory参数,否则该参数不生效。
resource
已创建的专属资源组ID。如何查看专属资源组ID,请参见管理专属资源组。
打开终端工具,在JSON文件所在目录,使用以下命令创建服务。更多操作说明,请参见命令使用说明。
eascmdwin64.exe create <service.json>
其中:
<service.json>
需要替换为您创建的JSON文件名称。
更新服务使用GPU共享
如果您在使用专属资源组部署服务时没有使用GPU共享功能,您可以通过更新服务配置来开启GPU共享功能。
通过控制台更新服务使用GPU共享
在模型在线服务(EAS)页面,单击目标服务操作列下的更新服务。
在更新服务页面的资源部署信息区域,配置资源组种类、GPU共享、部署资源参数,参数配置详情,请参见通过控制台配置GPU共享。
参数配置完成后,单击更新。
通过本地客户端更新服务使用GPU共享
下载并认证客户端,以Windows 64版本为例。
在客户端文件所在目录新建JSON格式的文件,命名为
instances.json
,文件内容示例如下。"metadata": { "gpu_memory": 2, "gpu_core_percentage": 5 }
其中参数配置说明,请参见通过本地客户端配置GPU共享。
打开终端工具,在JSON文件所在目录,使用以下命令修改EAS服务使用GPU共享功能。
eascmdwin64.exe modify <service_name> -s <instances.json>
其中:
<service_name>
需要替换为EAS服务名称;<instances.json>
需要替换为新建的JSON文件名称。