检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
训练作业的“/cache”目录是否安全? ModelArts训练作业的程序运行在容器中,容器挂载的目录地址是唯一的,只有运行时的容器能访问到。因此训练作业的“/cache”是安全的。 父主题: 创建训练作业
登录ModelArts管理控制台。 在左侧导航栏中,选择“模型训练 > 训练作业”进入训练作业列表。 单击“创建训练作业”,进入创建训练作业页面。 配置训练作业基本信息 在创建训练作业页面填写训练作业基本信息。 表1 创建训练作业的基本信息 参数名称 说明 名称 必填,训练作业的名称。 系统会自动生成一个名
job_name:可选参数,训练任务名,便于区分和记忆。 本地单机调试训练任务开始后,SDK会依次帮助用户完成以下流程: 初始化训练作业,如果2指定的训练数据在OBS上,这里会将数据下载到local_path中。 执行训练任务,用户的训练代码需要将训练输出保存在4中指定的local_path中。
等待模型载入 执行训练启动命令后,等待模型载入,当出现“training”关键字时,表示开始训练。训练过程中,训练日志会在最后的Rank节点打印。 图1 等待模型载入 更多查看训练日志和性能操作,请参考查看日志和性能章节。 如果需要使用断点续训练能力,请参考断点续训练章节修改训练脚本。 父主题:
推荐开启预检,预检可提前发现节点故障、驱动故障。 “1” 如何查看训练环境变量 在创建训练作业时,“启动命令”输入为“env”,其他参数保持不变。 当训练任务执行完成后,在训练作业详情页面中查看“日志”。日志中即为所有的环境变量信息。 图1 查看日志 父主题: 管理模型训练作业
用户项目ID。获取方法请参见获取项目ID和名称。 training_job_id 是 String 训练作业ID。获取方法请参见查询训练作业列表。 task_id 是 String 训练作业的任务名称。可从训练作业详情中的status.tasks字段中获取。 project_id 是 String
nizer文件,具体请参见训练tokenizer文件说明。 Step2 创建预训练任务 创建训练作业,并自定义名称、描述等信息。选择自定义算法,启动方式自定义,以及上传的镜像。训练脚本中会自动执行训练前的权重转换操作和数据处理操作。 图1 选择镜像 训练作业启动命令中输入: cd
LoRA微调训练 前提条件 已上传训练代码、训练权重文件和数据集到OBS中,具体参考代码上传至OBS。 Step1 创建训练任务 创建训练作业,并自定义名称、描述等信息。选择自定义算法,启动方式自定义,以及选择上传的镜像。 代码目录选择:OBS桶路径下的llm_train/AscendSpeed代码目录。
外网访问限制 日志提示“ Network is unreachable” 运行训练作业时提示URL连接超时 父主题: 训练作业
将训练脚本打包成zip文件,上传到3中指定的obs_path中; 如果训练数据保存在Notebook中,则将其打包成zip文件并上传到指定的obs_path中; 将训练作业提交到ModelArts训练服务中,训练作业会使用当前Notebook的镜像来执行训练作业; 训练任务得到的输出上传到4指定的obs_pa
址。需要排查训练代码中是否有设置NCCL_SOCKET_IFNAME环境变量,该环境变量由系统自动注入,训练代码中无需设置。训练代码去除NCCL_SOCKET_IFNAME环境变量设置逻辑后,单击右侧“重建”,重新创建训练作业,提交训练作业后等待作业完成。 等待训练作业是否变成“已完成”状态。
准备模型训练代码 预置框架启动文件的启动流程说明 开发用于预置框架训练的代码 开发用于自定义镜像训练的代码 父主题: 使用ModelArts Standard训练模型
model_train_dataset String 模型训练数据集。 model_dataset_format String 使用模型需要的数据集格式。 model_description_url String 模型描述链接。 parameter String 模型的运行参数。当为自定义镜像训练作业的时候,此参数为容器环境变量。该样例请参考请求示例。
断点续训练 断点续训练是指因为某些原因导致训练作业还未完成就被中断,下一次训练可以在上一次的训练基础上继续进行。这种方式对于需要长时间训练的模型而言比较友好。 断点续训练是通过checkpoint机制实现。checkpoint机制是在模型训练的过程中,不断地保存训练结果(包括但不
训练权重转换说明 以 llama2-13b 举例,使用训练作业运行 obs_pipeline.sh 脚本后,脚本自动执行权重转换,并检查是否已经完成权重转换的过程。 若已完成权重转换,则直接执行训练任务。若未进行权重转换,则会自动执行scripts/llama2/2_convert_mg_hf
训练作业运行失败排查指导 问题现象 训练作业的“状态”出现“运行失败”的现象。 原因分析及处理方法 查看训练作业的“日志”,出现报错“MoxFileNotExistsException(resp, 'file or directory or bucket not found.')”。
单击“提交”,在“信息确认”页面,确认训练作业的参数信息,确认无误后单击“确定”。 训练作业创建完成后,后台将自动完成容器镜像下载、代码目录下载、执行启动命令等动作。 训练作业一般需要运行一段时间,根据您的训练业务逻辑和选择的资源不同,训练时长将持续几十分钟到几小时不等。训练作业执行成功后,日志信息如下所示。
nizer文件,具体请参见训练tokenizer文件说明。 Step2 创建预训练任务 创建训练作业,并自定义名称、描述等信息。选择自定义算法,启动方式自定义,以及上传的镜像。训练脚本中会自动执行训练前的权重转换操作和数据处理操作。 图1 选择镜像 训练作业启动命令中输入: cd
单击“提交”,在“信息确认”页面,确认训练作业的参数信息,确认无误后单击“确定”。 训练作业创建完成后,后台将自动完成容器镜像下载、代码目录下载、执行启动命令等动作。 训练作业一般需要运行一段时间,根据您的训练业务逻辑和选择的资源不同,训练时长将持续几十分钟到几小时不等。 父主题:
创建训练作业 创建训练作业时提示“对象目录大小/数量超过限制”,如何解决? 训练环境中不同规格资源“/cache”目录的大小 训练作业的“/cache”目录是否安全? 训练作业一直在等待中(排队)? 创建训练作业时,超参目录为什么有的是/work有的是/ma-user? 在Mod