更新时间:2024-11-12 GMT+08:00
分享

准备代码

本教程中用到的模型软件包如下表所示,请提前准备好。

获取模型软件包

本方案支持的模型对应的软件和依赖包获取地址如表1所示。

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

代码包名称

代码说明

下载地址

AscendCloud-6.3.906-xxx.zip

说明:

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

包含了本教程中使用到的模型训练代码。代码包具体说明请参见模型软件包结构说明

获取路径:Support-E

请联系您所在企业的华为方技术支持下载获取。

模型软件包结构说明

AscendCloud-6.3.906代码包中AscendCloud-LLM代码包结构介绍如下,训练脚本以分类的方式集中在scripts文件夹中:
|──llm_train                 # 模型训练代码包
          |──AscendSpeed         # 基于AscendSpeed的训练代码
                 |──ascendcloud_patch/   # 针对昇腾云平台适配的功能补丁包
                 |──scripts/             # 训练需要的启动脚本
                      |──llama2          # llama2系列模型执行脚本的文件夹
                      |──llama3          # llama3系列模型执行脚本的文件夹
                      |──qwen            # Qwen系列模型执行脚本的文件夹
                      |──qwen1.5         # Qwen1.5系列模型执行脚本的文件夹
                      |── ...
                      |── dev_pipeline.sh  # 系列模型共同调用的多功能的脚本
                      |── install.sh       # 环境部署脚本
                 |——src/                 # 启动命令行封装脚本,在install.sh里面自动构建
|──llm_inference                 # 推理代码包
|──llm_tools                     # 推理工具

代码上传至OBS

将AscendSpeed代码包AscendCloud-LLM-xxx.zip在本地解压缩后,将llm_train文件上传至OBS中。

结合准备数据准备权重准备代码,将数据集、原始权重、代码文件都上传至OBS后,OBS桶的目录结构如下。

<bucket_name>
|──llm_train                       # 解压代码包后自动生成的代码目录,无需用户创建
      |── AscendSpeed              # 代码目录
              |──ascendcloud_patch/   # 针对昇腾云平台适配的功能代码包
              |──scripts/             # 训练需要的启动脚本
      # 自动生成数据目录结构
      |── processed_for_input           #目录结构会自动生成,无需用户创建
              |── ${model_name}             # 模型名称
                     |── data              # 预处理后数据
		          |── pretrain   # 预训练加载的数据
		          |── finetune   # 微调加载的数据
	      |──converted_weights  # HuggingFace格式转换megatron格式后权重文件
      |── saved_dir_for_output            # 训练输出保存权重,目录结构会自动生成,无需用户创建
              |── ${model_name}             # 模型名称
	                  |── logs              # 训练过程中日志(loss、吞吐性能)
                          |—— saved_models    
		               |── lora              # lora微调输出权重
		               |── sft               # 增量训练输出权重
		               |── pretrain          # 预训练输出权重
# 以下目录结构,用户自己创建
|── training_data                                           #原始数据目录,需要用户手动创建并上传,后续操作步骤中会提示
      ├── train-00000-of-00001-a09b74b3ef9c3b56.parquet    #预训练时预处理后的数据存放地址
      ├── alpaca_gpt4_data.json                            #微调数据文件
|── tokenizer                      #tokenizer目录,需要用户手动创建,后续操作步骤中会提示
      |── llama2-13B-chat-hf
|── model                          #始权重与tokenizer目录,需要用户手动创建,后续操作步骤中会提示
      |── llama2-13B-chat-hf

相关文档