Skip to content

Commit dac27c4

Browse files
authored
[Docs] Refactor custom devices. (#9734)
1 parent 575896c commit dac27c4

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+193
-179
lines changed

docs/llm/gcu/llama/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
../../../../llm/gcu/llama/README.md
1+
../../../../llm/devices/gcu/llama/README.md

docs/llm/intel_hpu/llama/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
../../../../llm/intel_hpu/llama/README.md
1+
../../../../llm/devices/intel_hpu/llama/README.md

docs/llm/metax/llama/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
../../../../llm/metax/llama/README.md
1+
../../../../llm/devices/metax/llama/README.md

docs/llm/npu/llama/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
../../../../llm/npu/llama/README.md
1+
../../../../llm/devices/npu/llama/README.md

docs/llm/sdaa/llama/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
../../../../llm/sdaa/llama/README.md
1+
../../../../llm/devices/sdaa/llama/README.md

docs/llm/xpu/llama/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
../../../../llm/xpu/llama/README.md
1+
../../../../llm/devices/xpu/llama/README.md
Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
# 🚣‍♂️ 使用PaddleNLP在海光DCU上运行llama2-13b模型 🚣
2-
Paddle框架与PaddleNLP套件在海光的DCU产品上进行了深度的适配和优化,实现了大模型在训练和推理上与GPU高度统一,在精度和性能上拥有先进水平。
1+
# 🚣‍♂️ 使用 PaddleNLP 在海光 DCU 上运行 llama2-13b 模型 🚣
2+
Paddle 框架与 PaddleNLP 套件在海光的 DCU 产品上进行了深度的适配和优化,实现了大模型在训练和推理上与 GPU 高度统一,在精度和性能上拥有先进水平。
33

4-
海光DCU产品在PaddleNLP组合套件上拥有多种技术优点
4+
海光 DCU 产品在 PaddleNLP 组合套件上拥有多种技术优点
55

6-
- **完全支持4D混合并行分布式训练,灵活适应各种训练策略。**
6+
- **完全支持4D 混合并行分布式训练,灵活适应各种训练策略。**
77
- **各类高性能的融合算子,提升训推性能。**
88
- **优化的通讯库,掩盖分布式训推延迟。**
99

@@ -14,11 +14,11 @@ Paddle框架与PaddleNLP套件在海光的DCU产品上进行了深度的适配
1414
### 1.硬件平台
1515

1616

17-
| 芯片类型 | DTK版本 |
17+
| 芯片类型 | DTK 版本 |
1818
| --- | --- |
1919
| K100_AI | 24.04.1 |
2020

21-
**本示例使用8卡机器,并通过微调训练+推理的流程演示运行方法,使用hy-smi命令查看运行环境中的DCU信息,如下所示:**
21+
**本示例使用8卡机器,并通过微调训练+推理的流程演示运行方法,使用 hy-smi 命令查看运行环境中的 DCU 信息,如下所示:**
2222
```
2323
$ hy-smi
2424
@@ -34,7 +34,7 @@ DCU Temp AvgPwr Perf PwrCap VRAM% DCU% Mode
3434
```
3535

3636
### 2.环境准备:
37-
推荐使用docker方式运行,提供拉取的docker镜像,关于本项目所需新版本 DTK 等均可从[光合](https://developer.hpccube.com/tool/)开发者社区下载安装,docker中默认使用dtk-24.04.1。
37+
推荐使用 docker 方式运行,提供拉取的 docker 镜像,关于本项目所需新版本 DTK 等均可从[光合](https://developer.hpccube.com/tool/)开发者社区下载安装,docker 中默认使用 dtk-24.04.1。
3838

3939
(1). 拉取镜像
4040
```
@@ -62,13 +62,13 @@ docker run -it \
6262
registry.baidubce.com/device/paddle-dcu:dtk24.04.1-kylinv10-gcc82 \
6363
/bin/bash
6464
```
65-
(3). 安装paddle
65+
(3). 安装 paddle
6666
```
6767
# paddlepaddle『飞桨』深度学习框架,提供运算基础能力
6868
python -m pip install paddlepaddle-dcu==3.0.0b2 -i https://www.paddlepaddle.org.cn/packages/stable/dcu/
6969
```
7070

71-
(4). 克隆PaddleNLP仓库代码,并安装依赖
71+
(4). 克隆 PaddleNLP 仓库代码,并安装依赖
7272
```
7373
# 用paddlenlp develop分支
7474
git clone https://github.com/PaddlePaddle/PaddleNLP.git
@@ -78,19 +78,19 @@ pip install -r ../requirements.txt
7878
(5). 安装 paddlenlp_ops
7979
```
8080
# PaddleNLP仓库内置了rms相关的专用算子
81-
cd legacy/model_zoo/gpt-3/external_ops
81+
cd slm/model_zoo/gpt-3/external_ops
8282
python setup.py install
8383
```
8484

8585
## 3.微调:
86-
- **注:** 进入llm路径进行以下操作
86+
- **注:** 进入 llm 路径进行以下操作
8787
### 数据集准备
88-
我们提供了数据集demo便于您调试使用
88+
我们提供了数据集 demo 便于您调试使用
8989
```
9090
wget https://bj.bcebos.com/paddlenlp/datasets/examples/alpaca_demo.gz
9191
tar -xvf alpaca_demo.gz
9292
```
93-
我们支持的精调数据格式是每行包含一个字典的json文件,每个字典包含以下字段:
93+
我们支持的精调数据格式是每行包含一个字典的 json 文件,每个字典包含以下字段:
9494
- `src`: `str, List(str)`,指模型的输入指令(instruction)、提示(prompt),模型应该执行的任务。
9595
- `tgt`: `str, List(str)`,指模型的输出。
9696
样例数据:
@@ -99,39 +99,39 @@ tar -xvf alpaca_demo.gz
9999
...
100100
#您可以根据此格式自行制作精调数据。
101101
```
102-
### Lora微调
102+
### Lora 微调
103103

104-
可参考以下脚本启动Lora微调训练
104+
可参考以下脚本启动 Lora 微调训练
105105
```
106106
PYTHONPATH=.. python run_finetune.py dcu/llama/lora_argument.json
107107
```
108-
### sft微调
109-
可参考以下超参启动Lsft微调训练
108+
### sft 微调
109+
可参考以下超参启动 Lsft 微调训练
110110
```
111111
PYTHONPATH=.. python run_finetune.py dcu/llama/sft_argument.json
112112
```
113113
## 3.预训练:
114114
### 数据准备
115115
数据详细制作流程可参考[此处](https://github.com/PaddlePaddle/PaddleNLP/tree/develop/llm/tools/preprocess/README.md),例:OpenWebText2预训练数据制作参考[此处](https://paddlenlp.readthedocs.io/zh/latest/llm/pretraining/data/OpenWebText2.html)
116116

117-
为了方便用户运行测试本模型,本项目提供了处理好的100k条doc的训练样本
117+
为了方便用户运行测试本模型,本项目提供了处理好的100k 条 doc 的训练样本
118118

119119
```
120120
cd PaddleNLP/llm/
121121
mkdir data && cd data
122122
wget https://bj.bcebos.com/paddlenlp/models/transformers/llama/data/llama_openwebtext_100k.bin
123123
wget https://bj.bcebos.com/paddlenlp/models/transformers/llama/data/llama_openwebtext_100k.idx
124-
cd .. && tree data
124+
cd .. && tree data
125125
data
126126
├── llama_openwebtext_100k.bin
127127
└── llama_openwebtext_100k.idx
128128
```
129129
- **注:** 与微调数据集区分路径
130130
### 运行脚本
131131

132-
该训练脚本可以单节点也可多节点运行,每节点8张DCU-K100AI-64G。
132+
该训练脚本可以单节点也可多节点运行,每节点8张 DCU-K100AI-64G。
133133

134-
并行配置采用TP 1,PP 8,使用fp16精度预训练
134+
并行配置采用 TP 1,PP 8,使用 fp16精度预训练
135135

136136
可参考以下脚本启动预训练:
137137

@@ -142,20 +142,20 @@ python -m paddle.distributed.launch \
142142
```
143143

144144
## 4.高性能推理
145-
高性能推理内置动态插入和全环节算子融合策略,隐藏了底层实现的细节,实现了开箱即用高性能并行推理能力。在保持高性能推理和动态插入的基础上可以动态地为cachekv分配存储空间,极大地节省显存,从而在同一时刻处理更多的query以获得吞吐的提升
145+
高性能推理内置动态插入和全环节算子融合策略,隐藏了底层实现的细节,实现了开箱即用高性能并行推理能力。在保持高性能推理和动态插入的基础上可以动态地为 cachekv 分配存储空间,极大地节省显存,从而在同一时刻处理更多的 query 以获得吞吐的提升
146146

147147
(1). 环境准备
148148

149-
PaddleNLP 针对于Transformer 系列编写了高性能自定义算子,提升模型在推理和解码过程中的性能,使用之前需要预先安装自定义算子库:
149+
PaddleNLP 针对于 Transformer 系列编写了高性能自定义算子,提升模型在推理和解码过程中的性能,使用之前需要预先安装自定义算子库:
150150
```
151151
# DCU设备安装自定义算子
152152
cd PaddleNLP/csrc && python3 setup_hip.py install
153153
```
154154
(2). 高性能推理
155155

156-
下面分别给出关闭BlockAttention和打开BlockAttention进行高性能推理的命令参考
156+
下面分别给出关闭 BlockAttention 和打开 BlockAttention 进行高性能推理的命令参考
157157

158-
a.关闭BlockAttention的高性能推理
158+
a.关闭 BlockAttention 的高性能推理
159159

160160
**动态图:**
161161

@@ -178,7 +178,7 @@ python3 ./predict/export_model.py --model_name_or_path checkpoints/llama_ptq_ckp
178178
python3 ./predict/predictor.py --model_name_or_path ./inference --inference_model --dtype float16 --mode static (测性能可选:--batch_size 1 --src_length 3072 --max_length 1024 --benchmark)
179179
```
180180

181-
b. 打开BlockAttebtion的高性能推理
181+
b. 打开 BlockAttebtion 的高性能推理
182182

183183
**动态图:**
184184

@@ -227,4 +227,4 @@ python3 ./predict/predictor.py --model_name_or_path ./inference --inference_mod
227227

228228
## 7.参考
229229

230-
* [https://github.com/PaddlePaddle/PaddleNLP](https://github.com/PaddlePaddle/PaddleNLP)
230+
* [https://github.com/PaddlePaddle/PaddleNLP](https://github.com/PaddlePaddle/PaddleNLP)

0 commit comments

Comments
 (0)