场景介绍
方案概览
本文档利用训练框架PyTorch_npu+华为自研Ascend Snt9B硬件,为用户提供了常见主流开源大模型在ModelArts Standard上的预训练和全量微调方案。
本方案目前仅适用于部分企业客户,完成本方案的部署,需要先联系您所在企业的华为方技术支持。
适配的CANN版本是cann_8.0.rc2,驱动版本是23.0.5。
本文档适用于OBS+SFS Turbo的数据存储方案,不适用于仅使用OBS的存储方案。通过OBS对象存储服务(Object Storage Service)与SFS Turbo文件系统联动,可以实现数据灵活管理、高性能读取数据等。通过OBS上传训练所需的模型文件、训练数据等,再将OBS中的数据文件导入到SFS Turbo,然后在训练作业中挂载SFS Turbo到容器对应ckpt目录,实现分布式读取训练数据文件。
约束限制
- 如果要使用自动重启功能,资源规格必须选择八卡规格。
- 本案例仅支持在专属资源池上运行。
支持的模型列表
本方案支持以下模型的训练,如表1所示。
序号 |
支持模型 |
支持模型参数量 |
权重文件获取地址 |
---|---|---|---|
1 |
llama2 |
llama2-7b |
|
2 |
llama2-13b |
||
3 |
llama2-70b |
||
4 |
llama3 |
llama3-8b |
|
5 |
llama3-70b |
||
6 |
Qwen |
qwen-7b |
|
7 |
qwen-14b |
||
8 |
qwen-72b |
||
9 |
Qwen1.5 |
qwen1.5-7b |
|
10 |
qwen1.5-14b |
||
11 |
qwen1.5-32b |
||
12 |
qwen1.5-72b |
||
13 |
Yi |
yi-6b |
|
14 |
yi-34b |
||
15 |
ChatGLMv3 |
glm3-6b |
|
16 |
Baichuan2 |
baichuan2-13b |
|
17 |
Qwen2 |
qwen2-0.5b |
|
18 |
qwen2-1.5b |
||
19 |
qwen2-7b |
||
20 |
qwen2-72b |
||
21 |
GLMv4 |
glm4-9b |
操作流程
阶段 |
任务 |
说明 |
---|---|---|
准备工作 |
准备资源 |
本教程案例是基于ModelArts Standard运行的,需要购买并开通ModelArts专属资源池和OBS桶。 |
准备数据 |
准备训练数据,可以用本案使用的数据集,也可以使用自己准备的数据集。 |
|
准备权重 |
准备所需的权重文件。 |
|
准备代码 |
准备AscendSpeed训练代码。 |
|
准备镜像 |
准备训练模型适用的容器镜像。 |
|
准备Notebook |
本案例需要创建一个Notebook,以便能够通过它访问SFS Turbo服务。随后,通过Notebook将OBS中的数据上传至SFS Turbo,并对存储在SFS Turbo中的数据执行编辑操作。 |
|
预训练 |
预训练 |
介绍如何进行预训练,包括训练数据处理、超参配置、创建训练任务及性能查看。 |
微调训练 |
SFT全参微调 |
介绍如何进行SFT全参微调,包括训练数据处理、超参配置、创建训练任务及性能查看。 |
LoRA微调训练 |
介绍如何进行LoRA微调训练,包括训练数据处理、超参配置、创建训练任务及性能查看。 |