国产化MinerU部署
docker-compose配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
|
x-npu-common: &npu-common privileged: true ipc: host network_mode: host ulimits: memlock: -1 stack: 67108864 volumes: - /var/log/npu/:/usr/slog - /usr/local/bin/npu-smi:/usr/local/bin/npu-smi - /usr/local/Ascend/driver:/usr/local/Ascend/driver - /usr/local/Ascend/ascend-toolkit:/usr/local/Ascend/ascend-toolkit environment: - ASCEND_HOME=/usr/local/Ascend/ascend-toolkit/latest - ASCEND_OPP_PATH=/usr/local/Ascend/ascend-toolkit/latest/opp - ASCEND_AICPU_PATH=/usr/local/Ascend/ascend-toolkit/latest - LD_LIBRARY_PATH=/usr/local/Ascend/ascend-toolkit/latest/lib64:/usr/local/Ascend/driver/lib64:$LD_LIBRARY_PATH - HCCL_OP_EXPANSION_MODE=AIV - VLLM_TARGET_DEVICE=npu devices: - /dev/davinci0:/dev/davinci0 - /dev/davinci1:/dev/davinci1 - /dev/davinci2:/dev/davinci2 - /dev/davinci3:/dev/davinci3 - /dev/davinci_manager:/dev/davinci_manager - /dev/devmm_svm:/dev/devmm_svm - /dev/hisi_hdc:/dev/hisi_hdc
services: mineru-openai-server: <<: *npu-common image: mineru_npu:v1.3 container_name: mineru-openai-server restart: always ports: - 30000:30000 environment: MINERU_MODEL_SOURCE: modelscope MINERU_VLM_BACKEND: vlm-http-client MINERU_VLM_API_URL: http://192.168.11.15:10002/v1 MINERU_VLM_API_KEY: sk-FaDiFQpSekXkHM8U7ltU4ubQM3rLGkPD MINERU_VLM_MODEL_NAME: Qwen3.6-35B-A3B-FP8
entrypoint: ["/bin/bash", "-c", "source /usr/local/Ascend/ascend-toolkit/set_env.sh && exec mineru-openai-server \"$@\"", "--"] command: --host 0.0.0.0 --port 30000 --gpu-memory-utilization 0.2 --tensor-parallel-size 2 --enforce-eager --dtype float16 --mamba-ssm-cache-dtype float16 --max-model-len 8192 --trust-remote-code --enable-prefix-caching
mineru-api: <<: *npu-common image: mineru_npu:v1.3 container_name: mineru-api restart: always ports: - 8001:8000 environment: MINERU_VL_SERVER: http://192.168.11.26:8000 MINERU_MODEL_SOURCE: local entrypoint: mineru-api command: --host 0.0.0.0 --port 8000 --gpu-memory-utilization 0.1 --allow-public-http-client
mineru-router: <<: *npu-common image: mineru_npu:v1.3 container_name: mineru-router restart: always ports: - 8002:8002 environment: MINERU_MODEL_SOURCE: local entrypoint: mineru-router command: --host 0.0.0.0 --port 8002 --local-gpus auto --allow-public-http-client
mineru-gradio: <<: *npu-common image: mineru_npu:v1.3 container_name: mineru-gradio restart: always ports: - 7860:7860 environment: MINERU_MODEL_SOURCE: local entrypoint: mineru-gradio command: --server-name 0.0.0.0 --server-port 7860 --gpu-memory-utilization 0.1
|
docker部署
编译容器
ascend-vllm支持设备如下:
Atlas A2 training series (Atlas 800T A2, Atlas 900 A2 PoD, Atlas 200T A2 Box16, Atlas 300T A2)
Atlas 800I A2 inference series (Atlas 800I A2)
Atlas A3 training series (Atlas 800T A3, Atlas 900 A3 SuperPoD, Atlas 9000 A3 SuperPoD)
Atlas 800I A3 inference series (Atlas 800I A3)
[Experimental] Atlas 300I inference series (Atlas 300I Duo)
Dockerfile文件第三行为ascend-vllm基础镜像信息,默认tag为A2适配的版本,例如 v0.11.0
如需使用A3适配的版本,请将第三行的tag修改为 v0.11.0-a3,然后再执行build操作。
如需使用Atlas 300I Duo适配的版本,请将第三行的tag修改为 v0.10.0rc1-310p,然后再执行build操作。
1 2
| wget https://gcore.jsdelivr.net/gh/opendatalab/MinerU@master/docker/china/npu.Dockerfile docker build --network=host -t mineru:npu-vllm-310p -f npu.Dockerfile .
|
启动命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| docker run -d -u root --name mineru-api-openai --privileged=true \ --device=/dev/davinci0 \ --device=/dev/davinci1 \ --device=/dev/davinci2 \ --device=/dev/davinci3 \ --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 VLLM_USE_V1=1 \ -e VLLM_WORKER_MULTIPROC_METHOD=spawn \ -e MINERU_MODEL_SOURCE=local \ -e MINERU_LMDEPLOY_DEVICE=ascend \ -p 8001:8000 \ -p 30000:30000 \ -it mineru:npu-vllm-310p \ /bin/bash -c " mineru-api --host 0.0.0.0 --port 8000 --gpu-memory-utilization 0.5 --max-model-len 8192 --allow-public-http-client --dtype float16 --trust-remote-code --enable-prefix-caching --enforce-eager & \ mineru-openai-server --host 0.0.0.0 --port 30000 --tensor-parallel-size 2 --gpu-memory-utilization 0.5 --max-model-len 8192 --dtype float16 --trust-remote-code --enable-prefix-caching --enforce-eager & \ wait "
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| docker run -u root --name mineru-gradio --privileged=true \ --device=/dev/davinci0 \ --device=/dev/davinci1 \ --device=/dev/davinci2 \ --device=/dev/devmm_svm \ --device=/dev/davinci3 \ -v /var/log/npu/:/usr/slog \ --device=/dev/davinci_manager \ --device=/dev/devmm_svm \ --device=/dev/hisi_hdc \ -e VLLM_WORKER_MULTIPROC_METHOD=spawn \ -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 VLLM_USE_V1=1 \ -e VLLM_WORKER_MULTIPROC_METHOD=spawn \ -e MINERU_MODEL_SOURCE=local \ -e MINERU_LMDEPLOY_DEVICE=ascend \ -p 7860:7860 \ -it mineru:npu-vllm-310p \ mineru-gradio --server-name 0.0.0.0 --server-port 7860 --gpu-memory-utilization 0.5 --tensor-parallel-size 2 --dtype float16 --trust-remote-code --enable-prefix-caching --enforce-eager
|