最近更新时间:2026-06-01 10:44:03
Llama(Large Language Model Meta AI)是由 Meta 公司推出的开源大语言模型,Llama3 是 Llama 系列的最新版本。本文介绍如何在星流平台完成 Llama3 模型的训练。
如需挂载存储配置,请确保启动命令中使用的脚本执行目录与存储配置中的挂载路径保持一致,避免路径错误导致脚本执行失败。
如果任务执行失败可通过日志查看原因,如果挂载失败会提示路径找不到。
已成功创建包含GPU节点的资源组。
已成功创建含有GPU节点的队列。
已成功创建KS3存储配置,以便开启 Tensorboard。
本实践中已提前内置了数据集和相应代码,在实际生产场景中,通常会将数据集、代码、checkpoint 等数据都以存储配置的形式挂载到资源实例上。
本实践的整体流程如下:
新建训练任务,配置官方镜像、启动命令、环境变量、资源及存储挂载等参数。
训练任务运行后,进入实例容器查看训练日志,确认任务正常启动。
通过 TensorBoard 查看训练过程中的监控数据。
登录星流平台,在顶部导航栏,选择有资源的可用区,点击训推与仿真 > 训练任务。
在训练任务页面,点击 +新建,进入新建训练任务页面。根据如下要求配置各项参数,点击确定,等待训练任务状态转为运行中。
任务名称:用户自定义,根据实际情况填写。
镜像类型:选择官方镜像。
镜像:选择名为 llama3-train-demo,Python 版本为 3.10,CUDA 版本为 12.3 的镜像。
启动命令:按照如下内容填写。
cd /workspace/Pai-Megatron-Patch-240405/
export PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python
bash /workspace/Pai-Megatron-Patch-240405/examples/llama3/run_kai.sh.wl 8B 3 128 1 1 16 INFO None bond0 4 2>&1 | tee /mnt/Pai-Megatron-Patch-240405/task_$PET_NODE_RANK.log环境变量:按照以下内容配置。
ENV_TENSORBOARD_DIR=/mnt/tensorboard #设置tensorboard
NCCL_DEBUG=WARN
NCCL_DEBUG_SUBSYS=ALL
NCCL_IB_HCA=mlx5_0:1,mlx5_1:1,mlx5_2:1,mlx5_3:1,mlx5_4:1,mlx5_5:1,mlx5_6:1,mlx5_7:1,
NCCL_SOCKET_IFNAME=bond0
UCX_NET_DEVICES=bond0
NCCL_IB_GID_INDEX=3
NCCL_DEBUG_FILE=/mnt/Pai-Megatron-Patch-240405/nccl_debug_file.%h.%p资源组:选择准备工作中提前创建好的资源组。
队列:选择准备工作中提前创建好的队列。
训练框架:选择 pytorch。
任务资源:Master 副本数默认为 1,设置 Worker 副本数为 1,GPU 卡数设置为 8,其他资源数根据实际情况设置。
当前任务所需的总 GPU 数 =(Master 数 + Worker 数)× GPU 卡数
挂载配置:勾选开启 TensorBoard,并选择对象存储 KS3,选择准备工作中提前创建的 KS3,并设置挂载路径为 /mnt/tensorboard,即与环境变量参数中设置的一样。
其他参数:根据实际情况进行设置或保持默认。
在训练任务列表界面,点击相应的任务名称,进入其详情页面。
在概览页签,下拉页面至实例区域,点击指定实例操作列中的进入容器。
对于 Megatron 框架的模型训练,任务正常启动后可在最后一个 Rank 所在的 Pod 查看输出日志,日志中会展示模型训练过程中每一轮次的统计信息。
执行下图红框内的命令,即可查看相关日志。
纯净模式
