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

sglang 部署Qwen/Qwen2.5-VL-7B-Instruct

https://www.dong-blog.fun/post/2113

1. SGLang中Qwen2-VL的模板代码位置

SGLang中Qwen2-VL的模板代码主要在以下文件中:

聊天模板定义:

  • python/sglang/lang/chat_template.py 第148-157行定义了qwen2-vl模板:
register_chat_template(ChatTemplate(name="qwen2-vl",default_system_prompt="You are a helpful assistant.",role_prefix_and_suffix={"system": ("<|im_start|>system\n", "<|im_end|>\n"),"user": ("<|im_start|>user\n", "<|im_end|>\n"),"assistant": ("<|im_start|>assistant\n", "<|im_end|>\n"),},style=ChatTemplateStyle.PLAIN,stop_str=("<|im_end|>",),image_token="<|vision_start|><|image_pad|><|vision_end|>",)
)

会话模板定义:

  • python/sglang/srt/conversation.py 第773-787行定义了qwen2-vl会话模板:
register_conv_template(Conversation(name="qwen2-vl",system_message="You are a helpful assistant.",system_template="<|im_start|>system\n{system_message}",roles=("<|im_start|>user", "<|im_start|>assistant"),sep="<|im_end|>\n",sep_style=SeparatorStyle.ADD_NEW_LINE_SINGLE,stop_str=["<|im_end|>"],image_token="<|vision_start|><|image_pad|><|vision_end|>",)
)

多模态处理器:

  • python/sglang/srt/managers/multimodal_processors/qwen_vl.py 包含了Qwen2-VL的图像处理逻辑

2. SGLang对vLLM参数的支持情况

对比你提到的vLLM命令参数,SGLang的支持情况如下:

vLLM参数SGLang对应参数支持情况
--max-model-len 16384--context-length✅ 支持
--pipeline-parallel-size 2--pipeline-parallel-size--pp-size✅ 支持
--gpu_memory_utilization 0.75--mem-fraction-static✅ 支持,但语义稍有不同
--mm-processor-kwargs '{"min_pixels": 784, "max_pixels": 2352000, "fps": 1}'无直接对应❌ 不支持
--limit-mm-per-prompt "image=2,video=1"无直接对应❌ 不支持

详细说明:

  1. --mem-fraction-static vs --gpu_memory_utilization

    • SGLang的mem_fraction_static控制静态内存分配(模型权重和KV缓存池)的比例
    • vLLM的gpu_memory_utilization控制整体GPU内存使用比例
    • python/sglang/srt/server_args.py中,SGLang根据并行度自动设置不同的默认值
  2. Pipeline并行支持

    • SGLang完全支持pipeline parallelism
    • 参数:--pipeline-parallel-size 或简写 --pp-size
  3. 多模态参数

    • SGLang目前没有类似vLLM的--mm-processor-kwargs--limit-mm-per-prompt参数
    • 多模态配置主要通过模型特定的处理器代码硬编码实现
    • 在Qwen2-VL处理器中,像素限制等参数是在代码中预定义的

建议的SGLang启动命令:

python -m sglang.launch_server \--model-path /Qwen2-VL-Any \--context-length 16384 \--pp-size 2 \--mem-fraction-static 0.75 \--chat-template qwen2-vl \--host 0.0.0.0 \--port 30000

3. SGLang Docker 部署项目

比如 sglang:v0.4.6.post1-cu121

docker run -d --gpus all \
--shm-size=32g \
-p 7860:7860 \
-p 8000:8000 \
-v /root/model/:/Qwen2-VL-Any \
sglang:v0.4.6.post1-cu121 python3 -m sglang.launch_server --host 0.0.0.0 --port 8000 --chat-template qwen2-vl --mem-fraction-static 0.75 --tensor-parallel-size 2 --context-length 4096 --model-path /Qwen2-VL-Any
http://www.xdnf.cn/news/9489.html

相关文章:

  • JavaScript 性能优化:从入门到实战
  • 将文件夹中的未命名的文件类型或txt的文件类型改为dat类型
  • mybatis-plus实现增删改查(新手理解版)
  • 6.4.2_3最短路径问题_Floyd算法
  • 【连接器专题】案例:SD卡座规格书接触阻抗测试标准EIA-364-06B和EIA-364-23有什么区别?
  • day023-面试题总结
  • 【计算机网络】4网络层①
  • STM32学习笔记---时钟树
  • 易学探索助手-个人记录(十二)
  • 【ArcGIS Pro草履虫大师】空间地图系列
  • 数据结构之堆(topk问题、堆排序)
  • 功能测试向量是个什么概念
  • 开源架构在移动端开发中的卓越应用与深度解析
  • Java+POI+EXCEL导出柱形图
  • 小程序定制开发:从需求到落地,打造企业专属数字化入口
  • Android 13中 配置签名文件与内置相应的Apk
  • 解锁5月游戏新体验 高速电脑配置推荐
  • 本地部署RAGFlow
  • Flink CEP实践总结:使用方法、常见报错、优化与难点应对
  • 查看webpack版本的三种方式
  • JS逆向 QQ音乐sign签名|webpack实战 (上)
  • Unity UI设计优化与模式原则
  • 深度学习-PyTorch介绍
  • Linux环境搭建
  • CPO-BP+MOPSO,冠豪猪优化BP神经网络+多目标粒子群算法!(Matlab源码)
  • 【Qt开发】布局管理器
  • AI预测3D新模型百十个定位预测+胆码预测+去和尾2025年5月28日第91弹
  • R 语言科研绘图第 52 期 --- 网络图-分组
  • 计算机组成原理第4章 指令系统(竟成)
  • 伊吖学C笔记(4、循环、自定义函数、二级菜单)