检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
/home/ma-user/etc/ssh_host_rsa_key0 将准备好的sshd启动脚本文件上传至OBS的训练代码目录下。 创建自定义镜像训练作业。 “代码目录”选择存有sshd启动脚本文件的OBS地址。 “启动命令”需要适配sshd启动脚本,如下所示: bash ${MA_JOB_DIR}/demo-code/start_sshd
__instancecheck__ 原因分析 递归深度超过了Python默认的递归深度,导致训练失败。 处理方法 如果超过最大递归深度,建议您在启动文件中增大递归调用深度,具体操作如下: import sys sys.setrecursionlimit(1000000) 父主题: 业务代码问题
自定义镜像导入模型部署上线调用API报错 部署上线调用API报错,排查项如下: 确认配置文件模型的接口定义中有没有POST方法。 确认配置文件里url是否有定义路径。例如:“/predictions/poetry”(默认为“/”)。 确认API调用中body体中的调用路径是否拼接
st-modelarts/ascend/code/”。 “启动命令” 镜像的Python启动命令。本文示例的启动命令为“bash ${MA_JOB_DIR}/code/run_torch_ddp_npu.sh”。其中,启动脚本的完整代码请参见代码示例。 (可选)启用ranktable动态路由
管理批量服务生命周期 启动服务 您可以对处于“运行完成”、“异常”和“停止”状态的服务进行启动操作,“部署中”状态的服务无法启动。启动服务,当服务处于“运行中”状态后,ModelArts将开始计费。您可以通过如下方式启动服务: 登录ModelArts管理控制台,在左侧菜单栏中选择
在Terminal里执行如下命令在镜像里指定环境变量。 # python-3.7.10这里指用户想设置的kernel名称 export KG_DEFAULT_KERNEL_NAME=python-3.7.10 单击操作列的“更多>保存镜像”,保存成功后然后重新启动Notebook。 父主题:
管理在线服务生命周期 启动服务 您可以对处于“运行完成”、“异常”和“停止”状态的服务进行启动操作,“部署中”状态的服务无法启动。启动服务,当服务处于“运行中”状态后,ModelArts将开始计费。您可以通过如下方式启动服务: 登录ModelArts管理控制台,在左侧菜单栏中选择
表示BF16。如果不指定,则根据输入数据自动匹配数据类型。 --distributed-executor-backend:多卡推理启动后端,可选值为"ray"或者"mp",其中"ray"表示使用ray进行启动多卡推理,"mp"表示使用python多进程进行启动多卡推理。默认使用"mp"后端启动多卡推理。
computation. 原因分析 分布式Tensorflow不能使用“tf.variable”要使用“tf.get_variable”。 处理方法 请您将“启动文件”中的“tf.variable”替换为“tf.get_variable”。 父主题: 业务代码问题
${node-path}:节点自定义目录,该目录下包含pod配置文件config.yaml和推理服务启动脚本run_vllm.sh,run_vllm.sh内容见Step3 创建服务启动脚本。 ${model-path}:Step1 上传权重文件中上传的模型权重路径。 Step3 创建服务启动脚本 run_vllm.sh脚本示例如下。
“健康检查” 用于指定模型的健康检查。仅当自定义镜像中配置了健康检查接口,才能配置“健康检查”,否则会导致模型创建失败。当前支持以下三种探针: 启动探针:用于检测应用实例是否已经启动。如果提供了启动探针(startup probe),则禁用所有其他探针,直到它成功为止。如果启动探针失败,
${node-path}:节点自定义目录,该目录下包含pod配置文件config.yaml和推理服务启动脚本run_vllm.sh,run_vllm.sh内容见Step3 创建服务启动脚本。 ${model-path}:Step1 上传权重文件中上传的模型权重路径。 Step3 创建服务启动脚本 run_vllm.sh脚本示例如下。
${node-path}:节点自定义目录,该目录下包含pod配置文件config.yaml和推理服务启动脚本run_vllm.sh,run_vllm.sh内容见Step3 创建服务启动脚本。 ${model-path}:Step1 上传权重文件中上传的模型权重路径。 Step3 创建服务启动脚本 run_vllm.sh脚本示例如下。
|──trainer.py # 训练启动脚本 |──performance.py # 训练性能比较启动脚本 |──accuracy.py # 训练精度启动脚本 |──model/Qwen2-7B/
在OBS桶中,创建文件夹,准备ascend_vllm代码包、模型权重文件、推理启动脚本run_vllm.sh及SSL证书。此处以chatglm3-6b为例。 ascend_vllm代码包在Step9 构建推理代码已生成。 模型权重文件获取地址请参见表1。 推理启动脚本run_vllm.sh制作请参见•创建推理脚本文件run_vllm
问题现象 在使用pytorch启动多进程的时候,出现如下报错: RuntimeError: Cannot re-initialize CUDA in forked subprocess 原因分析 出现该问题的可能原因如下: multiprocessing启动方式有误。 处理方法 可以参考官方文档,如下:
缀较长或者多轮对话场景下推荐使用prefix-caching特性。在推理服务启动脚本中添加此参数表示使用,不添加表示不使用。 --quantization:推理量化参数。当使用量化功能,则在推理服务启动脚本中增加该参数,若未使用量化功能,则无需配置。根据使用的量化方式配置,可选择awq或smoothquant方式。
silently 原因分析 根据报错信息,可以判断是日志文件的大小已达到限制。出现该报错之后,日志不再增加,后台将继续运行。 处理方法 请您在启动文件中减少无用日志输出。 父主题: 硬盘限制故障
根据config.yaml启动作业 启动作业命令如下。首先会根据config.yaml创建pod,继而在pod容器内自动启动训练作业。 kubectl apply -f config.yaml 启动后,可通过以下命令获取所有已创建的pod信息。若pod已全部启动,则状态为:Running。
附录:大模型推理常见问题 问题1:在推理预测过程中遇到NPU out of memory 解决方法:调整推理服务启动时的显存利用率,将--gpu-memory-utilization的值调小。 问题2:在推理预测过程中遇到ValueError:User-specified max_model_len