基于昇腾 MindSpeed LLM 玩转 DeepSeek-V4-Flash

MindSpeed LLM作为昇腾AI生态的重要技术支撑,专为大规模语言模型设计,具有超强的计算能力和灵活的开发支持。MindSpeed LLM实现了DeepSeekV4-Flash模型的定长数据场景下的预训练支持,并同步开放源代码。本文给各位开发者提供预训练的复现部署参考,帮助大家快速上手。MindSpeed LLM快速部署与应用教程已上线魔乐社区,欢迎开发者体验!

🔗 DeepSeek-V4-Flash开源权重链接:https://modelers.cn/models/deepseek-ai/DeepSeek-V4-Flash

🔗 MindSpeed LLM训练推理教程:https://modelers.cn/models/MindSpeed/DeepSeek4-Flash

接下来,我们将手把手带你完成从环境准备到模型训练的完整过程,帮助你快速上手并在MindSpeed框架下实现DeepSeek-V4-Flash模型的无缝运行。

01 环境配置

硬件要求

DeepSeek-V4-Flash的参考硬件配置如下,本文将以A3八机64卡预训练为例进行介绍:

  • 类型:训练

  • 硬件:NPU

  • 配置:64 x Ascend NPUs(A3)

MindSpeed LLM仓库部署

MindSpeed LLM的主要依赖配套如下:

Atlas 800 A3风冷超节点、Atlas 900 A3 SuperPoD液冷超节点

安装步骤参考安装指导:

https://gitcode.com/Ascend/MindSpeed-LLM/blob/master/docs/zh/pytorch/training/install_guide.md

接下来,参考MindSpeed LLM 安装指导文档拉取仓库代码并配置环境:

复制代码
# 如果你使用Atlas 900 A3 SuperPoD液冷超节点或Atlas 800 A3风冷超节点,我们推荐你使用如下镜像进行环境部署,可跳过CANN/Pytorch/Triton环境依赖的部署环节

# 镜像链接:https://cann-ai.obs.cn-north-4.myhuaweicloud.com/cann-quantization/deepseek_train/dsv4_train_mindspeed_v1.0.tar.gz

# 创建容器
docker run -dit --ipc=host --network host --name 'llm_test' --privileged -v /usr/local/Ascend/driver:/usr/local/Ascend/driver -v /usr/local/Ascend/firmware:/usr/local/Ascend/firmware -v /usr/local/sbin/:/usr/local/sbin/ -v /home/:/home/ -v /data/:/data 镜像名:标签 /bin/bash

# 进入容器
docker exec -it llm_test bash

# 该镜像已安装CANN与自定义融合算子包,在运行训练任务前,请使能如下环境变量以正确生效算子能力
source /usr/local/Ascend/cann/set_env.sh
source /usr/local/Ascend/cann/opp/vendors/custom_transformer/bin/set_env.bash

# 安装MindSpeed加速库
git clone https://gitcode.com/ascend/MindSpeed.git
cd MindSpeed
git checkout master  # checkout commit from MindSpeed master
pip3 install -r requirements.txt 
pip3 install -e .
cd ..

# 准备MindSpeed-LLM及Megatron-LM源码
git clone https://gitcode.com/ascend/MindSpeed-LLM.git 
git clone https://github.com/NVIDIA/Megatron-LM.git  # megatron从github下载,请确保网络能访问
cd Megatron-LM
git checkout core_v0.12.1
cp -r megatron ../MindSpeed-LLM/
cd ../MindSpeed-LLM
git checkout master

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

02 权重转换

  1. 从魔乐社区下载模型权重和配置文件:

    https://modelers.cn/models/deepseek-ai/DeepSeek-V4-Flash

  2. 权重转换

    开源DeepSeek-V4-Flash权重为FP8 mixed数据格式,使用A3训练前需要对原始权重做反量化后获得bf16格式的权重,反量化方法请参考下述脚本。

    cd MindSpeed-LLM
    bash examples/mcore/deepseek4_flash/ckpt_dequant_deepseek4_fp8_to_bf16.sh

MindSpeed LLM提供脚本将已经huggingface开源权重转换为mcore权重,用于训练、推理、评估等任务。使用方法如下,请根据实际需要的TP/PP等切分策略和权重路径修改权重转换脚本。

脚本链接:https://gitcode.com/Ascend/MindSpeed-LLM/tree/master/examples/mcore/deepseek4_flash

复制代码
cd MindSpeed-LLM
bash examples/mcore/deepseek4_flash/ckpt_convert_deepseek4_flash_hf2mcore.sh # 转换时,请指定路径到反量化后的权重

03 数据预处理

MindSpeed LLM提供脚本进行数据集处理:

https://gitcode.com/Ascend/MindSpeed-LLM/blob/master/examples/mcore/deepseek4_flash

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

复制代码
cd MindSpeed-LLM
bash examples/mcore/deepseek4_flash/data_convert_deepseek4_pretrain.sh

说明:

  • --input:数据集路径

  • --tokenizer-name-or-path:模型tokenizer目录

  • --output-prefix:数据集处理完的输出路径及前缀名

04 训练

MindSpeed LLM提供脚本进行模型训练:

https://gitcode.com/Ascend/MindSpeed-LLM/blob/master/examples/mcore/deepseek4_flash

复制代码
cd MindSpeed-LLM
bash examples/mcore/deepseek4_flash/pretrain_deepseek4_flash_4k_A3_ptd.sh

你可以需要根据实际情况修改脚本中以下变量:

  • MASTER_ADDR:多机情况下主节点IP

  • NODE_RANK:多机下,各机对应节点序号

  • CKPT_SAVE_DIR:训练中权重保存路径

  • DATA_PATH:数据预处理后的数据路径

  • TOKENIZER_PATH:tokenizer目录

  • CKPT_LOAD_DIR:权重转换保存的权重路径,为初始加载的权重,如无初始权重则随机初始化

欢迎体验反馈

当前实现为preview版本,部分场景存在限制,后续MindSpeed LLM将持续完善并同步跟进 DeepSeek-V4 技术报告中的演进方向。欢迎各位开发者体验,如有任何问题,也可在该教程的代码仓提交issue,我们将及时查看解答。

https://modelers.cn/models/MindSpeed/DeepSeek4-Flash

相关推荐
CIO_Alliance5 分钟前
AI+iPaaS解决方案深度整合:让跨系统业务流程自动化一步到位
人工智能·ipaas·系统集成·ai+ipaas·企业cio联盟·企业级ai化转型
苏州IT威翰德6 分钟前
算力资产“续命”专家:苏州威翰德科技赋能NVIDIA高端AI芯片芯片级维修
大数据·人工智能
天上路人19 分钟前
A59P双波束语音模块:神经网络降噪在远场拾音中的工程实现分析
人工智能·深度学习·神经网络·ai降噪·ai语音·麦克风·回音消除
冬奇Lab27 分钟前
AI 评测系列(03):LLM-as-Judge——让 LLM 评价 LLM 的正确姿势
人工智能·llm
Miao1213138 分钟前
某海外住宿平台如何在大规模场景下实现指标一致性:Minerva 指标平台实践
大数据·数据库·人工智能
冬奇Lab41 分钟前
每日一个开源项目(第164篇):毕昇(BISHENG)- 面向企业的开源 LLM DevOps 平台
人工智能·开源·agent
CCPC不拿奖不改名1 小时前
大模型推理架构与开源生态知识整理
数据库·windows·python·架构·langchain·开源·github
声讯电子1 小时前
录音笔AI降噪方案:从录得到到听得清的听觉革命
人工智能·语音识别
小小测试开发1 小时前
Playwright vs Selenium vs Cypress:从浏览器协议到 API 设计的全面对比与实测
人工智能·selenium·测试工具
Ai_easygo2 小时前
AI Agent开发入门——从ReAct到Tool Calling,拆解Agent的底层运行逻辑
前端·人工智能·react.js