当前位置: 首页 > news >正文

CANN/cann-recipes-train: Qwen3-1.7B SFT训练示例

Qwen3-1.7B SFT训练示例

【免费下载链接】cann-recipes-train本项目针对LLM与多模态模型训练业务中的典型模型、加速算法,提供基于CANN平台的优化样例项目地址: https://gitcode.com/cann/cann-recipes-train

硬件要求

卡数:1张A3

基于Dockerfile构建环境

  1. 创建镜像。

    # 请预先下载本样例提供的Dockerfile文件:Dockerfile.cann.mindspeed.qwen3 # 随后基于该Dockerfile创建docker image。请传入镜像名称,例如 qwen3_sft docker build -t qwen3_sft -f Dockerfile.cann.mindspeed.qwen3 . # 创建并进入镜像 # 请设置容器名称,例如 qwen3_sft,镜像名称同上一步 # container_name=qwen3_sft # image_name=qwen3_sft:latest # 默认docker创建为单机配置(16卡),可按照实际环境进行修改选择对应的卡数 --device=/dev/davinci0 bash build_docker.sh
  2. 源码准备。

    # 下载本样例所在代码仓,以master分支为例 git clone https://gitcode.com/cann/cann-recipes-train.git # 添加镜像中已经准备好的依赖文件 cd ./cann-recipes-train/llm_sft/qwen3/ cp -r /workspace/MindSpeed-LLM MindSpeed-LLM cp -r qwen3_dense MindSpeed-LLM/examples/mcore cd MindSpeed-LLM

一站式平台快速启动SFT训练示例

环境要求

一站式平台镜像选择:CANN-8.5.0-A3 或者 CANN-8.5.0-A2

项目及依赖构建

在当前目录下(cann-recipes-train/llm_sft/qwen3)执行:

bash build_project_platform.sh # 进入对应目录 cd MindSpeed-LLM

数据集准备

本样例使用的alpaca数据集准备方法如下:

# 在本样例目录下创建dataset数据集目录 mkdir -p ./dataset cd dataset/ # 从魔塔社区下载alpaca数据集的parquet文件 pip install modelscope modelscope download --dataset OmniData/alpaca --local_dir ./alpaca cd ../

模型权重准备

本样例使用的Qwen3-1.7B模型权重准备方法如下:

# 从魔塔社区下载模型的基础文件,存放在当前目录的 ./Qwen3-1.7B 目录下 mkdir ./Qwen3-1.7B modelscope download --model Qwen/Qwen3-1.7B --local_dir ./Qwen3-1.7B

Qwen3-1.7B

  1. 数据转换,将原始数据转为训练数据格式:

    bash examples/mcore/qwen3_dense/data_convert_qwen3_instruction.sh
  2. 模型转换,将HuggingFace格式的模型转换为Mcore训练格式:

    bash examples/mcore/qwen3_dense/ckpt_convert_qwen3_hf2mcore.sh
  3. SFT训练启动脚本:

    bash examples/mcore/qwen3_dense/tune_qwen3_4K_full_A3_ptd.sh
  4. 训练后模型转换回huggingface格式

    bash examples/mcore/qwen3_dense/ckpt_convert_qwen3_mcore2hf.sh

注:需要按照实际情况在以上脚本中修改 ascend-toolkit 路径,默认配置为:

source /usr/local/Ascend/ascend-toolkit/set_env.sh

一站式平台需要修改为(以CANN 8.5.0为例):

source /home/developer/Ascend/cann-8.5.0/set_env.sh

附录 相关参数说明

  1. 数据准备:

    参数说明
    --input输入数据文件路径(可以直接输入到数据集目录或具体文件,如果是目录,则处理全部文件, 支持.parquet/.csv/.json/.jsonl/.txt/.arrow格式, 同一个文件夹下的数据格式需要保持一致)
    --tokenizer-name-or-pathtokenizer文件路径
    --output-prefix输出数据文件前缀
    --handler-name微调数据预处理Alpaca风格数据集时,应指定为AlpacaStyleInstructionHandler,根据--map-keys参数提取对应数据的列。
    --enable-thinking是否添加推理tag,例如
    --seq-length序列长度,默认4096
    --prompt-type指定模型模板,默认为qwen3

alpaca风格数据示例:

[ { "instruction": "人类指令(必填)", "input": "人类输入(选填)", "output": "模型回答(必填)", "system": "系统提示词(选填)", "history": [ ["第一轮指令(选填)", "第一轮回答(选填)"], ["第二轮指令(选填)", "第二轮回答(选填)"] ] } ]
  1. 模型转换hf2mcore相关参数说明:

    参数说明
    --target-tensor-parallel-size张量并行
    --target-pipeline-parallel-size流水线并行
    --load-dir输入模型路径
    --save-dir输出模型路径
    --moe-grouped-gemm启用MoE grouped GEMM优化
    --model-type-hfHuggingFace模型类型
    --expert-tensor-parallel-size专家张量并行大小,需要显式指定为1
  2. SFT训练:

  • 路径配置

    参数说明
    CKPT_LOAD_DIR加载预训练权重的路径
    CKPT_SAVE_DIR保存微调模型的路径
    DATA_PATH训练数据集路径
    TOKENIZER_PATHTokenizer文件路径
  • 并行配置,需要和模型转换的参数保持一致

    参数说明默认值
    TP张量并行大小1
    PP流水线并行大小1
    CP上下文并行大小1
    CP_TYPE上下文并行算法ulysses_cp_algo
  • 训练配置

    参数说明默认值
    SEQ_LENGTH序列长度4096
    TRAIN_ITERS训练迭代次数2000
    --micro-batch-size单卡batch size1
    --global-batch-size全局batch size32
    --lr学习率1.25e-6
    --lr-decay-style学习率衰减方式cosine
    --min-lr最小学习率1.25e-7
    --weight-decay权重衰减0.1
    --lr-warmup-fraction预热比例0.01
    --clip-grad梯度裁剪1.0
  • 微调参数

    参数说明
    --finetune启用微调模式
    --stage训练阶段,sft表示监督微调
    --is-instruction-dataset使用指令数据集
    --prompt-type使用qwen3格式的prompt
  1. 模型转换mcore2hf:

    参数说明
    --load-dir输入模型路径,训练保存的模型路径
    --save-dir输出模型路径
    --model-type-hfHuggingFace模型类型

【免费下载链接】cann-recipes-train本项目针对LLM与多模态模型训练业务中的典型模型、加速算法,提供基于CANN平台的优化样例项目地址: https://gitcode.com/cann/cann-recipes-train

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.jsqmd.com/news/783457/

相关文章:

  • CANN/GE UDF接口列表
  • 实拍实测!兰州儿童摄影推荐TOP3,看完再选不踩雷 - 江湖评测
  • 诺基亚23亿美元收购英飞朗,昔日手机霸主借光通信转型AI算力时代
  • 2026 海口财税 Q2 季度:注册公司代办,代理记账,高新企业认证靠谱机构十大推荐排行 - 品牌优企推荐
  • 从开发者反馈看 Taotoken 在高峰时段的 API 响应稳定性
  • 量子计算在化学模拟中的应用与iQCC方法解析
  • 【计算机毕业设计】基于 Python + PyTorch 的神经点云压缩实验系统(源码+数据库+文档+部署)
  • MySQL数据库表结构设计最佳实践_规范化设计提升查询性能
  • 数据中台不是终点,数据治理才是起点——2026六大主流平台对比与选型框架
  • 能量阀工厂
  • 2026环氧地坪漆、地坪漆环氧地坪源头厂家的靠谱推荐 哪家好 - 奔跑123
  • CANN/Ascend C开发套件
  • day19_线性回归
  • 告别毕业季双重内耗:Paperxie 用一套流程,搞定论文查重与 AI 痕迹通关
  • GPT-4与GPT-3错误信息识别能力深度对比与工程实践指南
  • 君乐宝优萃宝爱奶粉怎么样?2026年走心测评:从奶源到配方一次说清 - 速递信息
  • CANN/pto-isa内存操作(GM <-> Tile)
  • 使用Taotoken后我们网站的AI服务延迟体感明显下降
  • 2026年沥青加温设备、筑路设备源头厂家采购完全指南——德州霖垚筑路设备官方对接 - 企业名录优选推荐
  • 接入Taotoken后从API响应时间体感上感知到的服务延迟优化
  • 2026年高性价比国产管夹式流量计替代:五家优选深度对比 - 科技焦点
  • 机器学习预测磁性材料临界温度:从数据驱动到物理洞察
  • 职场中的年羹尧
  • 医疗影像AI落地实战:从AGI大模型到临床小模型的对齐与轻量化
  • 河北筑盛建筑工程:行唐市政道路沥青施工推荐几家 - LYL仔仔
  • 基于强化学习的量子热机反馈控制:DDPG算法实现与优化
  • R数据导入全链路实战:从CSV到SPSS、FWF与大文件处理
  • CANN/pto-isa矩阵乘法操作参考
  • 2026年山东沥青加温设备与道路养护筑路设备采购完全指南 - 企业名录优选推荐
  • CANN/metadef动态算子自动映射