文档首页/
AI开发平台ModelArts/
最佳实践/
LLM大语言模型训练推理/
主流开源大模型基于Standard+OBS+SFS适配PyTorch NPU训练指导(6.3.907)/
准备工作/
准备代码
更新时间:2024-08-17 GMT+08:00
准备代码
本教程中用到的模型软件包如下表所示,请提前准备好。
获取模型软件包
模型软件包结构说明
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格式转换magatron格式后权重文件 |── 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 #微调数据文件 |── model #原始权重及tokenizer目录,需要用户手动创建并上传,后续操作步骤中会提示 ├── llama2-13b-hf
父主题: 准备工作