diff --git a/huawei/mindspore/mindformers/models/llama2_13b/README.md b/huawei/mindspore/mindformers/models/llama2_13b/README.md index e0d5b2e42231ffe296fb40be01fc40d02dfc6693..3a94d6389453be02ec260ca4d42faf36b4dd0172 100644 --- a/huawei/mindspore/mindformers/models/llama2_13b/README.md +++ b/huawei/mindspore/mindformers/models/llama2_13b/README.md @@ -3,6 +3,10 @@ 本负载包支持一键拉起单机或多机的LLaMA2 13b模型的预训练或微调任务,自动完成评测,并汇总训练相关的性能数据。 +**单机多卡与多机多卡的区别**:单机多卡负载时,只在单机环境上部署和运行即可;多机多卡负载时,多机就是多个计算节点,管理节点必须是其中一个计算节点。 + +对于LLaMA2 13b模型,64G内存加速卡用于单机运行的任务,32G内存加速卡用于多机运行的任务,请根据实际需要部署环境。 + ## 名词定义 |名词| 定义| | --- | ----------------------------------- | @@ -49,6 +53,7 @@ python >=3.7 ### mindspore准备 **所有计算节点需要准备** + 请依据负载包名中的{mindformers version}对应的Mindformers分支版本(参考[mindformers训练负载主页](https://gitee.com/aisbench/training/tree/master/huawei/mindspore/mindformers)),安装指定版本的MindSpore(Python版本不限)。 MindSpore安装参考[MindSpore官网](https://www.mindspore.cn/)。 @@ -65,7 +70,7 @@ python -c "import mindspore;mindspore.set_context(device_target='Ascend');mindsp 参考[AISBench打点组件logging使用说明](https://gitee.com/aisbench/logging)的“安装和卸载 > 安装logging”章节安装logging打点工具。 -### cluster_tools准备(多机运行需要) +### cluster_tools准备(仅多机运行需要) **仅管理节点需要安装** 从[cluster_tools分布式运行工具发行版](https://gitee.com/aisbench/cluster_tools/releases)获取最新的发行版。 @@ -83,28 +88,30 @@ rank_table_file是一个包含集群节点和加速卡IP信息的json文件。 准备rank_table_file前确保计算节点的`/etc/hccn.conf`文件已经配好。 -参考[LLaMA2模型首页](https://gitee.com/mindspore/mindformers/blob/ac5bb9ec8d1ea85fd2021ca5c6f13b6ae821c270/docs/model_cards/llama2.md)的“生成RANK_TABLE_FILE(多卡运行必须环节)”章节。 +参考[LLaMA2模型首页](https://gitee.com/mindspore/mindformers/blob/ac5bb9ec8d1ea85fd2021ca5c6f13b6ae821c270/docs/model_cards/llama2.md)的“生成RANK_TABLE_FILE(多卡运行必须环节)”或“ 多机RANK_TABLE_FILE合并(多机多卡必备环节)”章节。 -### node_file准备(多机运行需要) +### node_file准备(仅多机运行需要) **部署在管理节点上** node_file是需要给cluster_tools传入的文件,它包含了计算节点的具体信息。 -node_file需要自建,格式参考[ AISBench分布式运行组件cluster_tools使用说明](https://gitee.com/aisbench/cluster_tools/)的“集群节点信息文件内容格式”章节自行创建。**注意,node_file中计算节点的顺序需要与rank_table_file中的计算节点顺序相同。** +node_file需要自建,格式参考[ AISBench分布式运行组件cluster_tools使用说明](https://gitee.com/aisbench/cluster_tools/)的“集群节点信息文件内容格式”章节自行创建。 + +**注意,node_file中计算节点的顺序需要与rank_table_file中的计算节点顺序相同。同时作为管理节点的计算节点,node_file中的work_path路径不能使用管理节点的负载包路径。** ### 模型权重下载与转换 -微调任务需要,预训练任务不涉及,**部署在所有计算节点上**。 +微调任务需要,预训练任务不涉及,**部署在所有计算节点上,要求所有计算节点上存放的目录相同**。 参考[LLaMA2模型首页](https://gitee.com/mindspore/mindformers/blob/ac5bb9ec8d1ea85fd2021ca5c6f13b6ae821c270/docs/model_cards/llama2.md)的“模型权重下载与转换”章节准备LLaMA2 13b的ckpt文件。 ### 数据集准备 #### 预训练数据集准备 -**部署在所有计算节点上**,如果不想手动部署,可以放在负载包的`code/`路径中。 +**部署在管理节点上**,保存在负载包的`code/mindformers`目录下即可。 参考[LLaMA2模型首页](https://gitee.com/mindspore/mindformers/blob/ac5bb9ec8d1ea85fd2021ca5c6f13b6ae821c270/docs/model_cards/llama2.md)“预训练 > 数据集准备”章节准备转换好的预训练数据集。 #### 微调数据集准备 -部署在所有计算节点上,如果不想手动部署,可以放在负载包的`code/`路径中。 +**部署在管理节点上**,保存在负载包的`code/mindformers`目录下即可。 参考[LLaMA2模型首页](https://gitee.com/mindspore/mindformers/blob/ac5bb9ec8d1ea85fd2021ca5c6f13b6ae821c270/docs/model_cards/llama2.md)“微调 > 数据集准备”章节准备转换好的微调数据集。 @@ -113,11 +120,11 @@ node_file需要自建,格式参考[ AISBench分布式运行组件cluster_tools **wikitext** -参考[LLaMA2模型首页](https://gitee.com/mindspore/mindformers/blob/ac5bb9ec8d1ea85fd2021ca5c6f13b6ae821c270/docs/model_cards/llama2.md)“评测 > 文本生成/获取数据集”章节准备评测数据集。 +参考[LLaMA2模型首页](https://gitee.com/mindspore/mindformers/blob/ac5bb9ec8d1ea85fd2021ca5c6f13b6ae821c270/docs/model_cards/llama2.md)“评测 > 文本生成 > 获取数据集”章节准备评测数据集。 **SQuAD** -参考[LLaMA2模型首页](https://gitee.com/mindspore/mindformers/blob/ac5bb9ec8d1ea85fd2021ca5c6f13b6ae821c270/docs/model_cards/llama2.md)“评测阅读理解 > 获取数据集”章节准备评测数据集。 +参考[LLaMA2模型首页](https://gitee.com/mindspore/mindformers/blob/ac5bb9ec8d1ea85fd2021ca5c6f13b6ae821c270/docs/model_cards/llama2.md)“评测 > 阅读理解 > 获取数据集”章节准备评测数据集。 ## 启动前配置 @@ -177,7 +184,7 @@ train_dataset: &train_dataset dataset_dir: "" # 需要填入.mindrecord后缀的wikitext-2数据集的路径。 shuffle: True ``` -`dataset_dir`支持绝对路径以及相对路径。`dataset_dir`填入的相对路径需以`../../`开始,实际文件存放目录为`code/mindformers/`。 +`dataset_dir`仅支持相对路径。`dataset_dir`填入的相对路径需以`../../`开始,实际文件存放目录为`code/mindformers/`。 #### 微调任务 ```yaml @@ -186,7 +193,7 @@ output_dir: './output' # path to save checkpoint/strategy,维持默认 load_checkpoint: '{path}/llama2_13b.ckpt' # 需要填入准备的权重文件.ckpt的路径 src_strategy_path_or_dir: '' ``` -`load_checkpoint`支持绝对路径以及相对路径。`load_checkpoint`填入的相对路径需以`./`开始,实际文件存放目录为`code/mindformers/` +`load_checkpoint`仅支持绝对路径,要求每个计算节点上的权重文件路径保持一致。 ```yaml # dataset @@ -196,7 +203,7 @@ train_dataset: &train_dataset dataset_dir: "/{path}/alpaca-fastchat2048.mindrecord" # 需要填入.mindrecord后缀的alpaca数据集的路径。 shuffle: True ``` -`dataset_dir`支持绝对路径以及相对路径。`dataset_dir`填入的相对路径需以`../../`开始,实际文件存放目录为`code/mindformers/` +`dataset_dir`仅支持相对路径。`dataset_dir`填入的相对路径需以`../../`开始,实际文件存放目录为`code/mindformers/`。 ### 修改评测启动脚本 `code/evaluate_scripts.sh`评测脚本的启动较为多样,为了保证可拓展性,支持用户自行修改。默认提供的是基于wikitext-2数据集的文本生成任务的评测启动脚本。`code/evaluate_scripts.sh`默认内容如下: diff --git a/huawei/mindspore/mindformers/models/llama2_70b/README.md b/huawei/mindspore/mindformers/models/llama2_70b/README.md index 812a03c2f8c97e776742a9034da01f5cf8c62d05..13fc37668c09883a153355d4623eed35c25f5783 100644 --- a/huawei/mindspore/mindformers/models/llama2_70b/README.md +++ b/huawei/mindspore/mindformers/models/llama2_70b/README.md @@ -66,7 +66,7 @@ python -c "import mindspore;mindspore.set_context(device_target='Ascend');mindsp 参考[logging打点工具主页](https://gitee.com/aisbench/logging)的“安装和卸载 > 安装logging”章节安装logging打点工具。 -### cluster_tools准备(多机运行需要) +### cluster_tools准备 **仅管理节点需要安装** 从[cluster_tools分布式运行工具发行版](https://gitee.com/aisbench/cluster_tools/releases)获取最新的发行版。 @@ -83,28 +83,30 @@ rank_table_file是一个包含集群节点和加速卡IP信息的json文件。 准备rank_table_file前确保计算节点的`/etc/hccn.conf`文件已经配好。 -参考[LLaMA2模型首页](https://gitee.com/mindspore/mindformers/blob/ac5bb9ec8d1ea85fd2021ca5c6f13b6ae821c270/docs/model_cards/llama2.md)的“生成RANK_TABLE_FILE(多卡运行必须环节)”章节。 +参考[LLaMA2模型首页](https://gitee.com/mindspore/mindformers/blob/ac5bb9ec8d1ea85fd2021ca5c6f13b6ae821c270/docs/model_cards/llama2.md)的“生成RANK_TABLE_FILE(多卡运行必须环节)”或“ 多机RANK_TABLE_FILE合并(多机多卡必备环节)”章节。 -### node_file准备(多机运行需要) +### node_file准备 **部署在管理节点上** node_file是需要给cluster_tools传入的文件,它包含了计算节点的具体信息。 -node_file需要自建,格式参考[ AISBench分布式运行组件cluster_tools使用说明](https://gitee.com/aisbench/cluster_tools/)的“集群节点信息文件内容格式”章节自行创建。**注意,node_file中计算节点的顺序需要与rank_table_file中的计算节点顺序相同。** +node_file需要自建,格式参考[ AISBench分布式运行组件cluster_tools使用说明](https://gitee.com/aisbench/cluster_tools/)的“集群节点信息文件内容格式”章节自行创建。 + +**注意:node_file中计算节点的顺序需要与rank_table_file中的计算节点顺序相同。同时作为管理节点的计算节点,node_file中的work_path路径不能使用管理节点的负载包路径。** ### 模型权重下载与转换 -微调任务需要,预训练任务不涉及,**部署在所有计算节点上**。 +微调任务需要,预训练任务不涉及,**部署在所有计算节点上,要求所有计算节点上存放的目录相同。** 参考[LLaMA2模型首页](https://gitee.com/mindspore/mindformers/blob/ac5bb9ec8d1ea85fd2021ca5c6f13b6ae821c270/docs/model_cards/llama2.md)的“模型权重下载与转换”章节准备LLaMA2 70b的ckpt文件。 ### 数据集准备 #### 预训练数据集准备 -**部署在所有计算节点上**,如果不想手动部署,可以放在负载包的`code/`路径中。 +**部署在管理节点上**,保存在负载包的`code/mindformers`目录下即可。 参考[LLaMA2模型首页](https://gitee.com/mindspore/mindformers/blob/ac5bb9ec8d1ea85fd2021ca5c6f13b6ae821c270/docs/model_cards/llama2.md)“预训练 > 数据集准备”章节准备转换好的预训练数据集。 #### 微调数据集准备 -部署在所有计算节点上,如果不想手动部署,可以放在负载包的`code/`路径中。 +**部署在管理节点上**,保存在负载包的`code/mindformers`目录下即可。 参考[LLaMA2模型首页](https://gitee.com/mindspore/mindformers/blob/ac5bb9ec8d1ea85fd2021ca5c6f13b6ae821c270/docs/model_cards/llama2.md)“微调 > 数据集准备”章节准备转换好的微调数据集。 @@ -117,7 +119,7 @@ node_file需要自建,格式参考[ AISBench分布式运行组件cluster_tools **SQuAD** -参考[LLaMA2模型首页](https://gitee.com/mindspore/mindformers/blob/ac5bb9ec8d1ea85fd2021ca5c6f13b6ae821c270/docs/model_cards/llama2.md)“评测阅读理解 > 获取数据集”章节准备评测数据集。 +参考[LLaMA2模型首页](https://gitee.com/mindspore/mindformers/blob/ac5bb9ec8d1ea85fd2021ca5c6f13b6ae821c270/docs/model_cards/llama2.md)“评测 > 阅读理解 > 获取数据集”章节准备评测数据集。 ## 启动前配置 @@ -172,7 +174,7 @@ train_dataset: &train_dataset dataset_dir: "" # 需要填入.mindrecord后缀的wikitext-2数据集的路径。 shuffle: True ``` -`dataset_dir`支持绝对路径以及相对路径。`dataset_dir`填入的相对路径需以`../../`开始,实际文件存放目录为`code/mindformers/`。 +`dataset_dir`仅支持相对路径。`dataset_dir`填入的相对路径需以`../../`开始,实际文件存放目录为`code/mindformers/`。 #### 微调任务 ```yaml @@ -181,7 +183,7 @@ output_dir: './output' # path to save checkpoint/strategy,维持默认 load_checkpoint: '{path}/llama2_70b.ckpt' # 需要填入准备的权重文件.ckpt的路径 src_strategy_path_or_dir: '' ``` -`load_checkpoint`支持绝对路径以及相对路径。`load_checkpoint`填入的相对路径需以`./`开始,实际文件存放目录为`code/mindformers/` +`load_checkpoint`仅支持绝对路径,要求每个计算节点上的权重文件路径保持一致。 ```yaml # dataset @@ -191,7 +193,7 @@ train_dataset: &train_dataset dataset_dir: "/{path}/alpaca-fastchat2048.mindrecord" # 需要填入.mindrecord后缀的alpaca数据集的路径。 shuffle: True ``` -`dataset_dir`支持绝对路径以及相对路径。`dataset_dir`填入的相对路径需以`../../`开始,实际文件存放目录为`code/mindformers/` +`dataset_dir`仅支持相对路径。`dataset_dir`填入的相对路径需以`../../`开始,实际文件存放目录为`code/mindformers/`。 ### 修改评测启动脚本 `code/evaluate_scripts.sh`评测脚本的启动较为多样,为了保证可拓展性,支持用户自行修改。默认提供的是基于wikitext-2数据集的文本生成任务的评测启动脚本。`code/evaluate_scripts.sh`默认内容如下: diff --git a/huawei/mindspore/mindformers/models/llama2_7b/README.md b/huawei/mindspore/mindformers/models/llama2_7b/README.md index a3032c7f52313fd537deae4a108ee1a86aa89cd3..e3dcc6551645f8be2914a1c616bb948af20b912c 100644 --- a/huawei/mindspore/mindformers/models/llama2_7b/README.md +++ b/huawei/mindspore/mindformers/models/llama2_7b/README.md @@ -65,9 +65,9 @@ python -c "import mindspore;mindspore.set_context(device_target='Ascend');mindsp 1. 以下涉及到mindformers代码仓库的链接没有指定代码分支,需要依据负载包名"{mindformers version}",自行切换到对应的分支。 2. 运行LLaMA2训练的MindSpore/mindformers的代码全部在`./code/mindformers`文件夹中,资源准备总体参考[LLaMA2模型主页](https://gitee.com/mindspore/mindformers/blob/ac5bb9ec8d1ea85fd2021ca5c6f13b6ae821c270/docs/model_cards/llama2.md),具体资源的参考详见本章其他小节。 ### rank_table_file准备 -rank_table_file是一个包含集群节点和加速卡ip信息的json文件。 +rank_table_file是一个包含集群节点和加速卡IP信息的json文件。 -准备rank_table_file前确保计算节点的`/etc/hccn.conf`文件已经配好。 +准备rank_table_file前确保服务器的`/etc/hccn.conf`文件已经配好。 参考[LLaMA2模型主页](https://gitee.com/mindspore/mindformers/blob/ac5bb9ec8d1ea85fd2021ca5c6f13b6ae821c270/docs/model_cards/llama2.md)的“生成RANK_TABLE_FILE(多卡运行必须环节)”章节。 @@ -89,7 +89,7 @@ rank_table_file是一个包含集群节点和加速卡ip信息的json文件。 **SQuAD** -参考[LLaMA2模型主页](https://gitee.com/mindspore/mindformers/blob/ac5bb9ec8d1ea85fd2021ca5c6f13b6ae821c270/docs/model_cards/llama2.md)“评测阅读理解 > 获取数据集”章节准备评测数据集。 +参考[LLaMA2模型主页](https://gitee.com/mindspore/mindformers/blob/ac5bb9ec8d1ea85fd2021ca5c6f13b6ae821c270/docs/model_cards/llama2.md)“评测 > 阅读理解 > 获取数据集”章节准备评测数据集。 ## 启动前配置