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

单张显卡运行多个vllm模型

可以控制最大显存使用率,这对于在单张显卡上运行多个模型实例至关重要。

你可以通过 vLLM 的 --gpu-memory-utilization 参数来实现这一点。

参数说明

--gpu-memory-utilization <fraction>

  • 这个参数用于指定 vLLM 实例可以使用的 GPU 显存的比例。
  • <fraction> 是一个 0 到 1 之间的小数。例如,0.5 表示使用 50% 的显存。
  • 通过为每个模型容器设置一个较低的比例,你可以为其他模型实例或其他在 GPU 上运行的程序预留出足够的显存。

操作示例:在单张显卡上启动两个模型

假设你有一张显卡,并且希望同时运行两个模型,每个模型大约使用 45% 的显存(留出 10% 的余量给系统和其他开销)。

  1. 启动第一个模型容器 (Model A)

    • 将显存使用率限制在 45% (0.45)。
    • 将服务端口映射到主机的 8001
    docker run --runtime nvidia --gpus all \-v ~/.cache/huggingface:/root/.cache/huggingface \-p 8001:8000 \--ipc=host \vllm/vllm-openai:latest \--model /root/.cache/huggingface/hub/Qwen/Qwen2___5-0___5B-Instruct \--gpu-memory-utilization 0.45
    
  2. 启动第二个模型容器 (Model B)

    • 同样将显存使用率限制在 45% (0.45)。
    • 将服务端口映射到主机的 8002 (确保端口不冲突)。
    docker run --runtime nvidia --gpus all \-v ~/.cache/huggingface:/root/.cache/huggingface \-p 8002:8000 \--ipc=host \vllm/vllm-openai:latest \--model /root/.cache/huggingface/hub/Qwen/Qwen2___5-3B-Instruct \--gpu-memory-utilization 0.45
    

重要注意事项:

  • 模型大小:请确保分配给每个模型的显存(例如 45% 的总显存)足以加载该模型。如果模型太大,即使分配了 45% 的显存也不足以运行,那么容器将启动失败。
  • 显存余量:总使用率最好不要设置为 1.0 (例如 0.5 + 0.5)。建议留出一些余量(如 5%-10%),因为操作系统、CUDA 上下文和驱动本身也需要消耗一部分显存。
  • 性能影响:限制显存使用率会直接影响 vLLM 的性能。vLLM 的核心优势 PagedAttention 需要使用显存来存储 KV 缓存。可用的显存越少,能够处理的并发请求数和最大序列长度就会越有限,从而可能影响吞吐量。
http://www.lryc.cn/news/596607.html

相关文章:

  • 进程优先级切换调度-进程概念(6)
  • 【C++】继承和多态扩展学习
  • PyQt5在Pycharm上的环境搭建 -- Qt Designer + Pyuic + Pyrcc组合,大幅提升GUI开发效率
  • Qt多语言支持初步探索
  • 按键精灵脚本:自动化利刃的双面性 - 从技术原理到深度实践与反思
  • Web3面试题
  • 拥抱区块链红利:机遇无限,风险暗涌
  • 期权分红怎么分的?
  • UNet改进(24):注意力机制-从基础原理到高级融合策略
  • Atcoder Beginner Contest 415 D题
  • 算法笔记之堆排序
  • 2023CCPC秦皇岛 F. Mystery of Prime(线性DP)
  • Python通关秘籍(四)数据结构——列表
  • iView Table组件二次封装
  • Elasticsearch服务器开发(第2版) - 读书笔记 第一章 Elasticsearch集群入门
  • 【uboot/kernel1】启动流程,环境变量,内存,initramfs
  • 【数学建模】基础知识
  • 【Verilog】竞争、冒险
  • 本地大模型VRAM需求计算器:原理与实现详解
  • Web3介绍(Web 3.0)(一种基于区块链技术的去中心化互联网范式,旨在通过技术手段实现用户对数据的自主权、隐私保护和价值共享)
  • 浙江大学PTA程序设计C语言基础编程练习题1-5
  • 高并发场景下的缓存问题与一致性解决方案(技术方案总结)
  • Redis 初识
  • Vue项目中的AJAX请求与跨域问题解析
  • Trae安装指定版本的插件
  • 网络编程---TCP协议
  • 浏览器解码顺序xss
  • Matlab学习笔记:界面使用
  • 基础算法思想(递归篇)
  • Linux Bridge Cost