Cambricon vLLM (vllm_mlu)
1. 项目描述
Cambricon vLLM(vllm_mlu)基于社区vLLM提供的插件系统开发,旨在为用户提供在寒武纪MLU硬件平台上高效运行大语言模型(LLM)推理和服务的能力。
vllm_mlu支持包括但不限于Chunk Prefill、Prefix Caching、Spec Decode、Graph Mode、Sleep Mode等vLLM原生特性。
2. 更新历史
[2026.04.24] vllm_mlu day0支持DeepSeek-V4
3. 使用说明
软件环境依赖:Cambricon SDK,SDK获取请联系寒武纪官方支持渠道:ecosystem@cambricon.com
NOTE:vllm-mlu仓库仅支持MLU370以上的设备
3.1 镜像使用
使⽤寒武纪SDK提供的镜像 Cambricon vLLM Container。
# 加载镜像
docker load -i cambricon_vllm_container.tar.gz
# 进入镜像
docker run -it --net=host \
--shm-size '64gb' --privileged -it \
--ulimit memlock=-1 ${IMAGE_NAME} \
/bin/bash
# 使⽤推理环境
source /torch/venv3/pytorch_infer/bin/activate
3.2 ⾃定义安装步骤
安装Cambricon vLLM前需要保证依赖已正确安装。
安装步骤:
# 已经获取Cambricon vLLM源码,包含vllm源码
# 基于vllm源码安装
cd vllm-v{社区vLLM版本}/
VLLM_TARGET_DEVICE=empty pip install -e . # 使⽤开发者模式安装
# 基于vllm-mlu源码安装
git clone https://github.com/Cambricon/vllm-mlu
cd vllm-mlu
pip install -e . # 使⽤开发者模式安装
# 安装ray
# 1. 进⼊vllm-mlu源码中。
cd tools/ray_mlu/
# 2. 适配基于Ray安装
pip install --no-cache-dir --force-reinstall ray==2.51.1
# 3. 为了在寒武纪设备运⾏,Ray也需要适配寒武纪软件。
# PIP_INSTALL_LOC 指向pip的安装路径
cp __init__.py ${RAY_DIR}/_private/accelerators/__init__.py
cp mlu.py ${RAY_DIR}/_private/accelerators/
cp nsight.py ${RAY_DIR}/_private/runtime_env/nsight.py
cp node.py ${RAY_DIR}/_private/node.py
cp worker.py ${RAY_DIR}/_private/worker.py
cp device_manager/__init__.py ${RAY_DIR}/air/_internal/device_manager/__init__.py
cp device_manager/mlu.py ${RAY_DIR}/air/_internal/device_manager/
3.3 运行步骤
Cambricon vLLM代码运⾏和vLLM社区⼀致。
3.3.1 离线推理命令
# 运行推理命令
python examples/offline_inference/offline_inference.py ${MODEL_PATH}
3.3.2 在线推理命令
分别启动server和client,完成推理服务,示例如下:
# server
vllm serve ${MODEL_PATH} \
--port 8100 \
--block-size 1 \
--max-model-len 4096 \
--tensor-parallel-size 8 \
--gpu-memory-utilization 0.96 \
--trust-remote-code \
--enable-expert-parallel \
--no-enable-prefix-caching \
--disable-log-requests \
--enforce-eager
# client, we post a single request here.
curl -X POST http://localhost:8100/v1/completions \
-H "Content-Type: application/json" \
-d '{"model": ${MODEL_PATH}, \
"prompt": "The future of AI is", \
"max_tokens": 128, "temperature": 0.7 \
}'
Description
Languages
Python
99%
C++
0.7%
CMake
0.2%