Ascend-SACT/Qwen3-Embedding-Reranker-0.6B
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

算力切分方案单卡部署Qwen3-Embedding与Qwen3-Reranker模型

1、模型概述

Qwen3 Embedding/Reranker 模型系列是 Qwen 家族的最新专有模型,专门设计用于文本嵌入和排序任务。 基于 Qwen3 系列的密集基础模型,它提供了各种大小(0.6B、4B 和 8B)的全面文本嵌入和重排序模型。 该系列继承了其基础模型卓越的多语言能力、长文本理解和推理技能。 Qwen3 Embedding/Reranker 系列在多个文本嵌入和排序任务中取得了显著进步,包括文本检索、代码检索、文本分类、文本聚类和双语文本挖掘。

Qwen3-Embedding/Reranker-0.6B 具有以下特点:

  • 模型类型:文本嵌入、文本重排序
  • 支持的语言:100+ 种语言
  • 参数数量:0.6B
  • 上下文长度:32k
  • 嵌入维度:最高 1024,支持用户自定义输出维度,范围从 32 到 1024

详细模型介绍可参考开源社区内容

  • https://modelscope.cn/models/Qwen/Qwen3-Embedding-0.6B
  • https://modelscope.cn/models/Qwen/Qwen3-Reranker-0.6B

2、环境准备

  • CANN版本:8.2.RC1
  • Driver版本:25.2.0
  • 算力设备型号:Atlas 800T A2 910B
  • 部署形态:算力切分虚拟卡部署

3、推理服务部署

3.1、NPU卡切分

1、执行npu-smi info -t vnpu-mode查看切分模式是否为docker,如果不是,需要使用"npu-smi set -t vnpu-mode -d 0"设置为容器模式

2、执行"npu-smi info -t template-info"查询算力切分的模板

3、选择模板,对指定的卡执行"npu-smi set -t create-vnpu -i 7 -c 0 -f vir10_3c_32g"进行算力切分

4、切分后可使用此命令查询:"npu-smi info -t info-vnpu -i 7 -c 0",如图将npu7切分为了212和213两个vNPU

5、使用"ll /dev/vdavinci*"命令查询vNPU设备路径,后面启动容器会用到

3.2、镜像下载

昇腾社区的mis-tei已经适配支持Qwen3-Embedding与Qwen3-Reranker模型,这里使用mis-tei镜像进行部署:https://www.hiascend.com/developer/ascendhub/detail/mis-tei

拉取mis-tei镜像

docker pull swr.cn-south-1.myhuaweicloud.com/ascendhub/mis-tei:7.1.RC1-800I-A2-aarch64

3.3、模型下载

1、Qwen3-Embedding模型下载:https://modelscope.cn/models/Qwen/Qwen3-Embedding-0.6B

modelscope download --model Qwen/Qwen3-Embedding-0.6B --local_dir ./Qwen/Qwen3-Embedding-0.6B

Embedding模型下载.png

2、Qwen3-Reranker模型下载:https://modelscope.cn/models/Qwen/Qwen3-Reranker-0.6B

modelscope download --model Qwen/Qwen3-Reranker-0.6B --local_dir ./Qwen/Qwen3-Reranker-0.6B

Reranker模型下载.png

3.4、模型部署

3.4.1、Qwen3-Embedding模型部署

容器启动命令如下

docker run -itd --shm-size=20g --name Qwen3-Embedding-0.6B -u root \
  --device=/dev/davinci_manager \
  --device=/dev/hisi_hdc \
  --device=/dev/devmm_svm \
  --device=/dev/vdavinci212:/dev/davinci212 \
  -v /usr/local/Ascend/driver:/usr/local/Ascend/driver:ro \
  -v /usr/local/sbin:/usr/local/sbin:ro \
  -v /home/z00620588/Qwen/Qwen3-Embedding-0.6B:/home/HwHiAiUser/model/Qwen3-Embedding-0.6B/ \
  --network host \
  swr.cn-south-1.myhuaweicloud.com/ascendhub/mis-tei:7.1.RC1-800I-A2-aarch64 \
  Qwen3-Embedding-0.6B 0.0.0.0 8501

如下日志表示容器服务启动成功

Embedding模型启动.png

容器内可查询到挂载的vNPU信息

3.4.2、Qwen3-Reranker模型部署

容器启动命令如下

# Reranker模型需添加如下环境变量,否则容器启动会报错“The `--pooling` arg is not set”
# -e IS_RERANK=1
# -e DEFAULT_PROMPT="<Query>: <s1>\\n<Document>: <s2>"

docker run -itd --shm-size=20g --name Qwen3-Reranker-0.6B -u root \
  --device=/dev/davinci_manager \
  --device=/dev/hisi_hdc \
  --device=/dev/devmm_svm \
  --device=/dev/vdavinci213:/dev/davinci213 \
  -v /usr/local/Ascend/driver:/usr/local/Ascend/driver:ro \
  -v /usr/local/sbin:/usr/local/sbin:ro \
  -v /home/z00620588/Qwen/Qwen3-Reranker-0.6B:/home/HwHiAiUser/model/Qwen3-Reranker-0.6B/ \
  --network host \
  -e IS_RERANK=1 \
  -e DEFAULT_PROMPT="<Query>: <s1>\\n<Document>: <s2>" \
  swr.cn-south-1.myhuaweicloud.com/ascendhub/mis-tei:7.1.RC1-800I-A2-aarch64 \
  Qwen3-Reranker-0.6B 0.0.0.0 8502

容器服务启动成功日志

Reranker服务启动成功.png

3.4.3、模型部署完成后vNPU状态

使用"npu-smi info -t info-vnpu -i 7 -c 0"命令查询vNPU状态

3.5、模型验证

3.5.1、Qwen3-Embedding模型验证

# Embedding模型验证接口

curl 127.0.0.1:8501/embed \
  -X POST \
  -H 'Content-Type: application/json' \
  -d '{"inputs":["What is Deep Learning?", "Deep Learning is not..."]}'

3.5.3、Qwen3-Reranker模型验证

# mis-tei提供了2个reranker模型接口:/rerank和/v1/rerank

curl 127.0.0.1:8502/rerank \
  -X POST \
  -H 'Content-Type: application/json' \
  -d '{"query":"What is Deep Learning?", "texts": ["Deep Learning is not...", "Deep learning is..."]}'
 
curl 127.0.0.1:8502/v1/rerank \
  -X POST \
  -H 'Content-Type: application/json' \
  -d '{"query":"What is Deep Learning?", "documents": ["Deep Learning is not...", "Deep learning is..."]}'