准备软件包、权重、训练数据集
训练前需要先上传模型权重、软件包和训练数据集到Lite Server指定目录,如下表所示。
| 
       文件  | 
     
       推荐目录  | 
     
       说明  | 
    
|---|---|---|
| 
       模型权重  | 
     
       /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服务器执行即可。
步骤一:上传代码包和权重文件
- 上传安装依赖软件训练代码AscendCloud-LLM-xxx.zip到主机中并解压,包获取路径请参见表5,解压详解如下:
    
cd ${work_dir} unzip AscendCloud-*.zip && unzip ./AscendCloud-LLM-*.zip - 将权重文件上传到Lite Server机器中。权重文件的格式要求为Huggingface格式。开源权重文件获取地址请参见支持的模型列表。
 - 权重要求放在磁盘的指定目录,保证模型文件、权重文件(如LFS文件)已完整下载。
    
cd ${work_dir} mkdir -p model/{模型名称} - 修改权重(tokenizer)文件,以下模型需修改,根据所选框架及模型修改相应文件,详情参考tokenizer文件说明。
 
步骤二:上传数据到指定目录
不同框架下数据要求有差异,将预期的训练数据放在${work_dir}/training_data目录下。具体步骤如下:
- 创建目录training_data。
   
cd ${work_dir} mkdir training_data - 获取数据集,并把指定数据上传至在${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:用户已处理数据集。
 
 - 将原始数据或处理好的数据按照下面的数据存放目录要求放置,数据存放参考目录结构如下。
   
${work_dir} |── training_data |── alpaca_en_demo.json # 代码原有数据集 |── identity.json # 代码原有数据集 ...dat |── alpaca_gpt4_data.json # 自定义样例数据集 - 【Llama-Factory框架】数据预处理
   
- 需处理,更新代码目录下data/dataset_info.json文件。如使用以下示例数据集则命令如下。关于数据集文件格式及配置,更多样例格式信息请参考README_zh.md 的内容。
     
vim dataset_info.json
新加配置参数如下:
"alpaca_gpt4_data": { "file_name": "alpaca_gpt4_data.json" },样例截图:

 - 不需处理,数据准备结束。
 
 - 需处理,更新代码目录下data/dataset_info.json文件。如使用以下示例数据集则命令如下。关于数据集文件格式及配置,更多样例格式信息请参考README_zh.md 的内容。
     
 - 【VeRL框架】数据预处理:
   VeRL框架要求所有用于训练的数据集都必须经过预处理。
- 根据模型类型选择VeRL数据处理样例脚本内容拷贝至本地,命名为dataset_demo.py,编辑脚本中 datasets.load_dataset参数值,如下所示。
      
dataset = datasets.load_dataset(xxx/xxx/xxx) #xxx/xxx/xxx值填写为原始数据集目录或文件的绝对或相对路径
 - 下载数据集。
      
git clone https://huggingface.co/datasets/hiyouga/geometry3k # 多模态数据集 git clone https://huggingface.co/datasets/openai/gsm8k # 大语言数据集
 - 在本地执行以下命令转换数据集。
      
python dataset_demo.py --local_dir=/data/verl-workdir/data/xxx/
--local_dir:数据处理输出后的数据集路径。

 
 - 根据模型类型选择VeRL数据处理样例脚本内容拷贝至本地,命名为dataset_demo.py,编辑脚本中 datasets.load_dataset参数值,如下所示。
      
 
 
  MindSpeed框架下不需要手动做数据转换,通过训练yaml文件中的配置自动完成数据转换。
多机情况下,只有在rank_0节点进行数据预处理,转换权重等工作,所以原始数据集和原始权重,包括保存结果路径,都应该在共享目录下。