场景介绍
方案概览
本文档利用训练框架PyTorch_npu+华为自研Ascend Snt9B硬件,为用户提供了常见主流开源大模型在ModelArts Lite Cluster上的训练方案。训练框架使用的是ModelLink。
本方案目前仅适用于企业客户,完成本方案的部署,需要先联系您所在企业的华为方技术支持。
约束限制
- 本文档适配昇腾云ModelArts 6.3.910版本,请参考表1获取配套版本的软件包,请严格遵照版本配套关系使用本文档。
- 本文档中的模型运行环境是ModelArts Lite Cluster。
- 本文档中的CCE集群版本选择v1.27~1.28。版本使用的容器引擎为Containerd。
- 镜像适配的Cann版本是cann_8.0.rc3,驱动版本是23.0.6。
- 确保集群可以访问公网。
文档更新内容
6.3.910版本相对于6.3.909版本新增如下内容:
- 文档中新增对Qwen2.5的适配(包括0.5B、7B, 14B, 32B, and 72B),支持sft、lora、预训练。
- 文档中新增对Llama3.2的适配(包括1B和3B),支持sft、lora、预训练。
- 代码中ModelLink、MindSpeed已升级到最新版本,Python三方依赖版本已升级,其中:
- MindSpeed的版本升级到commitID=4ea42a23
- ModelLink的版本升级到commitID=8f50777
- transformers版本升级到4.45.0
- peft版本升级到0.12.0
训练支持的模型列表
本方案支持以下模型的训练,如表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 |
https://huggingface.co/THUDM/glm-4-9b-chat
说明:
glm4-9b模型必须使用版本4b556ad4d70c38924cb8c120adbf21a0012de6ce |
22 |
mistral |
mistral-7b |
|
23 |
mixtral |
mixtral-8x7b |
|
24 |
llama3.1 |
llama3.1-8b |
https://huggingface.co/meta-llama/Meta-Llama-3.1-8B-Instruct |
25 |
llama3.1-70b |
https://huggingface.co/meta-llama/Meta-Llama-3.1-70B-Instruct |
|
26 |
Qwen2.5 |
qwen2.5-0.5b |
|
27 |
qwen2.5-7b |
||
28 |
qwen2.5-14b |
||
29 |
qwen2.5-32b |
||
30 |
qwen2.5-72b |
||
31 |
llama3.2 |
llama3.2-1b |
|
32 |
llama3.2-3b |
操作流程
阶段 |
任务 |
说明 |
---|---|---|
准备工作 |
准备环境 |
本教程案例是基于ModelArts Lite k8s Cluster运行的,需要购买并开通k8s Cluster资源。 |
准备代码 |
准备AscendSpeed训练代码、分词器Tokenizer和推理代码。 |
|
准备数据 |
准备训练数据,可以用本案使用的数据集,也可以使用自己准备的数据集。 |
|
准备镜像 |
准备训练模型适用的容器镜像。 |
|
预训练 |
预训练 |
介绍如何进行预训练,包括训练数据处理、超参配置、训练任务、性能查看。 |
微调训练 |
SFT全参微调 |
介绍如何进行SFT全参微调、超参配置、训练任务、性能查看。 |
LoRA微调训练 |
介绍如何进行LoRA微调、超参配置、训练任务、性能查看。 |