华为云用户手册

  • AIGC模型训练推理场景 样例 场景 说明 SDXL基于Standard适配PyTorch NPU的LoRA训练指导(6.3.907) SD1.5&SDXL Diffusers框架基于DevServer适配PyTorch NPU训练指导(6.3.907) SD1.5&SDXL Koyha框架基于DevServer适配PyTorch NPU训练指导(6.3.907) SDXL、SD1.5模型训练 介绍AIGC模型SDXL、SD1.5基于ModelArts DevServer的训练过程,训练使用PyTorch框架和昇腾NPU计算资源。训练后的模型可用于推理部署,应用于文生图场景。 SD3 Diffusers框架基于DevServer适配PyTorch NPU推理指导(6.3.907) SD WEBUI套件适配PyTorch NPU的推理指导(6.3.908) SDXL、SD1.5模型推理 介绍AIGC模型SDXL、SD1.5基于ModelArts DevServer的推理过程,推理使用PyTorch框架和昇腾NPU计算资源。 启动推理服务后,可应用于文生图场景。 Open-Sora-Plan1.0基于DevServer适配PyTorch NPU训练推理指导(6.3.907) Open-Sora 模型训练 介绍Open-Sora-Plan模型基于ModelArts DevServer的训练过程,训练使用PyTorch框架和昇腾NPU计算资源。 训练后的模型可用于推理部署,应用于文生视频场景。 Qwen-VL基于DevServer适配Pytorch NPU的Finetune训练指导(6.3.906) Qwen-VL基于DevServer适配Pytorch NPU的推理指导(6.3.906) Qwen-VL模型训练推理 介绍Qwen-VL模型基于ModelArts DevServer的训练过程,训练使用PyTorch框架和昇腾NPU计算资源。 训练后的模型可用于推理部署,应用于大模型对话场景。 LLaVA模型基于DevServer适配PyTorch NPU预训练指导(6.3.906) LLaVA模型基于DevServer适配PyTorch NPU推理指导(6.3.906) LLaVA模型训练推理 介绍LLaVA模型基于ModelArts DevServer的训练过程,训练使用PyTorch框架和昇腾NPU计算资源。 训练后的模型可用于推理部署,应用于大模型对话场景。 Open-Clip基于DevServer适配PyTorch NPU训练指导 Open-Clip模型训练 介绍Open-Clip模型基于ModelArts DevServer的训练过程,训练使用PyTorch框架和昇腾NPU计算资源。 应用于AIGC和多模态视频编码器。
  • ModelArts Standard模型训练案例 表3 自定义算法样例列表 样例 镜像 对应功能 场景 说明 使用ModelArts Standard自定义算法实现手写数字识别 PyTorch 自定义算法 手写数字识别 使用用户自己的算法,训练得到手写数字识别模型,并部署后进行预测。 从0制作 自定义镜像 并用于训练(PyTorch+CPU/GPU) PyTorch 镜像制作 自定义镜像训练 - 此案例介绍如何从0到1制作镜像,并使用该镜像在ModelArts平台上进行训练。镜像中使用的AI引擎是PyTorch,训练使用的资源是CPU或GPU。 从0制作自定义镜像并用于训练(MPI+CPU/GPU) MPI 镜像制作 自定义镜像训练 - 此案例介绍如何从0到1制作镜像,并使用该镜像在ModelArts平台上进行训练。镜像中使用的AI引擎是MPI,训练使用的资源是CPU或GPU。 从0制作自定义镜像并用于训练(Tensorflow+GPU) Tensorflow 镜像制作 自定义镜像训练 - 此案例介绍如何从0到1制作镜像,并使用该镜像在ModelArts平台上进行训练。镜像中使用的AI引擎是Tensorflow,训练使用的资源是GPU。 从0制作自定义镜像并用于训练(MindSpore+Ascend) MindSpore 镜像制作 自定义镜像训练 - 此案例介绍如何从0到1制作镜像,并使用该镜像在ModelArts平台上进行训练。镜像中使用的AI引擎是MindSpore,训练使用的资源是NPU。
  • ModelArts Standard自动学习案例 表1 自动学习样例列表 样例 对应功能 场景 说明 口罩检测 自动学习 物体检测 基于AI Gallery口罩数据集,使用ModelArts自动学习的物体检测算法,识别图片中的人物是否佩戴口罩。 垃圾分类 自动学习 图像分类 该案例基于华为云AI开发者社区AI Gallery中的数据集资产,让零AI基础的开发者完成“图像分类”的AI模型的训练和部署。
  • 步骤三:创建自动学习物体检测项目 确保数据集创建完成且可正常使用后,在ModelArts控制台,左侧导航栏选择“自动学习”默认进入新版自动学习页面,选择物体检测项目,单击“创建项目”。 进入“创建物体检测”页面后,填写相关参数。 计费模式:默认按需计费。 名称:自行创建项目名称。 描述:自行描述项目详情,例如口罩检测。 数据集:下拉选择已下载的数据集(步骤2中已成功导入的数据集,默认为下拉数据集列表中的第一个数据集)。 输出路径:选择步骤2的3中的数据集输出位置。 训练规格:根据您的实际需要选择对应的训练规格。 确认无误后单击右下角“创建项目”可自动跳转至自动学习的运行总览页面。
  • 步骤四:运行工作流 在自动学习的运行总览页面,会产生一条工作流。工作流会自动从数据标注节点开始,依次运行数据集版本发布、数据校验、物体检测、模型注册、服务部署等节点,直至工作流全部运行完成。您需要做的是: 在数据标注节点,待数据标注节点变为橘色即为“等待操作”状态,双击数据标注节点,打开数据标注节点的运行详情页面。前往实例详情页确认所有图片是否都标注完成,确认无误后,回到工作流页面单击“继续运行”。 在“确认是否继续允许”的弹窗中,单击“确定”,工作流会继续从数据标注节点依次运行到服务部署节点。该段时间不需要用户做任何操作。 当工作流运行到“服务部署”节点,“服务部署”节点会变成橙色,双击“服务部署”节点。在服务部署页签中,可以看到状态变为了“等待输入”。 需要选择填写以下两个参数,其他参数均为默认值,保持不变。 计算节点规格:根据您的实际需求选择相应的规格。 是否自动停止:为避免资源浪费,建议打开自动停止开关,根据您的实际需要,选择自动停止时间,也可以自定义自动停止的时间。 图3 选择计算节点规格 图4 设置自动停止 参数填写完毕之后,单击运行状况右边的“继续运行”,单击确认弹窗中的“确定”即可继续完成工作流的运行。
  • 步骤二:创建训练数据集 单击口罩检测小数据集进入数据集详情页,单击右侧“下载”。 在弹出的窗口中选择云服务区域,例如该案例选择云服务区域为“华北-北京四”,单击“确定”进入下载详情页。 在“下载详情”页面,填写参数。 下载方式:ModelArts数据集。 目标区域:华北-北京四,目标区域须与上一步中选择的云服务区域保持一致。 数据类型:图片。 数据集输入位置:用来存放源数据集信息,例如本案例中从Gallery下载的数据集。单击图标选择您的OBS桶下的任意一处目录,但不能与输出位置为同一目录。 数据集输出位置:用来存放输出的数据标注的相关信息,或版本发布生成的Manifest文件等。单击图标选择OBS桶下的空目录,且此目录不能与输入位置一致,也不能为输入位置的子目录。 名称:创建数据集名称,为方便后续创建物体检测项目选择对应的数据集,建议您的数据集名称具有可识别性。 描述:描述数据集详细信息。 图1 下载详情 确认无误后单击右下角“确定”。 系统会跳转到我的下载页面,单击按钮,查看下载进度,等待数据集下载完成(下载完成大约需要5分钟,请耐心等待)。单击展开下载详情,可以查看该数据集的“目标位置”。 查看数据集是否已导入ModelArts。 返回ModelArts管理控制台,在左侧导航栏选择“数据集”,默认进入数据集新版页面。在新版数据集列表页,单击数据集名称左侧的,展开数据集,查看“导入状态”,导入状态为“导入完成”代表示数据集导入成功,且数据集正常。 数据集下载完成后,请务必先检查数据集是否已经导入成功,如果数据集还未成功导入,创建自动学习物体检测项目后数据标注节点会报错。 图2 数据标注节点报错
  • 步骤一:准备工作 注册华为账号 并开通华为云、实名认证 注册华为账号并开通华为云 进行实名认证 配置委托访问授权 ModelArts使用过程中涉及到OBS、SWR、IEF等服务交互,首次使用ModelArts需要用户配置委托授权,允许访问这些依赖服务。 使用华为云账号登录ModelArts管理控制台,在左侧导航栏单击“权限管理”,进入“权限管理”页面,单击“添加授权”。 在弹出的“访问授权”窗口中,授权对象类型选“所有用户”,委托选择选“新增委托”,权限配置选择“普通用户”,并勾选“我已经详细阅读并同意《ModelArts服务声明》”,然后单击“创建”。 完成配置后,在ModelArts控制台的权限管理列表,可查看到此账号的委托配置信息。
  • 步骤二:创建OBS桶 登录OBS管理控制台,在桶列表页面右上角单击“创建桶”,创建OBS桶。例如,创建名称为“dataset-exeml”的OBS桶。 创建桶的区域需要与ModelArts所在的区域一致。例如:当前ModelArts在华北-北京四区域,在 对象存储服务 创建桶时,请选择华北-北京四。请参考查看OBS桶与ModelArts是否在同一区域检查您的OBS桶区域与ModelArts区域是否一致。 请勿开启桶加密,ModelArts不支持加密的OBS桶,会导致ModelArts读取OBS中的数据失败。 在桶列表页面,单击桶名称,进入该桶的概览页面。 单击左侧导航的“对象”,在对象页面单击“新建文件夹”,创建OBS文件夹。具体请参见新建文件夹章节。
  • 步骤五:运行工作流 项目完成创建之后,会自动跳转到新版自动学习的运行总览页面。同时您的工作流会自动从数据标注节点开始运行。您需要做的是: 观察数据标注节点,待数据标注节点变为橙色即为“等待操作”状态。双击数据标注节点,打开数据标注节点的运行详情页面,单击“继续运行”。 在弹出的窗口中,单击“确定”,工作流会开始继续运行。当工作流运行到“服务部署”节点,状态会变为“等待输入”,您需要填写以下两个输入参数,其他参数保持默认。 计算节点规格:根据您的实际需求选择相应的规格,不同规格的配置费用不同,选择好规格后,配置费用处会显示相应的费用。 是否自动停止:为了避免资源浪费,建议您打开该开关,根据您的需求,选择自动停止时间,也可以自定义自动停止的时间。 图2 选择计算节点规格 图3 设置自动停止 参数填写完毕之后,单击运行状况右边的“继续运行”,单击确认弹窗中的“确定”即可继续完成工作流的运行。
  • 步骤三:准备训练数据集 单击8类常见生活垃圾图片数据集,进入AI Gallery数据集详情页,单击右侧“下载”。 选择对应的云服务区域例如:华北-北京四,需要确保您选择的区域与您的管理控制台所在的区域一致。 进入“下载详情”页面,填写以下参数。 下载方式:ModelArts数据集。 目标区域:华北-北京四。 数据类型:系统会根据您的数据集,匹配到相应的数据类型。例如本案例使用的数据集,系统匹配为“图片”类型。 数据集输入位置:用来存放源数据集信息,例如本案例中从Gallery下载的数据集。单击图标选择您的OBS桶下的任意一处目录,但不能与输出位置为同一目录。 数据集输出位置:用来存放输出的数据标注的相关信息,或版本发布生成的Manifest文件等。单击图标选择OBS桶下的空目录,且此目录不能与输入位置一致,也不能为输入位置的子目录。 图1 下载详情 完成参数填写,单击“确定”,自动跳转至AI Gallery个人中心“我的下载”页签,单击按钮,查看下载进度,等待5分钟左右下载完成,单击展开下载详情,可以查看该数据集的“目标位置”。
  • 步骤一:准备工作 注册华为账号并开通华为云、实名认证 注册华为账号并开通华为云 进行实名认证 配置委托访问授权 ModelArts使用过程中涉及到OBS、SWR、IEF等服务交互,首次使用ModelArts需要用户配置委托授权,允许访问这些依赖服务。 使用华为云账号登录ModelArts管理控制台,在左侧导航栏单击“权限管理”,进入“权限管理”页面,单击“添加授权”。 在弹出的“添加授权”页面中,授权对象类型选“所有用户”,委托选择选“新增委托”,权限配置选择“普通用户”,并勾选“我已经详细阅读并同意《ModelArts服务声明》”,然后单击“创建”。 完成配置后,在ModelArts控制台的权限管理列表,可查看到此账号的委托配置信息。
  • 步骤1:准备工作 已注册华为账号并开通华为云,进行了实名认证,且在使用ModelArts前检查账号状态,账号不能处于欠费或冻结状态。 注册华为账号并开通华为云 进行实名认证 配置委托访问授权 ModelArts使用过程中涉及到OBS、SWR、IEF等服务交互,首次使用ModelArts需要用户配置委托授权,允许访问这些依赖服务。 使用华为云账号登录ModelArts管理控制台,在左侧导航栏单击“权限管理”,进入“权限管理”页面,单击“添加授权”。 在“访问授权”页面,选择需要授权的“授权对象类型”,选择新增委托及其对应的权限“普通用户”,并勾选“我已经详细阅读并同意《ModelArts服务声明》”,然后单击“创建”。 完成配置后,在ModelArts控制台的权限管理列表,可查看到此账号的委托配置信息。
  • ModelArts依赖的OBS权限自定义策略样例 如下示例为ModelArts依赖OBS服务的最小化权限项,包含OBS桶和OBS对象的权限。授予示例中的权限您可以通过ModelArts正常访问OBS不受限制。 { "Version": "1.1", "Statement": [ { "Action": [ "obs:bucket:ListAllMybuckets", "obs:bucket:HeadBucket", "obs:bucket:ListBucket", "obs:bucket:GetBucketLocation", "obs:object:GetObject", "obs:object:GetObjectVersion", "obs:object:PutObject", "obs:object:DeleteObject", "obs:object:DeleteObjectVersion", "obs:object:ListMultipartUploadParts", "obs:object:AbortMultipartUpload", "obs:object:GetObjectAcl", "obs:object:GetObjectVersionAcl", "obs:bucket:PutBucketAcl", "obs:object:PutObjectAcl" ], "Effect": "Allow" } ] }
  • ModelArts开发环境使用权限的自定义策略样例 { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "modelarts:notebook:list", "modelarts:notebook:create" , "modelarts:notebook:get" , "modelarts:notebook:update" , "modelarts:notebook:delete" , "modelarts:notebook:action" , "modelarts:notebook:access" ] } ] }
  • 常见APP认证报错分析 报错信息 "error_msg": "The API does not exist or has not been published in the environment", "error_code": "APIG.0101" 该报错需要检查App认证API是否还存在或者URL是否正确。 报错信息 "error_msg": "Incorrect app authentication information: app not found with specified appCode", "error_code": "APIG.0303" 该报错需要检查请求头Headers参数中X-Apig-AppCode参数的值是否填错。 报错信息 "error_msg": "Backend unavailable", "error_code": "APIG.0202" 该报错信息需要检查dispatcher实例是否正常。
  • 场景描述 APPcode认证是一种简易的API调用认证方式,通过在HTTP请求头中添加参数X-Apig-AppCode来实现身份认证,无需复杂的签名过程,适合于客户端环境安全可控的场景,如内网系统之间的API调用。在ModelArts中,支持在部署在线服务时开启AppCode认证(部署模型为在线服务中的“支持APP认证”参数)。对于已部署的在线服务,ModelArts支持修改其配置开启AppCode认证。 本文主要介绍如何修改一个已有的在线服务,使其支持AppCode认证并进行在线预测。
  • 背景说明 ModelArts支持第三方的推理框架在ModelArts上部署,本文以TFServing框架、Triton框架为例,介绍如何迁移到推理自定义引擎。 TensorFlow Serving是一个灵活、高性能的机器学习模型部署系统,提供模型版本管理、服务回滚等能力。通过配置模型路径、模型端口、模型名称等参数,原生TFServing镜像可以快速启动提供服务,并支持gRPC和HTTP Restful API的访问方式。 Triton是一个高性能推理服务框架,提供HTTP/gRPC等多种服务协议,支持TensorFlow、TensorRT、PyTorch、ONNXRuntime等多种推理引擎后端,并且支持多模型并发、动态batch等功能,能够提高GPU的使用率,改善推理服务的性能。 当从第三方推理框架迁移到使用ModelArts推理的AI应用管理和服务管理时,需要对原生第三方推理框架镜像的构建方式做一定的改造,以使用ModelArts推理平台的模型版本管理能力和动态加载模型的部署能力。本案例将指导用户完成原生第三方推理框架镜像到ModelArts推理自定义引擎的改造。自定义引擎的镜像制作完成后,即可以通过AI应用导入对模型版本进行管理,并基于AI应用进行部署和管理服务。 适配和改造的主要工作项如下: 图1 改造工作项 针对不同框架的镜像,可能还需要做额外的适配工作,具体差异请见对应框架的操作步骤。 TFServing框架迁移操作步骤 Triton框架迁移操作步骤
  • 上传模型数据并校验上传对象的一致性 为了动态加载时保证数据完整性,需要在上传模型数据至OBS时,进行上传对象的一致性校验。obsutil、OBS Browser+以及OBS SDK都支持在上传对象时进行一致性校验,您可以根据自己的业务选择任意一种方式进行校验。详见校验上传对象的一致性。 以OBS Browser+为例,如图1。使用OBS Browser+上传数据,开启MD5校验,动态加载并使用节点本地的持久化存储时,检查数据一致性。 图1 OBS Browser+配置MD5校验
  • 创建AI应用 使用大模型创建AI应用,选择从对象存储服务(OBS)中导入,需满足以下参数配置: 采用自定义引擎,开启动态加载 使用大模型要求用户使用自定义引擎,并开启动态加载的模式导入模型。用户可以制作自定义引擎,满足大模型场景下对镜像依赖包、推理框架等的特殊需求。自定义引擎的制作请参考使用自定义引擎在ModelArts Standard创建AI应用。 当用户使用自定义引擎时,默认开启动态加载,模型包与镜像分离,在服务部署时动态将模型加载到服务负载。 配置健康检查 大模型场景下导入的AI应用,要求配置健康检查,避免在部署时服务显示已启动但实际不可用。 图3 采用自定义引擎,开启动态加载并配置健康检查示例图
  • 部署在线服务 部署服务时,需满足以下参数配置: 自定义部署超时时间 大模型加载启动的时间一般大于普通的模型创建的服务,请配置合理的“部署超时时间”,避免尚未启动完成被认为超时而导致部署失败。 添加环境变量 部署服务时,增加如下环境变量,会将负载均衡的请求亲和策略配置为集群亲和,避免未就绪的服务实例影响预测成功率。 MODELARTS_SERVICE_TRAFFIC_POLICY: cluster 图4 自定义部署超时时间和添加环境变量示例图 建议部署多实例,增加服务可靠性。
  • 申请扩大AI应用的大小配额和使用节点本地存储缓存白名单 服务部署时,默认情况下,动态加载的模型包位于临时磁盘空间,服务停止时已加载的文件会被删除,再次启动时需要重新加载。为了避免反复加载,平台允许使用资源池节点的本地存储空间来加载模型包,并在服务停止和重启时仍有效(通过哈希值保证数据一致性) 使用大模型要求用户采用自定义引擎,并开启动态加载的模式导入模型。基于此,需要执行以下操作: 如果模型超过默认配额值,需要提工单申请扩大单个AI应用的大小配额。单个AI应用大小配额默认值为20GB。 需要提工单申请添加使用节点本地存储缓存的白名单。
  • 背景说明 目前大模型的参数量已经达到千亿甚至万亿,随之大模型的体积也越来越大。千亿参数大模型的体积超过200G,在版本管理、生产部署上对平台系统产生了新的要求。例如:导入AI应用时,需要支持动态调整租户存储配额;模型加载、启动慢,部署时需要灵活的超时配置;当负载异常重启,模型需要重新加载,服务恢复时间长的问题亟待解决。 为了应对如上诉求,ModelArts推理平台针对性给出解决方案,用于支持大模型场景下的AI应用管理和服务部署。
  • 背景说明 WebSocket是一种网络传输协议,可在单个TCP连接上进行全双工通信,位于OSI模型的应用层。WebSocket协议在2011年由IETF标准化为RFC 6455,后由RFC 7936补充规范。Web IDL中的WebSocket API由W3C标准化。 WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就可以建立持久性的连接,并进行双向数据传输。
  • 使用镜像创建AI应用 登录ModelArts管理控制台,进入“ AI应用”页面,单击“创建”,跳转至创建AI应用页面。 完成AI应用配置,部分配置如下: 元模型来源:选择“从容器镜像中选择”。 容器镜像所在的路径:选择上传镜像至 容器镜像服务 上传的路径。 容器调用接口:根据实际情况配置容器调用接口。 健康检查:保持默认。如果镜像中配置了健康检查则按实际情况配置健康检查。 图1 AI应用配置参数 单击“立即创建”,进入AI应用列表页,等AI应用状态变为“正常”,表示AI应用创建成功。
  • 背景说明 访问在线服务的实际业务中,用户可能会存在如下需求: 高吞吐量、低时延 TCP或者RPC请求 因此,ModelArts提供了VPC直连的高速访问通道功能以满足用户的需求。 使用VPC直连的高速访问通道,用户的业务请求不需要经过推理平台,而是直接经VPC对等连接发送到实例处理,访问速度更快。 由于请求不经过推理平台,所以会丢失以下功能: 认证鉴权 流量按配置分发 负载均衡 告警、监控和统计 图1 VPC直连的高速访问通道示意图
  • https示例 使用Flask启动https,Webserver代码示例如下: from flask import Flask, request import json app = Flask(__name__) @app.route('/greet', methods=['POST']) def say_hello_func(): print("----------- in hello func ----------") data = json.loads(request.get_data(as_text=True)) print(data) username = data['name'] rsp_msg = 'Hello, {}!'.format(username) return json.dumps({"response":rsp_msg}, indent=4) @app.route('/goodbye', methods=['GET']) def say_goodbye_func(): print("----------- in goodbye func ----------") return '\nGoodbye!\n' @app.route('/', methods=['POST']) def default_func(): print("----------- in default func ----------") data = json.loads(request.get_data(as_text=True)) return '\n called default func !\n {} \n'.format(str(data)) @app.route('/health', methods=['GET']) def healthy(): return "{\"status\": \"OK\"}" # host must be "0.0.0.0", port must be 8080 if __name__ == '__main__': app.run(host="0.0.0.0", port=8080, ssl_context='adhoc')
  • 在本地机器调试 自定义引擎的规范可以在安装有docker的本地机器上通过以下步骤提前验证: 将自定义引擎镜像下载至本地机器,假设镜像名为custom_engine:v1。 将模型包文件夹复制到本地机器,假设模型包文件夹名字为model。 在模型包文件夹的同级目录下验证如下命令拉起服务: docker run --user 1000:100 -p 8080:8080 -v model:/home/mind/model custom_engine:v1 该指令无法完全模拟线上,主要是由于-v挂载进去的目录是root权限。在线上,模型文件从OBS下载到/home/mind/model目录之后,文件owner将统一修改为ma-user。 在本地机器上启动另一个终端,执行以下验证指令,得到符合预期的推理结果。 curl https://127.0.0.1:8080/${推理服务的请求路径}
  • 方案概述 推理服务的端到端运维流程 算法开发阶段,先将业务AI数据存放到对象存储服务(OBS)中,接着通过ModelArts数据管理进行标注和版本管理,然后通过训练获得AI模型结果,最后通过开发环境构建AI应用镜像。 服务运维阶段,先利用镜像构建AI应用,接着部署AI应用为在线服务,然后可在 云监控服务 CES )中获得ModelArts推理在线服务的监控数据,最后可配置告警规则实现实时告警通知。 业务运行阶段,先将业务系统对接在线服务请求,然后进行业务逻辑处理和监控设置。 图1 推理服务的端到端运维流程图 整个运维过程会对服务请求失败和资源占用过高的场景进行监控,当超过阈值时发送告警通知。 图2 监控告警流程图 方案优势 通过端到端的服务运维配置,可方便地查看业务运行高低峰情况,并能够实时感知在线服务的健康状态。 约束限制 端到端服务运维只支持在线服务,因为推理的批量服务和边缘服务无CES监控数据,不支持完整的端到端服务运维设置。
  • 操作事项 ModelArts:设置资源池的网络 用户VPC:安装和配置正向代理 算法镜像:设置DNS代理和公网地址调用 ModelArts:设置资源池的网络 专属资源池的创建作业类型包含推理服务,选择的网络需打通VPC网络,如下图所示: 图2 创建专属资源池 图3 打通VPC 打通VPC可实现ModelArts资源池和用户VPC的网络打通。打通VPC前需要提前创建好VPC和子网,具体步骤请参考创建虚拟私有云和子网。 用户VPC:安装和配置正向代理 在安装正向代理前,需要先购买一台弹性 云服务器ECS (镜像可选择Ubuntu最新版本),并配置好弹性EIP,然后登录E CS 进行正向代理Squid的安装和配置,步骤如下: 如果没有安装Docker,执行以下命令进行Docker安装 curl -sSL https://get.daocloud.io/docker | sh 拉取Squid镜像 docker pull ubuntu/squid 创建主机目录,配置whitelist.conf和squid.conf 先创建主机目录: mkdir –p /etc/squid/ 添加whitelist.conf配置文件,内容为安全控制可访问的地址,如: .apig.cn-east-3.huaweicloudapis.com 添加squid.conf配置文件,内容如下: # An ACL named 'whitelist' acl whitelist dstdomain '/etc/squid/whitelist.conf' # Allow whitelisted URLs through http_access allow whitelist # Block the rest http_access deny all # Default port http_port 3128 然后设置主机目录和配置文件权限如下: chmod 640 -R /etc/squid 启动squid实例 docker run -d --name squid -e TZ=UTC -v /etc/squid:/etc/squid -p 3128:3128 ubuntu/squid:latest 如果whitelist.conf或squid.conf有更新,则进入容器刷新squid docker exec –it squid bash root@{container_id}:/# squid -k reconfigure 算法镜像:设置DNS代理和公网地址调用 设置代理 在代码中设置代理指向代理服务器私有IP和端口,如下所示: proxies = { "http": "http://{proxy_server_private_ip}:3128", "https": "http://{proxy_server_private_ip}:3128" } 服务器私有IP获取如下图所示: 图4 ECS私有IP 地址调用 在推理代码中,使用服务URL进行业务请求,如: https://e8a048ce25136addbbac23ce6132a.apig.cn-east-3.huaweicloudapis.com
  • 场景描述 目标:构建安装如下软件的容器镜像,并在ModelArts平台上使用Ascend规格资源运行训练任务。 ubuntu-18.04 cann-6.3.RC2 (商用版本) python-3.7.13 mindspore-2.1.1 本教程以cann-6.3.RC2.、mindspore-2.1.1为例介绍。 本示例仅用于示意Ascend容器镜像制作流程,且在匹配正确的Ascend驱动/固件版本的专属资源池上运行通过。
共100000条