准备数据、权重和代码
ModelArts Standard弹性集群运行环境中存储分为OBS桶和SFS Turbo共享盘,根据存储的不同,数据上传地址有差异,客户根据实际选择。
OBS桶
- 本地完成代码包AscendCloud-LLM-xxx.zip的解压。
# Linux系统 unzip AscendCloud-*.zip && unzip AscendCloud-LLM-*.zip && unzip ./llm_train/AscendFactory/data.tgz
- 上传权重。
- 获取对应模型的权重文件,获取链接参考支持的模型列表,并检查权重文件、大小是否完整。
- 本地修改权重(tokenizer)文件,以下模型需修改,根据所选框架及模型修改相应文件,详情参考tokenizer文件说明
- Llama-Factory:glm4-9B模型
- 在创建OBS桶创建的桶下创建文件夹用以存放权重和词表文件,例如在桶standard-llama2-13b中创建文件夹llama2-13B-chat-hf。
- 利用OBS-Browser+工具将下载好的权重文件上传至创建的文件夹目录下。得到OBS下数据集结构,此处以llama2-13B为例(权重文件可能变化,以下仅为举例)。
- 上传代码及数据。
- 准备数据集,例如下载样例数据集或者在本地按照固定格式处理好自己的数据集(可参考数据说明),并将数据集存放至本地llm_train/AscendFactory/data目录下。
- 是否使用Llama-Factory框架训练。
- 是,更新data/dataset_info.json文件。如使用以下示例数据集则命令如下。关于数据集文件格式及配置,更多样例格式信息请参考README_zh.md 的内容。
vim dataset_info.json
新加配置参数如下:
"alpaca_gpt4_data": { "file_name": "alpaca_gpt4_data.json" },
样例截图:
- 否,使用MindSpeed-LLM框架,执行下一步。
- 是,更新data/dataset_info.json文件。如使用以下示例数据集则命令如下。关于数据集文件格式及配置,更多样例格式信息请参考README_zh.md 的内容。
- 利用OBS Browser+工具将llm_train文件夹上传至OBS中
SFS Turbo共享盘
- 获取权重:
- 获取对应模型的权重文件,获取链接参考支持的模型列表,并检查权重文件、大小是否完整。
- 本地修改权重(tokenizer)文件,以下模型需修改,根据所选框架及模型修改相应文件,详情参考tokenizer文件说明
- Llama-Factory:glm4-9B模型
- 通过以下两种方式将下载到本地的模型文件上传至SFS Turbo中。方式一操作简单,但是数据传输速度比较慢,费时间。方式二操作相对方式一复杂一些,但是数据传输速度较快。
方式一:将已下载的模型文件通过拖拽文件的方式,上传文件。使用CloudShell或者其它SSH远程工具上传至SFS Turbo中。具体步骤如下:
方式二:通过OBS Browser+将数据上传至OBS,最后在ECS中使用obsutil工具将OBS数据下载至SFS Turbo中。具体步骤如下:
- 在创建OBS桶创建的桶下创建文件夹用以存放模型,例如在桶standard-llama2-13b中创建文件夹model/llama-2-13b-hf。
- 利用OBS Browser+工具将下载的模型文件上传至创建的文件夹目录下。
- 在ECS服务器中安装obsutil工具,具体命令可参考obsutil工具快速使用,将OBS桶中的数据下载至SFS Turbo中。注意:需要使用用户账号中的AK和SK进行签名验证,确保通过授权的账号才能访问指定的OBS资源。
- 代码准备及上传:
将AscendFactory代码包:AscendCloud-LLM-xxx.zip直接上传至ECS服务器中的SFS Turbo中,例如存放在/mnt/sfs_turbo目录,进入此目录并解压代码包。
cd /mnt/sfs_turbo && unzip AscendCloud-*.zip && unzip AscendCloud-LLM-*.zip && unzip ./llm_train/AscendFactory/data.tgz
- 数据准备及上传:
将下载样例数据集或者在本地按照固定格式处理好自己的数据集(可参考数据说明)存放至第2步解压完成的代码包llm_train/AscendFactory/data目录下,可通过两种方式。可通过两种方式,将数据集上传至SFS Turbo中。
方式一:将下载的原始数据通过SSH直接上传至SFS Turbo的llm_train/AscendFactory/data目录中。
方式二:通过OBS Browser+将数据上传至OBS,最后在ECS中使用obsutil工具将OBS数据下载至SFS Turbo中。具体步骤如下:
- 利用OBS Browser+工具将数据集上传至obs://<bucket_name>/llm_train/xxx/data目录下
- 在ECS服务器中安装obsutil工具,具体命令可参考obsutil工具快速使用,将OBS桶中的数据下载至SFS Turbo中。注意:需要使用用户账号中的AK和SK进行签名验证,确保通过授权的账号才能访问指定的OBS资源。
- 是否使用Llama-Factory框架训练:
- 是,需更新data/dataset_info.json文件。如使用以下示例数据集则命令如下。关于数据集文件格式及配置,更多样例格式信息请参考README_zh.md 的内容。
vim dataset_info.json
新加配置参数如下:
"alpaca_gpt4_data": { "file_name": "alpaca_gpt4_data.json" },
样例截图:
- 否,使用MindSpeed-LLM框架,数据准备工作结束。
- 是,需更新data/dataset_info.json文件。如使用以下示例数据集则命令如下。关于数据集文件格式及配置,更多样例格式信息请参考README_zh.md 的内容。