更新时间:2025-07-29 GMT+08:00
分享

场景介绍

方案概览

本文档利用训练框架PyTorch_npu+华为自研Ascend Snt9B硬件,为用户提供了常见主流开源大模型在ModelArts Standard上的预训练和全量微调方案。

本方案目前仅适用于部分企业客户,完成本方案的部署,需要先联系您所在企业的华为方技术支持。

提示:本文档适用于OBS+SFS Turbo的数据存储方案,不适用于仅OBS存储方案。通过OBS对象存储服务(Object Storage Service)与SFS Turbo文件系统联动,可以实现灵活数据管理、高性能读取等。

约束限制

  • 适配的CANN版本是cann_8.0.rc3,驱动版本是23.0.6。
  • 本案例仅支持在专属资源池上运行,确保专属资源池可以访问公网。

文档更新内容

6.3.912版本相对于6.3.911版本新增如下内容:

  1. 代码结构发生变化,统一了modellink和llama-factory的启动方式。
  2. 继承911版本启动方式以外增加新的启动方式:
    ascendfactory-cli train xx.yaml model-name exp_name
  3. 相对于6.3.911版本仅是使用run_type来指定训练的类型,只能区分预训练、全参微调和lora微调但实际上预训练和sft是训练的不同阶段,全参、lora是训练参数设置方式。为了更加明确地区分不同策略,以及和llama-factory对齐,6.3.912版本调整以下参数:
    • 新增STAGE,表示训练的阶段,可以选择的参数包括: {pt,sft}。
    • 新增FINETUNING_TYPE,表示微调的策略,可以选择的参数包括:{full,lora}
    • 删除RUN_TYPE

    所以当前的组合情况为:

    项目

    full

    lora

    pt(预训练)

    sft(指令微调)

支持的模型列表

本方案支持以下模型的训练,如表1所示。

表1 支持的模型列表

序号

支持模型

支持模型参数量

权重文件获取地址

1

llama2

llama2-7b

https://huggingface.co/meta-llama/Llama-2-7b-chat-hf

2

llama2-13b

https://huggingface.co/meta-llama/Llama-2-13b-chat-hf

3

llama2-70b

https://huggingface.co/meta-llama/Llama-2-70b-hf

https://huggingface.co/meta-llama/Llama-2-70b-chat-hf (推荐)

4

llama3

llama3-8b

https://huggingface.co/meta-llama/Meta-Llama-3-8B-Instruct

5

llama3-70b

https://huggingface.co/meta-llama/Meta-Llama-3-70B-Instruct

6

Qwen

qwen-7b

https://huggingface.co/Qwen/Qwen-7B-Chat

7

qwen-14b

https://huggingface.co/Qwen/Qwen-14B-Chat

8

qwen-72b

https://huggingface.co/Qwen/Qwen-72B-Chat

9

Qwen1.5

qwen1.5-7b

https://huggingface.co/Qwen/Qwen1.5-7B-Chat

10

qwen1.5-14b

https://huggingface.co/Qwen/Qwen1.5-14B-Chat

11

qwen1.5-32b

https://huggingface.co/Qwen/Qwen1.5-32B-Chat

12

qwen1.5-72b

https://huggingface.co/Qwen/Qwen1.5-72B-Chat

13

Yi

yi-6b

https://huggingface.co/01-ai/Yi-6B-Chat

14

yi-34b

https://huggingface.co/01-ai/Yi-34B-Chat

15

ChatGLMv3

glm3-6b

https://huggingface.co/THUDM/chatglm3-6b

16

Baichuan2

baichuan2-13b

https://huggingface.co/baichuan-inc/Baichuan2-13B-Chat

17

Qwen2

qwen2-0.5b

https://huggingface.co/Qwen/Qwen2-0.5B-Instruct

18

qwen2-1.5b

https://huggingface.co/Qwen/Qwen2-1.5B-Instruct

19

qwen2-7b

https://huggingface.co/Qwen/Qwen2-7B-Instruct

20

qwen2-72b

https://huggingface.co/Qwen/Qwen2-72B-Instruct

21

GLMv4

glm4-9b

https://huggingface.co/THUDM/glm-4-9b-chat

说明:

glm4-9b模型必须使用版本4b556ad4d70c38924cb8c120adbf21a0012de6ce

22

mistral

mistral-7b

https://huggingface.co/mistralai/Mistral-7B-Instruct-v0.2

23

mixtral

mixtral-8x7b

https://huggingface.co/mistralai/Mixtral-8x7B-Instruct-v0.1

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

https://huggingface.co/Qwen/Qwen2.5-0.5B-Instruct

27

qwen2.5-7b

https://huggingface.co/Qwen/Qwen2.5-7B-Instruct

28

qwen2.5-14b

https://huggingface.co/Qwen/Qwen2.5-14B-Instruct

29

qwen2.5-32b

https://huggingface.co/Qwen/Qwen2.5-32B-Instruct

30

qwen2.5-72b

https://huggingface.co/Qwen/Qwen2.5-72B-Instruct

31

llama3.2

llama3.2-1b

https://huggingface.co/meta-llama/Llama-3.2-1B-Instruct

32

llama3.2-3b

https://huggingface.co/meta-llama/Llama-3.2-3B-Instruct

操作流程

图1 操作原理图
表2 操作任务流程说明

阶段

任务

说明

准备工作

准备资源

本教程案例是基于ModelArts Standard运行的,需要购买并开通ModelArts专属资源池和OBS桶。

准备数据

准备训练数据,可以用本案使用的数据集,也可以使用自己准备的数据集。

准备权重

准备所需的权重文件。

准备代码

准备AscendFactory训练代码。

准备镜像

准备训练模型适用的容器镜像。

准备Notebook

本案例需要创建一个Notebook,以便能够通过它访问SFS Turbo服务。随后,通过Notebook将OBS中的数据上传至SFS Turbo,并对存储在SFS Turbo中的数据执行编辑操作。

训练

预训练/微调

介绍如何进行预训练,包括训练数据处理、超参配置、创建训练任务及性能查看。

相关文档