mirror of
https://github.com/QwenLM/Qwen.git
synced 2026-05-20 16:35:47 +08:00
add 72B and 1.8B Qwen models, add Ascend 910 and Hygon DCU support, add docker support
This commit is contained in:
45
ascend-support/README.md
Normal file
45
ascend-support/README.md
Normal file
@@ -0,0 +1,45 @@
|
||||
# 昇腾910架构基于mindformers推理Qwen-7B-Chat模型
|
||||
|
||||
## 环境要求
|
||||
|
||||
- 硬件:Ascend 910A/B
|
||||
|
||||
## 运行步骤
|
||||
|
||||
首先参考Qwen README下载官方模型到`/path/to/Qwen-7B-Chat`。
|
||||
|
||||
### 下载并启动镜像
|
||||
|
||||
```bash
|
||||
docker pull qwenllm/qwen-mindspore:latest
|
||||
|
||||
cd /path/to/Qwen/ascend-support
|
||||
|
||||
# 下载模型到此处
|
||||
CHECKPOINT_PATH=/path/to/Qwen-7B-Chat
|
||||
|
||||
cd ascend-support
|
||||
|
||||
# 启动docker容器
|
||||
bash docker_qwen.sh -c ${CHECKPOINT_PATH}
|
||||
```
|
||||
|
||||
### 执行权重转换
|
||||
|
||||
在容器内执行下面的命令,将Qwen模型转换为适配`mindformers`的格式:
|
||||
|
||||
```bash
|
||||
python3 /data/qwen/mindformers/research/qwen/convert_weight.py
|
||||
```
|
||||
|
||||
转换后模型的输出位置为`${CHECKPOINT_PATH}/qwen-7b-chat.ckpt`。
|
||||
|
||||
### 执行推理
|
||||
|
||||
在容器内执行下面的命令,进行推理:
|
||||
|
||||
```bash
|
||||
cd /data/qwen/mindformers/research/qwen
|
||||
export PYTHONPATH=/data/qwen/mindformers:$PYTHONPATH
|
||||
python3 infer_qwen.py
|
||||
```
|
||||
61
ascend-support/docker_qwen.sh
Normal file
61
ascend-support/docker_qwen.sh
Normal file
@@ -0,0 +1,61 @@
|
||||
#!/bin/bash
|
||||
|
||||
IMAGE_NAME=qwenllm/qwen-mindspore:v23.0.RC3
|
||||
CONTAINER_NAME=qwen-mindspore
|
||||
CHECKPOINT_PATH='NOT_SET'
|
||||
|
||||
DOCKER_CHECKPOINT_PATH=/data/qwen/models/Qwen-7B-Chat
|
||||
|
||||
function usage() {
|
||||
echo '
|
||||
Usage: bash ascend-support/docker_qwen.sh [-i IMAGE_NAME] -c [/path/to/Qwen-7B-Chat] [-n CONTAINER_NAME]
|
||||
'
|
||||
}
|
||||
|
||||
while [[ "$1" != "" ]]; do
|
||||
case $1 in
|
||||
-i | --image )
|
||||
shift
|
||||
IMAGE_NAME=$1
|
||||
;;
|
||||
-c | --checkpoint )
|
||||
shift
|
||||
CHECKPOINT_PATH=$1
|
||||
;;
|
||||
-n | --name )
|
||||
shift
|
||||
CONTAINER_NAME=$1
|
||||
;;
|
||||
-h )
|
||||
usage
|
||||
exit
|
||||
;;
|
||||
* )
|
||||
echo "Unknown argument ${1}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
docker run -it --rm -u root --network=host --ipc=host \
|
||||
--device=/dev/davinci0 \
|
||||
--device=/dev/davinci1 \
|
||||
--device=/dev/davinci2 \
|
||||
--device=/dev/davinci3 \
|
||||
--device=/dev/davinci4 \
|
||||
--device=/dev/davinci5 \
|
||||
--device=/dev/davinci6 \
|
||||
--device=/dev/davinci7 \
|
||||
--name=${CONTAINER_NAME} \
|
||||
--device=/dev/davinci_manager \
|
||||
--device=/dev/devmm_svm \
|
||||
--device=/dev/hisi_hdc \
|
||||
-v /usr/local/Ascend/driver:/usr/local/Ascend/driver \
|
||||
-v /usr/local/Ascend/add-ons/:/usr/local/Ascend/add-ons/ \
|
||||
-v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \
|
||||
-v /usr/local/sbin/npu-smi:/usr/local/sbin/npu-smi \
|
||||
-v /etc/ascend_install.info:/etc/ascend_install.info \
|
||||
-v ${CHECKPOINT_PATH}:${DOCKER_CHECKPOINT_PATH} \
|
||||
-v /var/log/npu/:/usr/slog \
|
||||
${IMAGE_NAME} /bin/bash
|
||||
Reference in New Issue
Block a user