文档首页/
AI开发平台ModelArts/
最佳实践/
LLM大语言模型训练推理/
主流开源大模型基于DevServer适配LlamaFactory PyTorch NPU训练指导(6.3.907)/
准备工作/
准备代码
更新时间:2024-08-17 GMT+08:00
准备代码
本教程中用到的训练、推理代码如下表所示,请提前准备好。
获取模型软件包和权重文件
模型软件包结构说明
本教程需要使用到的AscendCloud-6.3.907中的AscendCloud-LLM-xxx.zip软件包和算子包AscendCloud-OPP,AscendCloud-LLM关键文件介绍如下。
|——AscendCloud-LLM |──llm_train # 模型训练代码包 |──LLaMAFactory # 基于LLaMAFactory的训练代码 |──ascendcloud_patch/ # 针对昇腾云平台适配的功能补丁包 |──demo.yaml # 样例yaml配置文件 |──demo.sh # 指令微调启动shell脚本 |──intall.sh # 需要的依赖包 |──LLaMA-Factory # LLaMAFactory的代码目录 |──AscendSpeed # 基于AscendSpeed的训练代码
工作目录介绍
详细的工作目录参考如下,建议参考以下要求设置工作目录。
${workdir}(例如/home/ma-user/ws ) |──llm_train #解压代码包后自动生成的代码目录,无需用户创建 |── LLaMAFactory # 代码目录 |──ascendcloud_patch/ # 针对昇腾云平台适配的功能代码包 |──demo.sh # 指令微调启动shell脚本 |──demo.yaml # 样例yaml配置文件 |──intall.sh # 需要的依赖包 |──LLaMA-Factory # 执行install.sh后生成此目录,容器内执行参考Step3 启动容器镜像 |──data # 原始数据目录,如使用自定义数据,参考准备数据(可选) |── tokenizers #原始权重/tokenizer目录,用户手动创建,用户根据实际规划目录修改,后续操作步骤中会提示 |── Qwen2-72B # 输出权重及日志路径,用户可根据实际自行规划,无需手动创建,此路径对应表1表格中output_dir参数值 |── saved_dir_for_output_lf # 训练输出保存权重,目录结构会自动生成,无需用户创建 |── ${model_name} # 模型名称,根据实际训练模型创建,训练完成权重文件及日志目录
上传代码和权重文件到工作环境
- 使用root用户以SSH的方式登录DevServer。
- 将AscendCloud代码包AscendCloud-xxx-xxx.zip上传到${workdir}目录下并解压缩,如:/home/ma-user/ws目录下,以下都以/home/ma-user/ws为例,请根据实际修改。
unzip AscendCloud-*.zip unzip AscendCloud-LLM-*.zip
- 上传tokenizers文件到工作目录中的/home/ma-user/ws/tokenizers/{Model_Name}目录,用户根据自己实际规划路径修改;如Qwen2-72B。
进入到${workdir}目录下,如:/home/ma-user/ws,创建tokenizers文件目录将权重和词表文件放置此处,以Qwen2-72B为例。
cd /home/ma-user/ws mkdir -p tokenizers/Qwen2-72B
父主题: 准备工作