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

准备软件包、权重、训练数据集

训练前需要先上传模型权重、软件包和训练数据集到Lite Server指定目录,如下表所示。

表1 上传文件和对应目录介绍

文件

推荐目录

说明

模型权重

/mnt/sfs_turbo/model/{模型名称}

将/mnt/sfs_turbo定义成变量${work_dir}

AscendCloud软件包(包含AscendCloud-LLM代码包,具体参见软件包结构

/mnt/sfs_turbo

训练数据集

/mnt/sfs_turbo/training_data

/mnt/sfs_turbo为宿主机中默认挂载SFS Turbo的工作目录,因此上传模型权重、软件包、训练数据集只需要在Server服务器执行即可。

步骤一:上传代码包和权重文件

  1. 上传安装依赖软件训练代码AscendCloud-LLM-xxx.zip到主机中并解压,包获取路径请参见表3,解压详解如下:
    cd ${work_dir}
    unzip AscendCloud-*.zip && unzip ./AscendCloud-LLM-*.zip
  2. 将权重文件上传到Lite Server机器中。权重文件的格式要求为Huggingface格式。开源权重文件获取地址请参见支持的模型列表
  3. 权重要求放在磁盘的指定目录,保证模型文件、权重文件(如LFS文件)已完整下载。
    cd ${work_dir}
    mkdir -p model/{模型名称}
  4. 修改权重(tokenizer)文件,以下模型需修改,根据所选框架及模型修改相应文件,详情参考tokenizer文件说明
    • Llama-Factory:glm4-9b模型、InternVL2_5系列模型

步骤二:上传数据到指定目录

不同框架下数据要求有差异,将预期的训练数据放在${work_dir}/training_data目录下。具体步骤如下:

  1. 创建目录training_data。
    cd ${work_dir}
    mkdir training_data 
  2. 获取数据集,并把指定数据上传至在${work_dir}/training_data目录下。
    • 途径1:数据参考训练数据说明进行下载。
    • 途径2:软件包中已预置部分数据集,可直接使用。
      tar -zxvf ${work_dir}/llm_train/AscendFactory/data.tgz
      cp  ${work_dir}/llm_train/AscendFactory/data/*  ${work_dir}/training_data
    • 途径3:用户已处理数据集。
  3. 将原始数据或处理好的数据按照下面的数据存放目录要求放置,数据存放参考目录结构如下。
    ${work_dir}
      |── training_data
           |── alpaca_en_demo.json                   # 代码原有数据集
           |── identity.json                         # 代码原有数据集
           ...dat
           |── alpaca_gpt4_data.json                 # 自定义样例数据集
  4. 【Llama-Factory框架】数据预处理

    关于数据集文件格式及配置,更多样例格式信息请参考README_zh.md 的内容,如果数据格式不符合要求则需要参考下文处理。否则,跳过此步骤。

    如果需要预处理数据,则更新代码目录下data/dataset_info.json文件。如使用以下示例数据集则预处理数据的命令如下。
    vim dataset_info.json

    新加配置参数如下:

    "alpaca_gpt4_data": {
        "file_name": "alpaca_gpt4_data.json"
      },

    样例截图:

  5. 【VeRL框架】数据预处理:
    VeRL框架要求所有用于训练的数据集都必须经过预处理。
    1. 根据模型类型选择VeRL数据处理样例脚本内容拷贝至本地,命名为dataset_demo.py,编辑脚本中 datasets.load_dataset参数值,如下所示。
      dataset = datasets.load_dataset(xxx/xxx/xxx) #xxx/xxx/xxx值填写为原始数据集目录或文件的绝对或相对路径
    2. 下载数据集。
      git clone https://huggingface.co/datasets/hiyouga/geometry3k # 多模态数据集
      git clone https://huggingface.co/datasets/openai/gsm8k       # 大语言数据集
    3. 在本地执行以下命令转换数据集。
      python  dataset_demo.py --local_dir=/data/verl-workdir/data/xxx/

      --local_dir:数据处理输出后的数据集路径。

MindSpeed框架下不需要手动做数据转换,通过训练yaml文件中的配置自动完成数据转换。

多机情况下,只有在rank_0节点进行数据预处理,转换权重等工作,所以原始数据集和原始权重,包括保存结果路径,都应该在共享目录下。

相关文档