Skip to content

Commit 556f1ac

Browse files
YanhuiDuaMangodadada
authored andcommitted
[DCU] Add DCU inference docs (PaddlePaddle#8983)
1 parent 8324c77 commit 556f1ac

File tree

2 files changed

+69
-0
lines changed

2 files changed

+69
-0
lines changed

llm/docs/dcu_install.md

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
## 🚣‍♂️ 使用PaddleNLP在DCU(K100_AI)下跑通llama2-7b模型 🚣
2+
PaddleNLP在海光 DCU-K100AI 芯片上对llama系列模型进行了深度适配和优化,此文档用于说明在DCU-K100_AI上使用PaddleNLP进行llama系列模型进行高性能推理的流程。
3+
4+
### 检查硬件:
5+
6+
| 芯片类型 | 驱动版本 |
7+
| --- | --- |
8+
| K100_AI | 6.2.17a |
9+
10+
**注:如果要验证您的机器是否为海光K100-AI芯片,只需系统环境下输入命令,看是否有输出:**
11+
```
12+
lspci | grep -i -E "disp|co-pro"
13+
14+
# 显示如下结果 -
15+
37:00.0 Co-processor: Chengdu Haiguang IC Design Co., Ltd. Device 6210 (rev 01)
16+
3a:00.0 Co-processor: Chengdu Haiguang IC Design Co., Ltd. Device 6210 (rev 01)
17+
```
18+
19+
### 环境准备:
20+
注意:K100_AI 芯片需要安装DTK 24.04 及以上版本,请按照下面步骤进行
21+
1. 拉取镜像
22+
```
23+
# 注意此镜像仅为开发环境,镜像中不包含预编译的飞桨安装包
24+
docker pull registry.baidubce.com/device/paddle-dcu:dtk24.04.1-kylinv10-gcc73-py310
25+
```
26+
2. 参考如下命令启动容器
27+
```
28+
docker run -it --name paddle-dcu-dev -v `pwd`:/work \
29+
-w=/work --shm-size=128G --network=host --privileged \
30+
--cap-add=SYS_PTRACE --security-opt seccomp=unconfined \
31+
registry.baidubce.com/device/paddle-dcu:dtk24.04.1-kylinv10-gcc73-py310 /bin/bash
32+
```
33+
3. 安装paddle
34+
```
35+
# paddlepaddle『飞桨』深度学习框架,提供运算基础能力
36+
git clone https://github.com/PaddlePaddle/Paddle.git
37+
cd Paddle && mkdir build && cd build
38+
39+
cmake .. -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_CXX_FLAGS="-Wno-error -w" \
40+
-DPY_VERSION=3.10 -DPYTHON_EXECUTABLE=`which python3` -DWITH_CUSTOM_DEVICE=OFF \
41+
-DWITH_TESTING=OFF -DON_INFER=ON -DWITH_DISTRIBUTE=ON -DWITH_MKL=ON \
42+
-DWITH_ROCM=ON -DWITH_RCCL=ON
43+
44+
make -j128
45+
pip install -U python/dist/paddlepaddle_rocm-0.0.0-cp310-cp310-linux_x86_64.whl
46+
47+
# 检查是否安装正常
48+
python -c "import paddle; paddle.version.show()"
49+
python -c "import paddle; paddle.utils.run_check()"
50+
51+
```
52+
4. 克隆PaddleNLP仓库代码,并安装依赖
53+
```
54+
# PaddleNLP是基于paddlepaddle『飞桨』的自然语言处理和大语言模型(LLM)开发库,存放了基于『飞桨』框架实现的各种大模型,llama系列模型也包含其中。为了便于您更好地使用PaddleNLP,您需要clone整个仓库。
55+
pip install --pre --upgrade paddlenlp -f https://www.paddlepaddle.org.cn/whl/paddlenlp.html
56+
```
57+
5. 安装 paddlenlp_ops
58+
```
59+
# PaddleNLP仓库内置了专用的融合算子,以便用户享受到极致压缩的推理成本
60+
git clone https://github.com/PaddlePaddle/PaddleNLP.git
61+
cd PaddleNLP/csrc/
62+
python setup_hip.py install
63+
cd -
64+
```
65+
66+
### 高性能推理:
67+
海光的推理命令与GPU推理命令一致,请参考[大模型推理教程](https://github.com/PaddlePaddle/PaddleNLP/blob/develop/llm/docs/inference.md).

llm/docs/inference.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,8 @@ git clone https://github.com/PaddlePaddle/PaddleNLP
8787
cd ./paddlenlp/csrc && python setup_cuda.py install
8888
#XPU设备安装自定义算子
8989
cd ./paddlenlp/csrc/xpu/src && sh cmake_build.sh
90+
#DCU设备安装自定义算子
91+
cd ./paddlenlp/csrc && python setup_hip.py install
9092
```
9193

9294
### 2.3 关闭BlockAttention的高性能推理

0 commit comments

Comments
 (0)