当前位置: 首页 > backend >正文

零基础实战:用 Docker 和 vLLM 本地部署 bge-reranker-v2-m3 重排序模型

一、bge-reranker-v2-m3 模型

bge-reranker-v2-m3 是一个基于深度学习的文本排序模型,由北京智源人工智能研究院(BAAI)开发。该模型主要用于信息检索和自然语言处理任务,特别是在需要重新排序候选文本的场景中表现优异。

bge-reranker-v2-m3 主要用于对检索结果进行重新排序,能够根据查询与候选文本的相关性进行更精准的排序。它适用于问答系统、文档检索、推荐系统等场景。该模型采用了先进的预训练语言模型架构,结合了大规模语料库的微调。v2-m3 版本在性能和效率上进行了优化,支持多语言处理能力,能够更好地处理跨语言检索任务。

bge-reranker-v2-m3 在多个公开基准测试中表现出色,特别是在中文文本排序任务中展现了较强的性能。模型对长文本和复杂查询具有较好的适应性,能够捕捉更细粒度的语义相关性。

二、Docker 与 vLLM 的作用

Docker 提供容器化环境,解决依赖冲突和部署一致性问题,适合快速部署复杂模型。
vLLM 是高效推理框架,针对大语言模型优化,支持高吞吐量推理和显存管理,能加速 bge-reranker-v2-m3 这类大规模模型的本地运行。

三、本地运行的核心优势

  1. 隐私保护:数据无需上传云端,适合敏感场景。
  2. 定制化:可调整模型参数或微调以适应特定任务。
  3. 成本可控:长期使用比云服务成本更低。

此方案适合开发者、研究人员快速验证 bge-reranker-v2-m3 能力,或集成到本地 NLP pipeline 中。

四、Docker 安装与配置

下载并执行 Docker 官方安装脚本:

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh# 启动Docker服务
sudo systemctl start docker
sudo systemctl enable docker

配置国内 Docker 镜像源与 GPU:

vim /etc/docker/daemon.json
{"dns": ["8.8.8.8","8.8.4.4"],"registry-mirrors": ["https://docker.m.daocloud.io/","https://huecker.io/","https://dockerhub.timeweb.cloud","https://noohub.ru/","https://dockerproxy.com","https://docker.mirrors.ustc.edu.cn","https://docker.nju.edu.cn","https://registry.docker-cn.com","http://hub-mirror.c.163.com"],"runtimes": {"nvidia": {"args": [],"path": "nvidia-container-runtime"}}
}

五、使用 vLLM 官方 Docker 镜像

vLLM 提供了用于部署的官方 Docker 镜像,该镜像可用于运行与 OpenAI 兼容的服务器,官方示例脚本如下:

docker run --runtime nvidia --gpus all \-v ~/.cache/huggingface:/root/.cache/huggingface \--env "HUGGING_FACE_HUB_TOKEN=<secret>" \-p 8000:8000 \--ipc=host \vllm/vllm-openai:latest \--model mistralai/Mistral-7B-v0.1

官方脚本从 huggingface 下载模型,可能会遇到网络问题,因此我们从 modelscope 下载 BAAI/bge-reranker-v2-m3,对脚本修改一点点细节:

docker run --name bge-reranker-v2-m3 -d --runtime nvidia --gpus all \-v ~/.cache/modelscope:/root/.cache/huggingface \--env "VLLM_USE_MODELSCOPE=True" \-p 8001:8000 \--ipc=host \vllm/vllm-openai:latest \--model BAAI/bge-reranker-v2-m3  \--gpu_memory_utilization 0.9

这里我们可以使用 ipc=host 标志或 --shm-size 标志来允许容器访问主机的共享内存。vLLM 使用 PyTorch,它在底层使用共享内存来在进程之间共享数据,特别是对于张量并行推理。镜像标签 (vllm/vllm-openai:latest) 之后添加引擎参数 (engine-args)。

在这里插入图片描述

六、GPU 使用情况

nvidia-smi

在这里插入图片描述

参考文档

  • https://docs.vllm.com.cn/en/latest/deployment/docker.html
  • https://modelscope.cn/models/BAAI/bge-reranker-v2-m3/summary
  • https://www.runoob.com/docker/ubuntu-docker-install.html
http://www.xdnf.cn/news/14043.html

相关文章:

  • day65—回溯—单词搜索(LeetCode-79)
  • Django全栈开发实战与架构思考
  • 栈与队列:数据结构优劣全解析
  • Vue3 + Element Plus 获取表格列信息
  • DIPLOMAT开源程序是基于深度学习的身份保留标记对象多动物跟踪(测试版)
  • 【论文解读】START:自学习的工具使用者模型
  • Objective-c Block 面试题
  • 龙虎榜——20250613
  • 2025国家卫健委减肥食谱PDF完整版(免费下载打印)
  • Vue3 + Element Plus中el-table加载状态分析
  • 高频面试之10 Spark Core SQL
  • 深入解析 Python 的 socket 库:从基础通信到网络编程实战
  • 无人机抛投器模块使用与技术分析!
  • 篇章六 系统性能优化——资源优化——CPU优化(3)
  • React第六十二节 Router中 createStaticRouter 的使用详解
  • pmset - 控制 macOS 系统电源、睡眠、唤醒与节能
  • c++的STL库里的fill
  • 自主 Shell 命令行解释器
  • Dify创建 echarts图表 (二)dify+python后端flask实现
  • [MSPM0开发]之七 MSPM0G3507 UART串口收发、printf重定向,解析自定义协议等
  • 如何解决答题小程序大小超过2M的问题
  • C#使用ExcelDataReader高效读取excel文件写入数据库
  • 华为云Flexus+DeepSeek征文|基于华为云一键部署 Dify 应用的性能测试实践:构建聊天应用并使用 JMeter做压力测试
  • HarmonyOS5 运动健康app(一):健康饮食(附代码)
  • 苹果获智能钱包专利,Find My生态版图或再扩张:钱包会“说话”还能防丢
  • 【论文阅读笔记】ICLR 2025 | 解析Ref-Gaussian如何实现高质量可交互反射渲染
  • pom文件引用外部jar依赖
  • Web开发实战:Gin + GORM 构建企业级 API 项目
  • 使用 C/C++ 和 OpenCV 判断是否抬头
  • Spring 事务传播行为详解