更新时间:2025-07-29 GMT+08:00
分享

准备代码

本教程中用到的训练推理代码和如下表所示,请提前准备好。

获取模型软件包和权重文件

本方案支持的模型对应的软件和依赖包获取地址如表1所示,模型列表、对应的开源权重获取地址如表1所示。

表1 模型对应的软件包和依赖包获取地址

代码包名称

代码说明

下载地址

AscendCloud-6.5.901-xxx.zip

说明:

软件包名称中的xxx表示时间戳。

包含了本教程中使用到的模型训练代码、推理部署代码和推理评测代码。代码包具体说明请参见模型软件包结构说明

获取路径:Support-E,在此路径中查找下载ModelArts6.5.901 版本。

说明:

如果上述软件获取路径打开后未显示相应的软件信息,说明您没有下载权限,请联系您所在企业的华为方技术支持下载获取。

获取模型权重文件

获取对应模型的权重文件,获取链接参考表1

权重文件下载有如下几种方式,但不仅限于以下方式:

  • 方法一:网页下载:通过单击表格中权重文件获取地址的访问链接,即可在模型主页的Files and Version中下载文件。
  • 方法二:huggingface-clihuggingface-cli是 Hugging Face 官方提供的命令行工具,自带完善的下载功能。具体步骤可参考:HF-Mirror中的使用教程。完成依赖安装和环境变量配置后,以Llama2-70B为例:
    huggingface-cli download --resume-download meta-llama/Llama-2-70b-chat-hf --local-dir <模型下载路径>

    若要下载指定版本的模型文件,则命令如下:

    huggingface-cli download --resume-download meta-llama/Llama-2-70b-chat-hf --revision <模型版本>  --local-dir <模型下载路径>
  • 方法三:使用专用多线程下载器 hfd:hfd 是本站开发的 huggingface 专用下载工具,基于成熟工具 git+aria2,可以做到稳定下载不断线。
  • 方法四:使用Git clone,官方提供了 git clone repo_url 的方式下载,但是不支持断点续传,并且clone 会下载历史版本占用磁盘空间。

模型软件包结构说明

本教程需要使用到的AscendCloud-6.5.901中的AscendCloud-LLM-xxx.zip软件包和算子包AscendCloud-OPP,AscendCloud-LLM关键文件介绍如下。
|——AscendCloud-LLM
  |──llm_train                    # 模型训练代码包
    |──AscendFactory   
      |──examples/                # config配置文件目录
      |──data.tgz                 # 样例数据压缩包
      |──third-party/             # patch包
      |──src/acs_train_solution/  # 训练运行包
      |──intall.sh                # 需要的依赖包
      |──scripts_llamafactory/    # llamafactory兼容旧版本启动方式目录
      |──scripts_modellink/       # modelLink兼容旧版本启动方式目录
      |──Dockerfile 

工作目录介绍

详细的工作目录参考如下,建议参考以下要求设置工作目录。训练脚本以分类的方式集中在 scripts 文件夹中。
${workdir}
|──llm_train                                  # 模型训练代码包
    |──AscendFactory
       |──config/                             # 配置文件
          |──deepspeed/                       # deepspeed配置json文件
          |──modellink_performance_cfgs.yaml  # ModelLink训练配置json文件
          |──.......
       |──data.tgz                  #样例数据压缩包
       |──intall.sh                 # 需要的依赖包
       |──scripts_modellink/        # modelLink兼容旧版本启动方式目录
          |──llama3                 # llama3系列模型执行脚本的文件夹
          |──qwen2.5                # Qwen2.5系列模型执行脚本的文件夹
          |── ...
          |── dev_pipeline.sh       # 系列模型共同调用的多功能的脚本
       |──third-party/              # patch包
       |──src/acs_train_solution/   # 训练运行包
          |──ascendcloud_patch/     # patch补丁包
          |──benchmark/             #工具包,存放数据集及基线数据
             |──trainer.py          # 训练启动脚本
             |──performance.py      # benchmark训练性能比较启动脚本
             |──accuracy.py         # benchmark训练精度启动脚本
     |──model/Qwen2-7B/             # 权重词表文件目录,如Qwen2-7B 
     |──training_data               # 原始数据目录
        |──alpaca_gpt4_data.json    # 微调数据
        |──train-00000-of-00001-a09b74b3ef9c3b56.parquet #预训练数据 
     |──{output_dir} #{OUTPUT_SAVE_DIR}或yaml文件{output_dir}参数设置值
         # 自动生成数据目录结构
        |── preprocessed_data
        |──converted_hf2mg_weight_TP${TP}PP${PP}
        |──checkpoint    # 训练完成生成目录Qwen2-7B,自动生成

上传代码和权重文件到工作环境

  1. 使用root用户以SSH的方式登录DevServer。
  2. 将AscendCloud代码包AscendCloud-xxx-xxx.zip上传到${workdir}目录下并解压缩,如SFS Turbo的路径:/mnt/sfs_turbo目录下,以下都以/mnt/sfs_turbo为例,请根据实际修改。
    unzip AscendCloud-*.zip 
    unzip AscendCloud-LLM-*.zip  

    Yi-34B、Qwen1.5系列、GLM4-9B模型执行lora微调策略任务如产生mc2融合算子错误,可参考mc2融合算子报错

  3. 上传tokenizers文件到工作目录中的/mnt/sfs_turbo/tokenizers/Llama2-{MODEL_TYPE}目录,如Llama2-70B。

    具体步骤如下:

    进入到${workdir}目录下,如:/mnt/sfs_turbo,创建tokenizers文件目录将权重和词表文件放置此处,以Llama2-70B为例。

    cd /mnt/sfs_turbo
    mkdir -p models/Llama2-70B

相关文档