ModelArts Lite Server环境
步骤一:准备工作
- 已完成准备工作步骤
- 根据实际所选训练框架及评测指标修改examples/config目录下相应yaml文件参数配置或参考样例自定义yaml文件,参数详解可参考MindSpeed-LLM、Llama-Factory【二选一】。
|──AscendFactory/examples/config/ # config配置文件 |──modellink_performance_cfgs.yaml # mindspeed-llm性能最优参数yaml文件 |──modellink_accuracy_cfgs.yaml # mindspeed-llm精度yaml文件 |──performance_cfgs.yaml # Llama-Factory大语言类微调性能yaml文件 |──llama_factory_accuracy_baseline.yaml # Llama-Factory微调精度yaml文件 |──llama_factory_performance_cfgs_VL.yaml # 多模态类微调yaml配置文件
样例yaml配置文件结构如下:
- base块:基础配置块,主要为公共配置参数
- ModelName块:该模型所需配置的参数,如qwen2.5-7b块
- exp_name:实验块,训练策略-序列长度所需参数配置
样例yaml文件仅展示常用实验配置,如需其他配置需根据样例自行添加。
步骤二:启动任务
- 训练前设置虚拟内存,开启虚拟内存
# 开启虚拟内存 export PYTORCH_NPU_ALLOC_CONF="expandable_segments:True";
- 任意目录都可执行训练命令,如新建test_benchmark目录下,预训练及微调阶段模型最小卡数参考模型最小卡数配置按自己实际情况决定。
单机<可选>:
# 默认8卡 ascendfactory-cli train <cfgs_yaml_file> <model_name> <exp_name> # 指定设备卡数,如2卡 ASCEND_RT_VISIBLE_DEVICES=0,1 ascendfactory-cli train <cfgs_yaml_file> <model_name> <exp_name> # 指定修改yaml中某个参数内容,如output_dir等值,使用超参命令传递形式: ASCEND_RT_VISIBLE_DEVICES=0,1 ascendfactory-cli train <cfgs_yaml_file> <model_name> <exp_name> --output_dir=xxx
多机<可选>多机同时执行:
ascendfactory-cli train <cfgs_yaml_file> <model_name> <exp_name> --master_addr <master_addr> --num_nodes <nodes> --rank <rank> # 指定修改yaml中某个参数内容,如output_dir等值,使用超参命令传递形式: ascendfactory-cli train <cfgs_yaml_file> <model_name> <exp_name> --master_addr <master_addr> --num_nodes <nodes> --rank <rank> --output_dir=xxx
- <cfgs_yaml_file>:yaml文件相对或绝对路径地址,根据自己要求执行。
- <model_name>:训练模型名,如qwen1.5-7b,需与<cfgs_yaml_file>里面对应。
DeepSeek-R1与DeepSeek-V3模型结构相同、参数配置相同,因此可使用同一份yaml文件,训练DeepSeek-R1时,此处执行命令中的<model_name>请填写deepseek3。配置截图如下:
- <exp_name>:实验名称:指定本次实验的具体配置,还包括数据配置等,比如full或lora等,该名称需要和<cfgs_yaml_file>里面对应。
- --master_addr <master_addr>:主master节点IP,一般选rank 0为主master。
- --num_nodes <nodes>:训练节点总个数。
- --rank <rank>:节点ID,从0开始,一般选rank 0为主master。
- --超参<key>:参数key可参考MindSpeed-LLM或Llama-Factory根据要求选择。