基于昇腾910B部署Qwen3-embedding-8B模型(通过vllm 推理引擎部署)

目前基于知识库搭建,会涉及到embedding和rerank 模型,目前阿里通义千问Qwen3-embedding-8B模型在网上测评效果还不错,本文基于vllm 部署Qwen3-embedding-8B 模型,使用的国产化算力910B2-64G单卡资源。

1、环境要求:

软件支持版本
CANN>= 8.1.RC1
torch-npu>= 2.5.1
torch>= 2.5.1
Python>= 3.9, < 3.12

2、torch-npu和torch相关的安装,直接pip 安装即可

#安装torch
pip install torch==2.5.1
#安装torch-npu 依赖
pip install pyyaml
pip install setuptools
#安装torch-npu
pip install torch-npu==2.5.1

3、安装vllm和vllm-ascend

① 安装系统依赖

apt update  -y
apt install -y gcc g++ cmake libnuma-dev wget git

② pip安装vllm和vllm-ascend

pip install vllm==0.9.0
pip install vllm-ascend==0.9.0rc2

③ 查看vllm serve 服务是否正常

执行vllm serve --help  #显示如下图即为安装完成

在这里插入图片描述

4、下载Qwen3-embedding-8B模型

git clone https://www.modelscope.cn/Qwen/Qwen3-Embedding-8B.git

也可以通过其他modelscope 其他方式下载,具体可见modelscope

5、加载华为昇腾环境变量

# 配置CANN环境,默认安装在/usr/local目录下
source /usr/local/Ascend/ascend-toolkit/set_env.sh
# 配置加速库环境
source /usr/local/Ascend/nnal/atb/set_env.sh

6、 通过OpenAI服务API接口启动服务

python3 -m vllm.entrypoints.openai.api_server --model /home/jovyan/Qwen3-Embedding-8B \
--max-num-seqs 50 \
--max-model-len 32768 \
--max-num-batched-tokens 32768 \
--dtype bfloat16 \
--tensor-parallel-size 1 \
--block-size 128 \
--host 192.168.0.134 \
--port 1025 \
--gpu-memory-utilization 0.9 \
--served-model-name Qwen3-Embedding-8B \
--enable-prefix-caching 

执行上述启动命令,显示如下图,说明运行成功。
在这里插入图片描述

7、验证服务
请求示例:

curl http://192.168.0.134:1025/v1/embeddings \
-H "Content-Type: application/json" \
-d '{
"input": "Your text string goes here",
"model": "Qwen3-Embedding-8B"
}'

运行结果如下,表示服务正常
在这里插入图片描述

附录讲解
python -m vllm.entrypoints.openai.api_server 支持大量的命令行参数,具体参照vllm serve -help 命令查看更全的参数说明。

–host:指定服务器绑定的主机地址,默认为 http://localhost:8000
–port:指定服务器监听的端口号,默认为 8000
–api-key:设置API密钥,也可通过环境变量 VLLM_API_KEY 设置
–model:指定要加载的模型名称或路径(必需参数)
–served-model-name:在API中使用的模型名称
–tensor-parallel-size:模型并行数。取值需要和启动的NPU卡数保持一致,可以参考1。此处举例为1,表示使用单卡启动服务。
–pipeline-parallel-size:流水线并行的阶段数
–gpu-memory-utilization:GPU内存利用率,默认为0.9
–enable-prefix-caching:启用自动前缀缓存(前缀缓存是一种优化技术,用于在多轮对话和长系统提示的场景中提高性能。通过缓存系统提示和历史对话中的KV Cache,可以显著减少首个Token的延迟)
–max-num-seqs:最大同时处理的请求数。
–max-model-len:推理时最大输入+最大输出tokens数量,输入超过该数量会直接返回。。
–max-num-batched-tokens:prefill阶段,最多会使用多少token,必须大于或等于–max-model-len。
–dtype:模型推理的数据类型。支持FP16和BF16数据类型推理。float16表示FP16,bfloat16表示BF16。
–block-size:PagedAttention的block大小。

### 部署 Qwen3-8B 模型vLLM 单卡或多卡环境 为了成功部署 Qwen3-8B 模型vLLM 并支持单 GPU 或双 GPU 的运行环境,以下是详细的说明: #### 1. **单 GPU 配置** 当仅使用一块 GPU 时,可以通过 Docker 容器的方式启动服务并设置必要的环境变量。以下是一个典型的命令示例[^1]: ```bash docker run -itd \ --runtime=nvidia \ --gpus="device=0" \ --name=vllm_qwen3_8b_single_gpu \ -e NVIDIA_DRIVER_CAPABILITIES=compute,utility \ -e NVIDIA_VISIBLE_DEVICES=0 \ -p 8000:8000 \ vllm_qwen3_8b_image:latest \ --gpu-memory-utilization 0.9 \ --max-model-len 2448 \ --max-num-seqs 128 \ --tensor-parallel-size 1 ``` 在此配置中: - `--gpus="device=0"` 明确指定了使用的 GPU 设备编号。 - 参数 `--tensor-parallel-size` 设置为 `1` 表明不启用张量并行化。 #### 2. **双 GPU 配置** 对于双 GPU 场景,则需调整容器的 GPU 可见性和相关参数以充分利用硬件资源。具体如下所示[^2]: ```yaml services: vllm-Qwen3-8B-dual-gpu: image: vllm/vllm-openai:v0.8.5 container_name: vllm-Qwen3-8B-dual-gpu restart: always shm_size: 10.24g environment: - CUDA_VISIBLE_DEVICES=0,1 - PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True - TZ=Asia/Shanghai volumes: - /data/models/Qwen3-8B:/models # 替换为实际路径 - /data:/data command: --model /models --served-model-name Qwen3-8B --tensor-parallel-size 2 --gpu-memory-utilization 0.9 --max-model-len 20000 --max-num-seqs 128 --enable-prefix-caching --dtype half --enforce-eager ports: - "8080:8000" ``` 此 YAML 文件定义了一个基于 Compose 的服务结构,其中设置了两个可见设备 (`CUDA_VISIBLE_DEVICES=0,1`) 和启用了张量并行度 (`--tensor-parallel-size 2`) 来分担计算负载于两块显卡之上。 #### 3. **注意事项** - 如果遇到内存不足错误 (Out Of Memory),可以尝试降低批次大小或者减少最大序列长度等超参来缓解压力[^1]。 - 对于某些特定场景下的性能调优,比如数学运算密集的任务,建议依据模型特性进一步微调参数组合[^3]。 通过以上方法即可完成针对不同规模 GPU 资源条件下的 Qwen3-8B 模型部署工作。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值