os: CTyunOS 22.06
cpu: Kunpeng-920 (aarch64)
npu: Ascend 910B2
driver: 23.0.3
docker: 20.10.12
Ascend加速卡支持使用lmdeploy或vllm进行VLM模型推理加速。请根据实际需求选择安装和使用其中之一:
wget https://gcore.jsdelivr.net/gh/opendatalab/MinerU@master/docker/china/npu.Dockerfile
docker build --network=host -t mineru:lmdeploy-latest -f npu.Dockerfile .
wget https://gcore.jsdelivr.net/gh/opendatalab/MinerU@master/docker/china/npu.Dockerfile
# 将基础镜像从lmdeploy切换为vllm
sed -i '3s/^/# /' npu.Dockerfile && sed -i '5s/^# //' npu.Dockerfile
docker build --network=host -t mineru:vllm-latest -f npu.Dockerfile .
docker run -u root --name mineru_docker --privileged=true \
--ipc=host \
--network=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 \
--device=/dev/davinci_manager \
--device=/dev/devmm_svm \
--device=/dev/hisi_hdc \
-v /var/log/npu/:/usr/slog \
-v /usr/local/dcmi:/usr/local/dcmi \
-v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \
-v /usr/local/Ascend/driver:/usr/local/Ascend/driver \
-e MINERU_MODEL_SOURCE=local \
-e MINERU_LMDEPLOY_DEVICE=ascend \
-it mineru:lmdeploy-latest \
/bin/bash
[!TIP] 请根据实际情况选择使用
lmdeploy或vllm版本的镜像,替换上述命令中的mineru:lmdeploy-latest为mineru:vllm-latest即可。
执行该命令后,您将进入到Docker容器的交互式终端,并映射了一些端口用于可能会使用的服务,您可以直接在容器内运行MinerU相关命令来使用MinerU的功能。
您也可以直接通过替换/bin/bash为服务启动命令来启动MinerU服务,详细说明请参考通过命令启动服务。
不同环境下,MinerU对Ascend加速卡的支持情况如下表所示:
| 使用场景 | 环境 | ||
|---|---|---|---|
| vllm | lmdeploy | ||
| 命令行工具(mineru) | pipeline | ✅ | ✅ |
| vllm-transformers | ✅ | ✅ | |
| vllm-vllm-engine | ❌ | ✅ | |
| vllm-http-client | ✅ | ✅ | |
| fastapi服务(mineru-api) | pipeline | ✅ | ✅ |
| vllm-transformers | ✅ | ✅ | |
| vllm-vllm-async-engine | ✅ | ✅ | |
| vllm-http-client | ✅ | ✅ | |
| gradio界面(mineru-gradio) | pipeline | ✅ | ✅ |
| vllm-transformers | ✅ | ✅ | |
| vllm-vllm-async-engine | ✅ | ✅ | |
| vllm-http-client | ✅ | ✅ | |
| openai-server服务(mineru-openai-server) | ✅ | ✅ | |
| 数据并行 (--data-parallel-size/--dp) | ✅ | ❌ | |