检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
训练的权重转换说明 以llama2-13b举例,使用训练作业运行0_pl_pretrain_13b.sh脚本。脚本同样还会检查是否已经完成权重转换的过程。 如果已完成权重转换,则直接执行预训练任务。如果未进行权重转换,则会自动执行scripts/llama2/2_convert_mg_hf
使用SmoothQuant量化工具转换权重 SmoothQuant(W8A8)量化方案能降低模型显存以及需要部署的卡数。也能同时降低首token时延和增量推理时延。支持SmoothQuant(W8A8)量化的模型列表请参见支持的模型列表和权重文件。 本章节介绍如何在Noteboo
使用SmoothQuant量化工具转换权重 SmoothQuant(W8A8)量化方案能降低模型显存以及需要部署的卡数。也能同时降低首token时延和增量推理时延。支持SmoothQuant(W8A8)量化的模型列表请参见支持的模型列表和权重文件。 本章节介绍如何在Noteboo
使用kv-cache-int8量化 kv-cache-int8是实验特性,在部分场景下性能可能会劣于非量化。当前支持per-tensor静态量化,支持kv-cache-int8量化和FP16、BF16、AWQ、smoothquant的组合。 kv-cache-int8量化支持的模型请参见支持的模型列表和权重文件。
指令监督微调训练任务 Step1 上传训练权重文件和数据集 如果在准备代码和数据阶段已经上传权重文件、自定义数据集,可以忽略此步骤。 未上传训练权重文件,具体参考上传代码和权重文件到工作环境。 使用自定义数据集训练未上传自定义数据集。具体参考上传自定义数据到指定目录章节并更新dataset_info
训练启动脚本说明和参数配置 本代码包中集成了不同模型(包括llama2、llama3、Qwen、Qwen1.5 ......)的训练脚本,并可通过不同模型中的训练脚本一键式运行。训练脚本可判断是否完成预处理后的数据和权重转换的模型。如果未完成,则执行脚本,自动完成数据预处理和权重转换的过程。
ECS获取基础镜像 Step1 登录ECS服务器 根据创建ECS服务器创建完成ECS服务器后,单击“远程登录”,可使用华为CloudShell远程登录。后续安装Docker、获取镜像、构建镜像等操作均在该ECS上进行。 Step2 创建镜像组织 在SWR服务页面创建镜像组织。 图1
镜像保存时报错“container size %dG is greater than threshold %dG”如何解决? 问题现象 在Notebook里保存镜像时报错“container size %dG is greater than threshold %dG”。 原因分析
使用自定义镜像创建的训练作业一直处于运行中 问题现象 使用自定义镜像创建训练作业,训练作业的“状态”一直处于“运行中”。 原因分析及处理办法 日志打印如下内容,表示自定义镜像的CPU架构与资源池节点的CPU架构不一致。 standard_init_linux.go:215: exec
精度调优总体思路 PyTorch大模型训练的精度问题的分析、定位可以参考如下思路: 大模型训练通常使用多机训练,鉴于多机训练复现问题的成本较高,且影响因子较多,建议用户先减少模型层数,使模型能够单机训练,确认单机训练是否也存在精度问题,若存在,则使用下述手段定位精度问题,使得单机精度达标,然后再恢复层数拉起多机训练。
准备环境 本文档中的模型运行环境是ModelArts Lite的Server。请参考本文档要求准备资源环境。 资源规格要求 计算规格:不同模型训练推荐的NPU卡数请参见表2。 硬盘空间:至少200GB。 Ascend资源规格: Ascend: 1*ascend-snt9b表示Ascend单卡。
Finetune训练 本章节介绍SDXL&SD 1.5模型的Finetune训练过程。Finetune是指在已经训练好的模型基础上,使用新的数据集进行微调(fine-tuning)以优化模型性能。 启动SD1.5 Finetune训练服务 使用ma-user用户执行如下命令运行训练脚本。
查看日志和性能 单击作业详情页面,则可查看训练过程中的详细信息。 图1 查看训练作业 在作业详情页的日志页签,查看最后一个节点的日志,其包含“elapsed time per iteration (ms)”数据,可换算为tokens/s/p的性能数据。 吞吐量(tokens/s/p):global
查看日志和性能 查看日志 训练过程中,训练日志会在第一个的Rank节点打印。 图1 打印训练日志 训练完成后,如果需要单独获取训练日志文件,日志存放在第一个的Rank节点中;日志存放路径为:对应表1表格中output_dir参数值路径下的trainer_log.jsonl文件 查看性能
LoRA微调训练 步骤一 上传训练权重文件和数据集 如果在准备代码和数据阶段已经上传权重文件和数据集到容器中,可以忽略此步骤。 如果未上传训练权重文件和数据集到容器中,具体参考上传代码和权重文件到工作环境和上传数据到指定目录章节完成。训练脚本中会自动执行训练前的权重转换操作和数据处理操作。
查看日志和性能 查看日志 训练过程中,训练日志会在最后的Rank节点打印。 图1 打印训练日志 训练完成后,如果需要单独获取训练日志文件,可以在${SAVE_PATH}/logs路径下获取。日志存放路径为:/home/ma-user/ws/saved_dir_for_ma_output/llama2-70b/logs
查看日志和性能 查看日志 若查看启动作业日志信息,可通过以下命令打印正在启动的日志信息。其中${pod_name}为pod信息中的NAME,例如vcjob-main-0。 kubectl logs -f ${pod_name} 训练过程中,训练日志会在最后的Rank节点打印。 图1
查看日志和性能 查看日志 训练过程中,训练日志会在最后的Rank节点打印。 图1 打印训练日志 训练完成后,如果需要单独获取训练日志文件,可以在${OUTPUT_SAVE_DIR}/log路径下获取。 查看性能 训练性能主要通过训练日志中的2个指标查看,吞吐量和loss收敛情况。
准备数据 本教程使用到的训练数据集是Alpaca数据集。您也可以自行准备数据集。 数据集下载 本教程使用Alpaca数据集,数据集的介绍及下载链接如下。 Alpaca数据集是由OpenAI的text-davinci-003引擎生成的包含52k条指令和演示的数据集。这些指令数据可以
准备数据 本教程使用到的训练数据集是Alpaca数据集。您也可以自行准备数据集。 数据集下载 本教程使用Alpaca数据集,数据集的介绍及下载链接如下。 Alpaca数据集是由OpenAI的text-davinci-003引擎生成的包含52k条指令和演示的数据集。这些指令数据可以