检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
各个模型深度学习训练加速框架的选择 LlamaFactory框架使用两种训练框架: DeepSpeed和Accelerate都是针对深度学习训练加速的工具,但是它们的实现方式和应用场景有所不同。 DeepSpeed是一种深度学习加速框架,主要针对大规模模型和大规模数据集的训练。DeepSpeed
W4A16量化 大模型推理中,模型权重数据类型(weight),推理计算时的数据类型(activation)和kvcache一般使用半精度浮点FP16或BF16。量化指将高比特的浮点转换为更低比特的数据类型的过程。例如int4、int8等。 模型量化分为weight-only量化,
kv-cache-int8量化 什么是kv-cache-int8量化 kv-cache-int8是实验特性,在部分场景下性能可能会劣于非量化。 约束限制 当前支持per-token动态量化(推荐), per-tensor静态量化以及per-tensor+per-head静态量化。
训练启动脚本说明和参数配置 本代码包中集成了不同模型的训练脚本,并可通过不同模型中的训练脚本一键式运行。训练脚本可判断是否完成预处理后的数据和权重转换的模型。如果未完成,则执行脚本,自动完成数据预处理和权重转换的过程。 如果用户进行自定义数据集预处理以及权重转换,可通过编辑 1_preprocess_data.sh
保存ckpt时超时报错 在多节点集群训练完成后,只有部分节点会保存权重,而其他节点会一直在等待通信。当等待时间超过36分钟时,会发生超时的错误。 图1 报错提示 解决方法 1. 需要保证磁盘IO带宽正常,可以在36分钟内将文件保存到磁盘。单个节点内,最大只有60G(实际应该在40G
训练启动脚本说明和参数配置 本代码包中集成了不同模型的训练脚本,并可通过不同模型中的训练脚本一键式运行。训练脚本可判断是否完成预处理后的数据和权重转换的模型。如果未完成,则执行脚本,自动完成数据预处理和权重转换的过程。 如果用户进行自定义数据集预处理以及权重转换,可通过编辑 1_preprocess_data.sh
因APIG(API网关)限制,平台每次请求预测的时间不超过40秒。 SSE在线服务调用 SSE协议本身不提供额外的认证方式,和HTTP请求方式一致。
在ECS中通过Dockerfile从0制作自定义镜像用于推理 针对ModelArts目前不支持的AI引擎,您可以针对该引擎构建自定义镜像,并将镜像导入ModelArts,创建为模型。本文详细介绍如何使用自定义镜像完成模型的创建,并部署成在线服务。 操作流程如下: 本地构建镜像:在本地制作自定义镜像包
训练启动脚本说明和参数配置 本代码包中集成了不同模型(包括llama2、llama3、Qwen、Qwen1.5 ......)的训练脚本,并可通过不同模型中的训练脚本一键式运行。训练脚本可判断是否完成预处理后的数据和权重转换的模型。如果未完成,则执行脚本,自动完成数据预处理和权重转换的过程
训练tokenizer文件说明 在训练开始前,需要针对模型的tokenizer文件进行修改,不同模型的tokenizer文件修改内容如下,您可在创建的Notebook中对tokenizer文件进行编辑。 LLama2模型 在当前的软件版本中,由于transformers的版本过高(
显存溢出错误 在训练过程中,常见显存溢出报错,示例如下: RuntimeError: NPU out of memory. Tried to allocate 1.04 GiB (NPU 4; 60.97 GiB total capacity; 56.45 GiB already
训练启动脚本说明和参数配置 本代码包中集成了不同模型的训练脚本,并可通过不同模型中的训练脚本一键式运行。训练脚本可判断是否完成预处理后的数据和权重转换的模型。若未完成,则执行脚本,自动完成数据预处理和权重转换的过程。 若用户进行自定义数据集预处理以及权重转换,可通过编辑 1_preprocess_data.sh
训练的数据集预处理说明 以 llama2-13b 举例,运行:0_pl_pretrain_13b.sh 训练脚本后,脚本检查是否已经完成数据集预处理的过程。 若已完成数据集预处理,则直接执行预训练任务。若未进行数据集预处理,则会自动执行 scripts/llama2/1_preprocess_data.sh
训练的数据集预处理说明 以llama2-13b举例,使用训练作业运行:obs_pipeline.sh 训练脚本后,脚本自动执行数据集预处理,并检查是否已经完成数据集预处理。 如果已完成数据集预处理,则直接执行训练任务。如果未进行数据集预处理,则会自动执行scripts/llama2
执行训练任务(推荐) 新的训练方式将统一管理训练日志、训练结果和训练配置,使用yaml配置文件方便用户根据自己实际需求进行修改。推荐用户使用该方式进行训练。 步骤一 上传训练权重文件和数据集 如果在准备代码和数据阶段已经上传权重文件和数据集到容器中,可以忽略此步骤。 如果未上传训练权重文件和数据集到容器中
训练参数配置说明【旧】 如果用户希望自定义参数进行训练,可直接编辑对应模型的训练脚本,请根据实际模型修改。 表1 模型训练脚本参数 参数 示例值 参数说明 ORIGINAL_TRAIN_DATA_PATH 【预训练:pt】预训练数据集相对或绝对地址 【微调:sft】微调数据集相对或绝对地址
网卡名称错误 当训练开始时提示网卡名称错误。或者通信超时。可以使用ifconfig命令检查网卡名称配置是否正确。 比如,ifconfig看到当前机器IP对应的网卡名称为enp67s0f5,则可以设置环境变量指定该值。 图1 网卡名称错误 export GLOO_SOCKET_IFNAME
网卡名称错误 当训练开始时提示网卡名称错误。或者通信超时。可以使用ifconfig命令检查网卡名称配置是否正确。 比如,ifconfig看到当前机器IP对应的网卡名称为enp67s0f5,则可以设置环境变量指定该值。 图1 网卡名称错误 export GLOO_SOCKET_IFNAME
执行训练任务(历史版本) 步骤一 上传训练权重文件和数据集 如果在准备代码和数据阶段已经上传权重文件和数据集到容器中,可以忽略此步骤。 如果未上传训练权重文件和数据集到容器中,具体参考上传代码和权重文件到工作环境和上传数据到指定目录章节完成。训练脚本中会自动执行训练前的权重转换操作和数据处理操作
训练参数配置说明【旧】 如果用户希望自定义参数进行训练,可直接编辑对应模型的训练脚本,请根据实际模型修改。 表1 模型训练脚本参数 参数 示例值 参数说明 ORIGINAL_TRAIN_DATA_PATH 【预训练:pt】预训练数据集相对或绝对地址 【微调:sft】微调数据集相对或绝对地址