部署模型为在线服务
在线服务有新旧2个版本,新版在线服务功能当前受限发布,如需开通,请提工单申请权限。
一键部署在线服务功能仅支持在“西南-贵阳一”区域的新版控制台中体验。
在线推理是指利用部署在远程服务器或云平台上的 AI/机器学习模型,通过网络接收用户输入的数据或问题,并实时返回处理结果或决策的过程。在线推理是一种基于云端模型的实时交互式服务,提供低延迟、高可用性的 AI 智能服务,让用户无需本地部署复杂模型即可获得强大的分析、预测、理解等能力,适用于需要快速响应和交互的场景。
ModelArts提供在线部署功能,支持将模型部署为一个Web Service,并且提供在线的测试UI与监控功能。部署成功的在线服务会提供一个可调用的API,您可以对部署成功的在线服务进行预测和调用。在线推理常用于对实时性要求较高的场景,如在线智能客服、自动驾驶中的实时决策等。
本章节主要介绍如何在ModelArts部署模型为在线服务,并对部署成功的在线服务进行预测。
前提条件
- 已按照准备工作完成数据准备。
- 由于在线运行需消耗资源,确保账户未欠费。
注意事项
针对使用资源池部署的在线服务,服务处于“异常”或“停止”等状态时,也占用配额资源。如果发现配额不足,无法部署更多服务时,可先删除部分异常服务释放资源。
- 配额计算:
- 计量计算:
- SFS Turbo挂载:
在线服务使用SFS Turbo挂载时需要有预置操作,打通SFS Turbo所在VPC和专属资源池网络。
部署在线服务-服务信息
- 登录ModelArts管理控制台,在左侧导航栏中选择“模型推理 > 在线推理”,默认进入“在线推理”列表。
- 在“在线服务”列表中,单击“部署服务”。
- 在“部署在线服务”页面,配置服务信息。
图1 基本配置
表1 基础配置参数说明 参数名称
说明
名称
在线服务的名称,用于标识和管理在线服务。请按照界面提示规则填写。支持1-64个字符,可以包含字母、汉字、数字、连字符和下划线。
描述
在线服务的简要说明。
服务类型
选择在线服务的服务类型,服务类型为文本生成的在线服务部署成功后,可支持对比推理服务效果。
自动停止
勾选后,需设置服务自动停止时间,默认为1小时,设置时长最多为24小时。
开启后,当服务运行时开始计时,运行时间超出您预设的时长,它将自动停止运行。
在线服务部署后,可在控制台“模型推理 > 在线推理”页面单击更多>设置自动停止,重新设置自动停止。
图2 调用配置
表2 调用配置参数说明 参数
说明
服务协议
在线服务提供的推理接口、模型进程提供的接口所使用的协议,请根据实际定义的推理接口进行配置。
可选协议:HTTPS、HTTP、WSS、WS。
HTTP/WS明文协议会导致数据泄露、数据篡改、流量劫持、钓鱼攻击等安全问题。请谨慎使用。
认证方式
支持“API KEY”、“IAM Token认证”、“无认证”方式。
选择API KEY认证方式需要您部署在线服务后,在“授权管理”页面完成API KEY的创建及绑定服务。
选择无认证,客户端可以直接调用API,安全性低,适合临时测试的场景/内网调用使用,不建议外网直接使用。
三种认证方式详细请参考访问在线服务支持的认证方式。
更多配置
- 每秒请求上限(次):服务流量限制是指每秒内一个服务能够被访问的次数上限。
- 请求大小限制(M):单个服务的请求大小限制,请求大小范围:1~50。单位:M。
- 请求超时时间(秒):服务预测请求超时时间。输入值必须在1到1200之间。单位:秒。
- 外网访问:在线服务是否允许外网访问。开启后允许外网访问服务,调用URL请在服务详情页查看在线服务调用信息。关闭后,不允许通过互联网访问在线服务。
- 内网接入免审批:在线服务内网连接是否需要审批。
开启后,三方用户的内网接入申请自动生效,无需审批。关闭后,需要审批。内网访问服务请参见通过内网访问在线服务。
- 访问管控:勾选后,可指定白名单或黑名单进行访问管控。
白名单:仅允许匹配的用户IP进行访问,最多支持添加10个正则表达式。
黑名单:仅不允许匹配的用户IP进行访问,最多支持添加10个正则表达式。
- 专属通道:开启后,可通过网络直连资源池模式访问推理服务接口,避免管理面通道转发带来的请求时延和相互影响。需要打通专属通道网络后才可使用。仅对专属资源池生效。
图3 高级配置
表3 高级配置参数说明 参数
说明
日志对接LTS
当在部署服务界面未开启“日志对接LTS”,则查看的是服务实时日志数据。
打开该配置后日志会投递到云日志服务(Log Tank Service,简称LTS)进行管理。计费采用按需计费方式,详情可参考LTS定价详情。LTS自动创建日志组和日志流,默认缓存7天内的运行日志。支持在LTS上对在线服务的运行日志进行搜索和分析。
- 日志搜索:通过输入搜索语句,在日志数据中查找包含特定关键词的日志记录。或者根据时间范围来检索日志数据,帮助您定位特定时间段内发生的事件和问题。
- 统计图表:日志上报LTS后,支持通过SQL分析语法搜索关键日志数据,并将查询结果通过统计图表的方式进行可视化展示。
- 日志分析:执行搜索与分析前,需要将上报的日志进行结构化配置和索引配置,方便进行搜索与分析。
- 实时日志:在线服务运行日志接入LTS后,每隔大约1分钟上报一次。因此,在实时日志页面,您最多需要等待1分钟左右,即可查看实时上报的日志,实现对日志数据的快速检索与分析。
详情请参考云日志服务 LTS。
标签
ModelArts支持对接标签管理服务TMS,在ModelArts中创建资源消耗性任务(例如:创建Notebook、训练作业、推理在线服务)时,可以为这些任务配置标签,通过标签实现资源的多维分组管理。
可以在标签输入框下拉选择TMS预定义标签,也可以自己输入自定义标签。预定义标签对所有支持标签功能的服务资源可见。租户自定义标签只对自己服务可见。
标签详细用法请参见ModelArts如何通过标签实现资源分组管理。
- 配置完服务信息,单击“下一步”,继续进行服务部署配置,详情请见部署在线服务-部署配置。
也可以单击“仅创建服务”,进入确认配置页面,请见部署在线服务-确认配置。后续在“在线服务”列表,单击操作列的“更多>添加部署”,参考部署在线服务-部署配置配置部署信息。
部署在线服务-部署配置
在“部署在线服务”页面分别进行基础配置、资源配置、模型配置等,然后单击“下一步”,进入确认配置页面,请见部署在线服务-确认配置。
- 基础配置
表4 基础配置参数说明 参数
说明
部署名称
当前部署的名称,用于标识和管理在线服务的部署配置。请按照界面提示规则填写。支持1-64位字符,可包含字母、中文、数字、中划线、下划线。
描述 (可选)
部署的简要说明。
- 资源配置
表5 资源配置参数说明 参数
说明
资源池类型
- 公共资源池
部署在线服务使用公共资源池。公共资源池提供公共的计算集群,根据用户作业参数分配使用,资源按作业隔离。公共资源池经济灵活,适用于开发测试等场景。
选择公共资源池部署时,由于资源有限,可能会出现资源余量不够的场景,请排队等待。
- 专属资源池
部署在线服务使用专属资源池。专属资源池不与其他用户共享,资源更可控。核心生产业务推荐选用专属资源池,以获得独占资源保障。
单元实例规格
当资源池类型选择“公共资源池”时,选择公共资源池的实例规格。
公共资源池有CPU或GPU两种规格,不同规格的资源池,其收费标准不同,详情请参见价格详情说明。当前仅支持按需付费模式。
当前公共资源池不支持开启专属通道,服务中的相关配置在该部署中无法生效。
资源池
当资源池类型选择“专属资源池”时,单击“选择专属资源池”,在专属资源池规格中选择对应的规格进行使用,单击“确定”。暂不支持选择创建了逻辑子池的物理池。
部署副本数
能够独立完成一次推理任务的单元组合定义为一个部署实例,一个部署可以指定多个实例副本。输入值必须在1到128之间。
- 公共资源池
- 模型配置
表6 模型配置参数说明 参数
说明
模型来源
部署在线服务的模型来源。默认选择“自定义模型”。可根据模型存储地址选择模型来源、填写模型存储地址和挂载路径等信息。
警告:若不添加模型,请确保镜像内已包含模型或在文件存储挂载相关内容,否则可能导致部署失败。
模型来源:弹性文件服务 SFS Turbo:
使用专属资源池部署服务才允许使用存储挂载的能力,并且专属资源池需要打通VPC或关联SFS Turbo。
- 打通VPC为打通SFS Turbo所在VPC和专属资源池网络,打通步骤请见打通VPC章节。
- 关联SFS Turbo:如果SFS Turbo为HPC型的文件系统,可使用关联SFS Turbo功能,具体操作请参见配置ModelArts和SFS Turbo间网络直通。
参数说明如下:
- 文件系统/文件系统目录:选择对应的SFS Turbo极速文件。不支持选择跨区域(Region)的极速文件系统。
- 挂载路径:指定容器内部的挂载路径,如“/sfs-turbo-mount/”。请选择全新目录,选择存量目录会覆盖存量文件。当存在多个挂载路径时请避免使用父子级目录。
- 挂载方式:支持“读写”和“只读”两种方式。
- 本地存储加速:从外部存储拉取模型数据到宿主机(通常为CCE集群节点),挂载宿主机上的模型路径到用户指定的容器目录,当业务容器因为故障等原因重启后,如果本地缓存还在当前节点,可以省去模型拉取过程。通过本地存储加速,当业务容器因故障重启时,可直接复用本地缓存,从而实现快速恢复。本地缓存保留的前提是业务容器所在的节点未被销毁且存储卷未被删除。若节点发生故障或存储卷被清理,缓存将失效,需重新拉取模型数据。
注意事项如下:
- 相同的文件系统只能挂载一次 ,且只能对应一个挂载路径,挂载路径均不可重复。最多可以挂载8个盘。
- 选择多挂载时请勿设置存在冲突的挂载路径如相同路径或相似路径如/obs-mount/与/obs-mount/tmp/等。
- 选择SFS Turbo存储挂载后,请勿删除已经打通的VPC或解除SFS Turbo关联,否则会导致挂载功能无法使用。挂载时默认按客户端umask权限设置,为确保正常使用须在SFS Turbo界面绑定后端OBS存储后设置权限为777。
模型来源:资源池已预热模型
- 已预热模型:选择已在ModelArts资源池预热的模型。
- 挂载路径:指定挂载路径。挂载路径即容器内挂载路径,建议新建目录,避免选择严格权限的存量目录以及系统目录。挂载路径必须以/开头和结尾,整个挂载路径长度不能超过255位。挂载路径与其他模型来源的挂载路径本质上要求是一样的。
说明:
由于资源限制,若调度到未预热的节点,会导致部署失败。
由于资源限制,若调度到未预热的节点,会导致部署失败。
- 单元配置
表7 单元配置 参数
说明
部署方式
部署方式分为“基础模式”和“多角色分离”两种。
- 基础模式:仅需配置1个推理单元,该单元独立承载完整推理服务。
- 多角色分离模式:按需配置多推理单元,各单元对应推理部署实例一类角色;新增/扩容角色均需新增单元,多单元组合成完整推理部署实例,适配PD分离等部署场景。
推理单元的参数说明请见表8。
可单击“克隆”,复制已有推理单元配置,也可单击“删除”,删除不再使用的推理单元。
认证凭据
在高级配置中勾选了系统日志上报时,界面会显示此参数。
“凭据”用于验证身份和授权访问的证明信息。在信息安全和身份认证领域,凭据是确保只有授权用户才能访问系统、资源或服务的关键机制。
选择凭据以获取挂载存储时所需的AK、SK信息。
如果需要新建,请单击“创建凭据”,前往DEW控制台创建凭据,详情请见创建凭据。“设置凭据值”请选择“凭据键/值”的方式,填写用户的AK、SK信息:“键”分别填写“accessKeyId”,“secretAccessKey”;“值”可在控制台的个人账号下“我的凭证>访问密钥”获取。
表8 推理单元参数说明 参数
说明
资源实例数
请输入您需要创建的资源实例数。该推理单元的总资源需求 = 单元实例规格 * 资源实例数。例如:若单元实例规格为 8 卡,推理单元需要 32 卡资源,则此处应输入 4。
规格类型
当资源池类型选择专属资源池时,选择在线服务实例的硬件资源配置类型,支持预置规格和自定义规格。
- 预置规格:请根据界面显示的列表,选择可用的单元实例规格和资源实例数。该推理单元的总资源需求 = 单元实例规格 * 资源实例数。例如:若单元实例规格为 8 卡,推理单元需要 32 卡资源,则资源实例数应输入 4。
- 自定义规格:
如果当前显示的规格无法匹配您的业务,支持自定义规格,根据资源池内节点情况填写相关规格,具体可查看在线服务详情。
- CPU核数:输入值不能小于0.01且保留2位小数,不能大于资源池内CPU可用核数。
- 内存:输入值为不能小于4的整数,不能大于资源池内内存可用值。
说明:使用所选规格部署服务时,会产生必要的系统消耗,因此服务实际占用的资源会略大于该规格。
镜像类型
ModelArts支持在镜像仓库、容器镜像服务(SWR)三个镜像来源中提前准备好对应的镜像。
- 镜像仓库:镜像来源于Modelarts资产管理中的镜像管理,支持对镜像打上镜像所支持的规格、框架等标签,方便镜像资源的管理。
- 容器镜像服务(SWR):华为云容器镜像服务支持容器镜像全生命周期管理的服务,提供简单易用、安全可靠的镜像管理功能。
选择镜像
单击“选择镜像”,选择自有镜像或共享镜像。镜像也可提前在专属资源池预热,如果镜像预热任务已完成,且状态正常,部署时会自动触发加速。
选择的镜像地址和部署的服务需要在同一个地域。
环境变量(可选)
注入环境变量到容器实例。为确保您的数据安全,在环境变量中,请勿输入敏感信息,如明文密码。环境变量格式为若干键值对,例:{"A":"AAAA","B":"BBBB"},环境变量的键长度不大于64,由字母、数字、下划线、中划线、点组成,不能以数字开头,值的输入内容不能存在HTML标签,包括<^>。
文件存储挂载
支持挂载文件、指定转储路径等关键数据。
文件存储支持对象存储服务 OBS、并行文件系统 PFS、资源池已预热模型存储类型。产物转储支持并行文件系统 PFS存储类型。文件存储最多添加15个存储路径,产物转储最多添加10个存储路径。
存储类型:对象存储服务 OBS:
- 存储地址:选择OBS桶的路径,不支持选择跨区域(Region)的OBS桶。最多支持添加10条挂载记录。
- 挂载路径:指定容器内部的挂载路径,如“/obs-mount/”。建议新建一个目录挂载OBS桶,避免选择严格权限的存量目录以及系统目录。文件存储源存储地址下的文件会自动出现在挂载路径下。产物转储源存储地址下的文件,不会出现在挂载路径下。
在OBS不能创建modelarts-agency-no-delete同名策略,或手动删除modelarts-agency-no-delete策略,否则会导致在线服务部署失败。
存储类型:并行文件系统 PFS:- 存储地址:选择并行文件的存储路径。不支持选择跨区域(Region)的OBS并行文件系统。
- 挂载路径:指定容器内部的挂载路径,如“/obs-mount/”。
- 请选择全新目录,选择存量目录会覆盖存量文件,OBS挂载仅开放对挂载目录文件新增、查看、修改功能不支持删除挂载目录文件对象,如果需要删除文件请到OBS并行文件系统中手动删除。
- 建议挂载在空目录下,如果目录不为空,请确保目录下无影响容器启动的文件,否则文件会被替换,导致容器启动异常,工作负载创建失败。
- 挂载路径必须以/开头,仅允许输入英文、数字和特殊字符\_-且不超过1024个字符。
- 文件存储源存储地址下的文件会自动出现在挂载路径下。产物转储源存储地址下的文件,不会出现在挂载路径下。
存储类型:资源池已预热模型
- 已预热模型:选择已在ModelArts资源池预热的模型。
- 挂载路径:指定挂载路径。挂载路径即容器内挂载路径,建议新建目录,避免选择严格权限的存量目录以及系统目录。挂载路径必须以/开头和结尾,整个挂载路径长度不能超过255位。挂载路径与其他模型来源的挂载路径本质上要求是一样的。
说明:
由于资源限制,若调度到未预热的节点,会导致部署失败。
由于资源限制,若调度到未预热的节点,会导致部署失败。
健康检查
可选参数,用于指定模型的健康检查。仅当自定义镜像中配置了健康检查接口,才能配置“健康检查”,否则会导致模型部署服务失败。
当前支持以下三种探针:
- 启动探针:用于检测应用实例是否已经启动。如果提供了启动探针(startup probe),则禁用所有其他探针,直到它成功为止。如果启动探针失败,将会重启实例。如果没有配置启动探针,则服务调度成功后会立即设置状态为成功,可能存在服务处于“运行中”因模型正在加载而无法预测的情况。
- 就绪探针:用于检测应用实例是否已经准备好接收流量。如果就绪探针失败,即实例未准备好,会从服务负载均衡的池中剔除该实例,不会将流量路由到该实例,直到探测成功。
- 存活探针:用于检测应用实例内应用程序的健康状态。如果存活探针失败,即应用程序不健康,将会自动重启实例。
3种探针的配置参数均为:
- 检查方式:可以选择“HTTP请求检查”或者“执行命令检查”。
- HTTP请求检查:使用HTTP或HTTPS协议,向容器发送一个HTTP Get请求,通过检查响应确认容器状态。
- 执行命令检查:执行命令检查:在容器内执行指定的命令,通过检查命令执行的结果确认容器状态。
- 健康检查URL:“检查方式”选择“HTTP请求检查”时显示,填写访问HTTP Server的路径,默认值为“/health”。
- 健康检查命令:“检查方式”选择“执行命令检查”时显示,填写检测容器健康情况的探测命令,如:sh /home/ma-user/health.sh。
- 健康检查周期:相邻两次检查的时间间隔。填写1-2147483647之间的整数,单位为秒。默认值为5。
- 延时时间(秒):实例启动后,延迟执行健康检查的时间。填写0-2147483647之间的整数,单位为秒,不能为空。默认值为12。
- 超时时间 (秒): 发送检查请求后,等待响应的超时时间。超过此时间表示容器无响应。填写0-2147483647之间的整数,单位为秒。默认值为12。
- 最大失败次数:填写1-2147483647之间的整数。在服务启动阶段,当健康检查请求连续失败达到所填次数后,服务会进入异常状态;在服务运行阶段,当健康检查请求连续失败达到所填次数后,服务会进入告警状态。默认值为12。
- 协议:“检查方式”选择“HTTP请求检查”时显示,支持HTTP和HTTPS。
说明:当模型配置了健康检查,部署的服务在收到停止指令后,会延后3分钟才停止。
更多配置
- 启动命令:设置服务启动命令。
- 故障恢复策略:开启该功能后,系统检测到在线服务异常,会按照设置的恢复策略重新调度在线服务。详细请参见设置在线服务故障自动重启。
恢复策略如下:
- 实例恢复:当部署单元内的Pod出现故障时,重启单元所属的整个实例。
- pod恢复:当部署单元内的Pod出现故障时,对该Pod进行重启。
- 自定义恢复:故障时不做处理,留给用户自行处理。不开启故障自动重启,效果等同Pod恢复。
故障自动重启:开启后,当检测到NPU卡、交换机、硬件等出现故障时,会自动触发故障节点上的业务重新调度。(部分能力仅Snt9b、Snt9b2系列资源支持。)
如需保障业务不中断,请配置多个实例。
- 优雅停机:开启后,支持设置停机时间及停机命令等,避免正在处理的请求被强制中断,从而提高系统的可用性和稳定性。
- 停机时间(s):表示 Pod 收到停止信号到强制停止的最大时间窗口,用于 Pod 执行清理操作(如关闭连接、释放资源、保存状态等)。
- 停机命令:停机命令在容器收到停止信号时触发,但必须在停机时间的宽限期内完成,否则容器会被强制停止。您可以通过该命令精细化操作,如关闭数据库连接、释放文件句柄、停止子进程等。
- 亲和调度:
通过配置节点亲和与反亲和规则,可实现资源池灵活的工作负载调度。若不指定,将根据集群默认调度策略随机调度。
开启后,单击“修改配置”,支持精细控制 Pod 的部署策略:
- 亲和类型为节点亲和,亲和强度为强亲和:严格将Pod调度到指定节点,否则不执行调度。
- 亲和类型为节点亲和,亲和强度为弱亲和:尽量将Pod调度到指定节点,不保证成功。
- 亲和类型为节点反亲和,亲和强度为强亲和:禁止将Pod调度到指定节点,否则不执行调度。
- 亲和类型为节点反亲和,亲和强度为弱亲和:避免将Pod调度到指定节点,不保证成功。
在“添加节点”列表中勾选实现以上配置规则的节点。
用户在选择了已预热模型后,在配置亲和调度页面会展示已经预热成功的节点,未预热的节点不展示,并且页面会提示“当前选择的模型已预热,将自动部署至最优节点,若手动指定节点可能导致预热加速失效”。
- 指定容器运行用户ID:如果勾选,请输入用户ID和用户组ID(可选)。
- 部署管理配置
表9 部署管理配置参数说明 参数
说明
容器协议
容器的网络传输协议,请根据实际定义的接口进行配置。
部署在线服务-服务信息中“服务协议”选择“HTTP”或“HTTPS”时,容器协议可选择“HTTP”或“HTTPS”。
部署在线服务-服务信息中“服务协议”选择“WSS”或“WS”时,容器协议默认与服务协议一致,控制台不显示。
容器端口
镜像监听的端口号,通过该端口号向实例发送请求。
更多配置>部署超时时间(分钟)
单个服务的超时时间,包括部署和启动时间。请合理填写部署超时时间,超时会终止部署服务。
更多配置>最大浪涌实例(%)
每次滚动升级能超出目标实例数的最大实例数。当采用百分比计数时,则会按照实际实例数进行计算并向上取整。
例如:
最大浪涌实例数为1%,当前4个实例进行滚动升级,允许每次创建1个新实例。
最大浪涌实例数为100%,当前2个实例进行滚动升级,允许立即创建2个新实例。
更多配置>最大无效实例(%)
每次滚动升级能少于目标实例数的最大实例数。当采用百分比计数时,则会按照实际实例数进行计算并向下取整。
例如:
- 最大无效实例数为1%,当前4个实例进行滚动升级,必须保持始终有4个实例可用,只有当1个新实例运行时,才能删除1个旧实例。
- 最大无效实例数为50%,当前2个实例进行滚动升级,允许立即删除1个旧实例释放资源,但始终保持至少1个实例可用。
- 部署服务时,如果最大无效实例数为20%,原本要部署5个实例,实际启动了4个实例,还有1个实例资源不足没有启动成功,此时可认定为部署成功,服务变为运行中。
若最大无效实例数等于目标实例数,则在线服务有停止风险(最小存活实例数=实例数-最大无效实例数)。
例如:
服务运行时,如果最大无效实例数为100%,原本1个实例被故障快恢删除,服务不会变为异常,但确实无法预测,可能导致在线服务中断。
若需实现无损升级,建议将最大无效实例设为1%(需要占用额外资源,请确保资源充足,否则将导致更新失败),来保障服务持续可用、不中断。
更多配置>调度优先级
当服务资源池配置选择专属资源池时,设置当前服务部署时调度资源的优先级。平台将按照任务优先级从高到低依次处理。数值1-3对应的优先级由低到高(1为最低优先级,3为最高优先级)。
对于相同优先级的任务,则根据提交时间的先后顺序进行调度,最终结合实际的资源情况决定调度顺序(保证在资源充足、相同优先级下,先提交的任务先调度)。
- 高级配置
表10 高级配置参数说明 参数
说明
密钥配置
推理服务支持凭据挂载功能,通过Secret机制实现敏感信息的加密存储与安全注入,确保敏感数据在挂载至容器时得到妥善保护。为确保您的数据安全,请勿输入明文敏感信息。
- 自定义密钥:自定义密钥键、密钥值和挂载路径。
- 数据加密服务 DEW:密码安全中心(Data Encryption Workshop,DEW)是一个综合的云上数据加密服务。它可以提供专属加密、密钥管理、密钥对管理等功能。使用DEW配置密钥,需要前往DEW控制台创建凭据,然后在ModelArts控制台选择DEW凭据,输入挂载路径。
确认是否勾选“关联镜像用户组ID”,支持关联镜像启动用户的用户组ID,关联后可提升Secret挂载安全性。
智能路由策略
开启智能路由后,需要配置智能路由策略,支持如下策略:
- 轮询:按照顺序依次将任务分发给不同的节点,确保任务在集群中平均分布,达到负载均衡的效果。
- 源IP哈希:基于客户端IP地址计算哈希值分配请求,确保同一IP请求转发到同一节点。
- 优先最小连接数:智能路由在处理请求时,将请求转发至实时连接数最少的节点上。每个服务实例或节点维持的最小连接数量,确保系统在处理请求时有足够的连接资源,以提高服务的稳定性和响应速度。
- 优先最小首token时延:智能路由在处理请求时,优先将请求转发至首Token平均时延最小的节点上。从接收请求到开始处理第一个token的最小允许时延。即使当前系统资源空闲,服务也会等待至少这个时延后才开始处理。
- 综合负载:基于连接数、首token时延和自定义指标,将请求转发至综合压力更小的节点上。负载较低的节点会优先接收新请求,以避免资源浪费和过载风险。
- SLO优先级:根据服务等级目标的优先级(可设置为 0-3,0为最高),优先保障高优先级服务的时延。
- 会话保持:基于会话标识将同一用户的连续请求绑定到同一节点,确保会话上下文的连续性与一致性,从而实现对话状态的高效维护与低延迟响应。会话保持当前仅支持EMS加速开启后选择。
自定义监控采集指标
开启后,需填写指标采集端口信息,自定义指标将上报至应用运维管理(AOM)服务的Prometheus实例中,后续可前往该服务进行指标查询。如需查询自定义指标,请参见AOM指标查询。
约束与限制
- ModelArts以10秒/次的频率调用自定义指标配置中提供的http接口获取指标数据。
- 自定义指标配置中提供http接口返回的指标数据文本不能大于32KB。
自定义指标数据格式
自定义指标数据的格式必须是符合open metrics规范的文本,即每个指标的格式应为:
<指标名称>{<标签名称>=<标签值>,...} <采样值> [毫秒时戳]举例如下(#开头为注释,非必需):
# HELP http_requests_total The total number of HTTP requests. # TYPE http_requests_total gauge html_http_requests_total{method="post",code="200"} 1656 1686660980680 html_http_requests_total{method="post",code="400"} 2 1686660980681系统日志上报
仅NPU专属资源池会展示此参数。开启后,系统日志将挂载到固定并行文件系统内,以便后续运维工程师进行分析,系统日志将存储30天,30天后自动删除。系统日志的挂载路径不可修改。
部署在线服务-确认配置
在“部署在线服务>确认配置”页面,确认配置信息无误后,单击“确认部署”。
部署服务一般需要运行一段时间,根据您选择的数据量和资源不同,部署时间将耗时几分钟到几十分钟不等。
您可以前往在线服务列表,查看在线服务的基本情况。在线服务列表中,刚部署的服务“状态”为“部署中”,当在线服务的“状态”变为“运行中”时,表示服务部署完成。
在线服务部署完成后,将立即启动。服务状态为“运行中”,“告警”状态下正常运行实例正在产生费用,不使用时,请及时停止。
使用预测功能测试在线服务
服务部署成功后,可以进入服务详情页面的预测页面,做简单的业务功能验证。服务预测页面提供简易的rest客户端功能,用户可以选择自己服务指定的请求方法,填写自己的预测路径。
在Body栏中,选择对应的数据格式raw | binary | stream | fromData
- raw:用于发送原始文本数据,如 JSON、XML 或纯文本。
- binary:用于上传二进制文件,如图片、音频、视频或模型文件。
- stream:支持分块流式传输,适用于实时或连续输入数据的场景。
在Headers中可以填写Header信息,比如api-key鉴权信息,将{API Key}替换为自己的API Key等。单击“预测”发送对应的预测请求。
如果删除Authorization 键值对,系统将自动切换为 IAM Token 认证。
预测页面的Body和请求头填写可参考ModelArts在线服务处于运行中时,如何填写request header和request body。
使用示例:
以Ascend-vLLM框架一键部署Qwen3-32B模型为例,测试其对话接口,参数如下:
- 请求方式:POST
- 请求路径:https://***/v2/infer/***/v1/chat/completions
- 请求体:
{
"model": "qwen3_32b",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "你好"}
]
}
使用CloudShell调试在线服务实例容器
允许用户使用ModelArts控制台提供的CloudShell登录运行中在线服务实例容器。
只支持专属资源池部署的在线服务使用CloudShell访问容器。
- 登录ModelArts控制台,左侧菜单选择“模型推理 > 在线推理”。
- 在线服务列表页面单击“名称/ID”,进入在线服务详情页面。
- 单击CloudShell页签,选择部署、实例和Pod节点,当连接状态变为连接成功时,即登录实例容器成功。
如果遇到异常情况服务器主动断开或超过10分钟未操作自动断开,此时可单击“重新连接”重新登录实例容器。图6 CloudShell界面
部分用户登录Cloud Shell界面时,可能会出现路径显示异常情况,此时在Cloud Shell中单击回车键即可恢复正常。图7 路径异常
- 登录实例容器成功后,在容器的终端环境执行所需的调试命令。例如:
以下仅为示例,实际日志路径和服务状态检查方法和服务配置有关,以镜像和容器启动命令为准。
查看日志:
tail -f /var/log/app.log
检查服务状态:
systemctl status app
执行自定义脚本:
./debug_script.sh
- 完成调试后,使用以下命令退出容器:
exit
返回CloudShell终端后,您可以查看调试结果或日志文件。
删除服务
如果服务不再使用,您可以删除服务释放资源。
- 没有委托授权时,无法删除服务。
- 删除服务时,推荐同时删除LTS中的日志以及日志流,避免LTS日志流超过限额产生额外费用,如后续不再使用,建议删除。
删除操作无法恢复,请谨慎操作。
- 单击在线服务列表“操作”列的“更多>删除”,在弹框中一键输入DELETE,单击“确定”,删除服务。
- 勾选在线服务列表中的服务,然后单击列表左上角“删除”按钮,在弹框中一键输入DELETE,单击“确定”,批量删除服务。
- 单击目标服务名称,进入服务详情页面,单击右上角“删除”,在弹框中一键输入DELETE,单击“确定”,删除服务。