192 Star 1.2K Fork 1.1K

GVPAscend/MindSpeed-LLM

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

0day提供Qwen3系列模型同步首发支持

认证【Pass】表示经过昇腾官方版本测试的模型,【Test】表示待测试模型

模型 下载链接 魔乐社区链接 脚本位置 序列 实现 集群 贡献方 认证
Qwen3-dense 0.6B 0.6B Qwen3-0.6B 4K Mcore 1x8 【Ascend】 【Test】
1.7B 1.7B Qwen3-1.7B 4K Mcore 1x8 【Ascend】 【Test】
4B 4B Qwen3-4B 4K Mcore 1x8 【Ascend】 【Test】
8B 8B Qwen3-8B 4K Mcore 1x8 【Ascend】 【Test】
14B 14B Qwen3-14B 4K Mcore 1x8 【Ascend】 【Test】
32B 32B Qwen3-32B 4K Mcore 2x8 【Ascend】 【Test】
Qwen3-moe 30B 30B Qwen3-30B-A3B 4K Mcore 2x8 【Ascend】 【Test】
235B 235B Qwen3-235B-A22B 4K Mcore 16x16 【Ascend】 【Test】

MindSpeed跑通Qwen3模型手把手教程:快速部署与应用

本教程将指导从环境准备到模型训练的完整过程,确保快速上手并顺利跑通Qwen3模型。下文示例qwen3-1.7B的运行步骤,以下是详细说明:

目录

环境配置

硬件要求

类型 硬件 配置
预训练 NPU 8 x Ascend NPUs

环境搭建

MindSpeed-LLM的主要依赖配套如下表,安装步骤参考安装指导

依赖软件 版本
昇腾NPU驱动 商发版本
昇腾NPU固件
CANN Toolkit(开发套件) 商发版本
CANN Kernel(算子包)
CANN NNAL(Ascend Transformer Boost加速库)
Python >=3.10
PyTorch 2.1.0
torch_npu插件 2.1.0
apex 商发版本
transformers 4.51.3

1. 仓库拉取

git clone https://gitee.com/ascend/MindSpeed-LLM.git
git clone https://github.com/NVIDIA/Megatron-LM.git
cd Megatron-LM
git checkout core_r0.8.0
cp -r megatron ../MindSpeed-LLM/
cd ..
cd MindSpeed-LLM
mkdir logs
mkdir dataset
mkdir ckpt

2. 环境搭建

torch npu 与 CANN包参考链接:安装包参考链接

# python3.10
conda create -n test python=3.10
conda activate test

# 安装 torch 和 torch_npu,注意要选择对应python版本、x86或arm的torch、torch_npu及apex包
pip install torch-2.1.0-cp310-cp310m-manylinux2014_aarch64.whl
pip install torch_npu-2.1.0*-cp310-cp310m-linux_aarch64.whl

# apex for Ascend 参考 https://gitee.com/ascend/apex
# 建议从原仓编译安装

# 安装加速库
git clone https://gitee.com/ascend/MindSpeed.git
cd MindSpeed
# checkout commit from MindSpeed core_r0.8.0
git checkout 2c085cc9
pip install -r requirements.txt
pip install -e .
cd ../MindSpeed-LLM


# 安装其余依赖库
pip install -r requirements.txt

注意 : 由于首发最新版本支持,要求transformers版本为4.51.3,用户需执行以下命令:

  pip install transformers == 4.51.3

权重转换

  1. 权重下载

    huggingface或者魔乐社区下载权重和配置文件

  2. 权重转换

    提供脚本将huggingface开源权重转换为mcore权重,用于训练、推理、评估等任务。

    使用方法如下,请根据实际需要的TP/PP等切分策略和权重路径修改权重转换脚本

    cd MindSpeed-LLM
    bash tests/0day/qwen3/qwen3-1.7b/ckpt_convert_qwen3_1.7b_hf2mcore.sh
    

数据预处理

数据集处理使用方法如下,请根据实际需要修改以下参数

cd MindSpeed-LLM
bash tests/0day/qwen3/qwen3-1.7b/data_convert_qwen3_1.7b_pretrain.sh
参数名 含义
--input 数据集路径
--tokenizer-name-or-path 模型tokenizer目录
--output-prefix 数据集处理完的输出路径及前缀名

训练

预训练使用方法如下

cd MindSpeed-LLM
bash tests/0day/qwen3/qwen3-1.7b/pretrain_qwen3_1.7b_ptd.sh

用户需要根据实际情况修改脚本中以下变量

变量名 含义
MASTER_ADDR 多机情况下主节点IP
NODE_RANK 多机下,各机对应节点序号
CKPT_SAVE_DIR 训练中权重保存路径
DATA_PATH 数据预处理后的数据路径
TOKENIZER_PATH qwen3 tokenizer目录
CKPT_LOAD_DIR 权重转换保存的权重路径,为初始加载的权重,如无初始权重则随机初始化

推理

推理使用方法如下

cd MindSpeed-LLM
bash tests/0day/qwen3/qwen3-1.7b/generate_qwen3_1.7b_ptd.sh

用户需要根据实际情况修改脚本中以下变量

变量名 含义
MASTER_ADDR 多机情况下主节点IP
NODE_RANK 多机下,各机对应节点序号
CHECKPOINT 训练保存的权重路径
TOKENIZER_PATH qwen3 tokenizer目录

评估

评估使用方法如下

cd MindSpeed-LLM
bash tests/0day/qwen3/qwen3-1.7b/evaluate_qwen3_1.7b_ptd.sh

用户需要根据实际情况修改脚本中以下变量

变量名 含义
MASTER_ADDR 多机情况下主节点IP
NODE_RANK 多机下,各机对应节点序号
TOKENIZER_PATH qwen3 tokenizer目录
CKPT_LOAD_DIR 权重转换保存的权重路径,为初始加载的权重,如无初始权重则随机初始化
DATA_PATH 评估采用的数据集路径,当前推荐使用MMLU
TASK 评估采用的数据集,当前推荐使用MMLU

声明

0day系列模型处于内部测试阶段,未完成充分的性能测试和验收。在实际使用中可能存在未被发现的问题,待后续充分验证后会发布正式版本。相关使用问题请反馈至MindSpeed-LLM/issues

MindSpeed-LLM框架将持续支持相关主流模型演进,并根据开源情况面向全体开发者提供支持。

马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/ascend/MindSpeed-LLM.git
git@gitee.com:ascend/MindSpeed-LLM.git
ascend
MindSpeed-LLM
MindSpeed-LLM
master

搜索帮助