一、硬件环境与依赖配置

本教程基于昇腾计算平台进行训练,具体硬件配置如下:

8卡 Ascend 910B2 NPU

内存 >= 512GB

存储 >= 1TB NVMe SSD

软件环境要求:

Python 3.10

MindSpore 2.4.10

CANN 8.0.RC3.beta

固件与驱动版本 24.1.RC3

为简化环境配置,我们提供了预配置好的 Docker 镜像:

拉取训练镜像

docker pull swr.cn-central-221.ovaijisuan.com/mindformers/llm_mindspore:latest复制

配置环境变量

export IMAGE=swr.cn-central-221.ovaijisuan.com/mindformers/llm_mindspore:latest export CONTAINER=llm_training复制

启动容器

docker run -itd -u root \ --ipc=host --net=host \ --privileged \ --device=/dev/davinci[0-7] \ --device=/dev/davinci_manager \ --device=/dev/devmm_svm \ --device=/dev/hisi_hdc \ -v /usr/local/Ascend:/usr/local/Ascend \ -v /etc/ascend_install.info:/etc/ascend_install.info \ --name $CONTAINER \ $IMAGE复制

二、数据准备

训练需要两个核心组件:

  1. 预训练语料库(WikiText-2)

  2. Tokenizer 分词模型

创建工作目录

mkdir -p /workspace/data cd /workspace/data复制

下载并处理数据集

wget https://ascend-repo-modelzoo.obs.cn-east-2.myhuaweicloud.com/MindFormers/dataset/wikitext-2/wikitext-2-v1.zip复制
unzip wikitext-2-v1.zip复制

获取分词模型

wget https://huggingface.co/deepseek-ai/DeepSeek-V3/resolve/main/tokenizer.json复制

数据预处理

python tools/preprocess.py \--input data/wiki.train.tokens \--output data/wiki_4096 \--tokenizer tokenizer.json \--seq-length 4096 \--workers 4复制

三、模型配置

我们基于 1B 参数量的配置进行训练,核心配置包括:

1. 模型架构配置

model_config: hidden_size: 2048 num_layers: 3 num_heads: 8 intermediate_size: 6144复制

2. 混合专家系统(MoE)配置

    moe_config: expert_num: 16 first_k_dense_replace: 1复制

    3. 分布式训练配置

    parallel_config: data_parallel: 2 model_parallel: 2 pipeline_stage: 2 expert_parallel: 2 micro_batch_num: 4复制

    四、启动训练

    执行以下命令开始训练:

    cd /workspace bash scripts/train.sh \ --config configs/llm_1b.yaml \ --data_path data/wiki_4096复制

    训练日志将保存在 output/logs 目录下。由于启用了流水线并行,loss 值仅会在最后一张卡(worker-7)的日志中显示:

    tail -f output/logs/worker_7.log复制

    模型 checkpoint 会定期保存在 output/ckpts 目录。

    五、注意事项

    1. 确保系统内存充足,推荐预留50%以上空闲内存

    2. 定期检查显存占用情况,避免 OOM

    3. 如遇到命令行换行符问题,可尝试去除反斜杠后在单行执行

    4. 训练初期 loss 波动较大属于正常现象,建议训练超过1000步再评估效果

    六、参考资源

    MindSpore 官方文档

    预训练模型仓库

    详细配置说明

    Logo

    Agent 垂直技术社区,欢迎活跃、内容共建。

    更多推荐