视觉多模态部署性能全链路优化实战:从Qwen2.5-VL架构到高效部署方案
随着人工智能技术的快速发展,多模态学习(Multimodal Learning)在计算机视觉、自然语言处理和语音识别等多个领域展现出强大的应用潜力。特别是在视觉多模态任务中,如图文检索、视觉问答(VQA)、图像描述生成(Image Captioning)、视频理解等,模型需要同时理解和融合来自图像、文本、音频等多种信息源的语义表达,从而实现更接近人类认知水平的智能决策。
本文详细介绍了视觉多模态模型Qwen2.5-VL的部署性能优化实践,包括模型架构解析、主流部署框架对比,以及自研服务框架设计。通过独立部署、混合部署(结合TensorRT优化VIT)和分离部署三种方式,逐步提升系统QPS性能,最终达到最优资源利用和推理效率。文章还探讨了不同部署方式的优缺点和适用场景,为多模态模型的高效部署提供了完整解决方案。
一、背景介绍
随着人工智能技术的快速发展,多模态学习(Multimodal Learning)在计算机视觉、自然语言处理和语音识别等多个领域展现出强大的应用潜力。特别是在视觉多模态任务中,如图文检索、视觉问答(VQA)、图像描述生成(Image Captioning)、视频理解等,模型需要同时理解和融合来自图像、文本、音频等多种信息源的语义表达,从而实现更接近人类认知水平的智能决策。
近年来,以 Transformer 架构 为基础的跨模态模型(如 CLIP、ViLT、Flamingo、BLIP、GIT 等)取得了显著突破,成为视觉多模态领域的主流架构。这些模型通常参数规模庞大,计算复杂度高,且在推理阶段涉及多种模态数据的预处理、特征提取、注意力机制融合及后处理流程,对服务部署和运行时性能提出了更高的要求。
在实际业务场景中,视觉多模态服务往往需要支持:
•高并发请求处理能力
•低延迟响应时间
•高效资源利用率(CPU/GPU/内存)
•灵活的模型调度策略
•弹性扩展与容错机制
因此,在将这类模型部署为生产级服务的过程中,性能调优成为了关键环节。它不仅影响着用户体验和服务质量(QoS),还直接关系到系统整体成本与可持续运维能力。
当前,大模型PLUS团队也承接了多个基于QwenVL 2.5云端视频理解服务部署和优化任务,在QwenVL 2.5 的视频理解服务部署过程中,设计一套符合团队内业务使用场景的服务部署框架和性能优化方案,成为当前迫在眉睫的问题。
二、Qwen2.5 VL 模型简介
Qwen2.5-VL 在 2025 年 1 月 26 日开源,主要特性如下:
1.感知更丰富的世界:Qwen2.5-VL 不仅擅长识别常见物体,如花、鸟、鱼和昆虫,还能够分析图像中的文本、图表、图标、图形和布局。
2.Agent:Qwen2.5-VL 直接作为一个视觉 Agent,可以推理并动态地使用工具,初步具备了使用电脑和使用手机的能力。
3.理解长视频和捕捉事件:Qwen2.5-VL 能够理解超过 1 小时的视频,并且这次它具备了通过精准定位相关视频片段来捕捉事件的新能力。
4.视觉定位:Qwen2.5-VL 可以通过生成 bounding boxes 或者 points 来准确定位图像中的物体,并能够为坐标和属性提供稳定的 JSON 输出。
5.结构化输出:对于发票、表单、表格等数据,Qwen2.5-VL 支持其内容的结构化输出,惠及金融、商业等领域的应用。
多模态模型主要由视觉编码器(Vision Encoder)、语言模型(LM)和多模态融合模块(Connector)三块构成,和 Qwen2-VL 一样,Qwen2.5-VL 并没有巨大的 Connector,仅用一个 MLP 完成特征投影。与 Qwen2-VL 相比,Qwen2.5-VL 增强了模型对时间和空间尺度的感知能力,并进一步简化了网络结构以提高模型效率。
•时间和图像尺寸的感知
在空间维度上,Qwen2.5-VL 不仅能够动态地将不同尺寸的图像转换为不同长度的 token,还直接使用图像的实际尺寸来表示检测框和点等坐标,而不进行传统的坐标归一化。这使得模型能够直接学习图像的尺度。在时间维度上,引入了动态 FPS (每秒帧数)训练和绝对时间编码,将 mRoPE id 直接与时间流速对齐。使得模型能够通过时间维度 id 的间隔来学习时间的节奏。
•更简洁高效的视觉编码器
引入了窗口注意力机制,有效减少了 ViT 端的计算负担。只有四层是全注意力层,其余层使用窗口注意力。最大窗口大小为 8x8,小于 8x8 的区域不需要填充,而是保持原始尺度,确保模型保持原生分辨率。ViT 架构与 LLMs 更加一致,采用了 RMSNorm 和 SwiGLU 结构。
三、主流部署框架对比分析
大模型推理框架是用于优化和加速大模型推理过程的工具或平台,通过模型压缩、并行计算、内存优化等技术,解决大模型高计算量、高内存消耗等问题。其核心目标是提升推理速度、降低硬件成本,并满足实时性需求,是大模型+应用落地的重要一环。
常见推理框架
•vLLM 全称是 Virtual Large Language Model,是加州大学伯克利分校(伯克利大学 LMSYS 组织)开源的一个大语言模型高速推理框架,专注于通过显存优化与计算加速技术提升模型推理效率,适用于企业级高并发场景和边缘设备部署。
•SGLang 是伯克利团队开发的另一款大模型推理引擎,专注于 LLM Programs 的优化。它通过 RadixAttention 技术实现高效的 KV Cache 重用,并支持结构化输出和复杂控制流。SGLang 的设计目标是简化 LLM 的编程接口,使其更适合多轮对话、推理任务和多模态输入等复杂场景。
基于上面的主流推理框架,我们对业务中使用到的 Qwen2.5-VL-3B 模型进行了测试。测试平台为 4090-48G。基于业务要求,设置了 10 秒的超时时间,测试吞吐量的结果如下:
版本 | (timeout=10s/duration=10min) | ||||
测试的目标 qps | 当前 QPS 下的总请求数 | 成功的请求数量 | 实际达到的 qps | 平均响应时间(s) | |
sglang | 8 | 4800 | 4791 | 7.99 | 7 |
vllm | 9.8 | 5879 | 5879 | 9.8 | 9.66 |
四、自研部署服务框架实践
通过把复杂的预处理从模型推理服务剥离出来的思想,设计了一套适用于视觉多模态场景的模型部署框架,
该框架包含以下部分:
控制服务:用于输入数据的预处理,包括视频下载、解码,图片 Resize/Crop,甚至是使用 ViT 对图片提取特征值
模型服务:专注于模型推理,排除其他一切干扰推理的资源占用。并集成了一个代理服务用于对齐控制服务的协议。
为什么要单独设计一个控制服务?
在实际测试中发现,视频的解码和预处理是一个非常占用CPU的步骤,经过在4090上测试,仅推理服务就可以占用到80%的CPU资源,剩余资源完全不够用于视频预处理
模型服务框架 | CPU型号 | 最大可用CPU数量(核) | CPU使用情况 | 最大QPS | CPU最大使用率 | 空闲CPU资源 |
SGLang | 8358P | 15 | 7 | 14.0%,约3核 | 12核 | |
VLLM | 9.1 | 79.3%,约13核 | 2核 |
为了达到解码和推理QPS的匹配,我们在哦Matrix上验证了一些常用的CPU软解性能,和数据传输性能
CPU型号 | CPU核数 | 网卡 | 视频信息 | 解码器 | QPS | 数据包大小 | 网络时延P99 |
8358P | 24 | 主卡:35G 弹性卡数量:8 | 4K,3秒 | pyav | 11.4 | 136449 byte | 65.87 ms |
opencv | 8.6 | ||||||
ffmpeg | 10.5 |
通过以上测试,单独拆分出控制服务是势在必行的措施,否则会浪费大量的显卡算力。
3.1独立部署
在实际应用场景中,在全流程初期打通流程和性能验证中,推荐使用独立部署方式,该方式模型服务部署较为简单,仅需要对齐协议。
另外在一些推理框架,比如VLLM,为了达到较好的性能,ViT和LLM通常都耦合比较深,拆分起来工作量较大,这时就体现出了独立部署的优势,可以迅速搭建一套框架用于效果验证和性能评估。
3.2混合部署
由于业务特性,VIT 模型需要处理的图片计算较多,而 LLM 模型输出 token 较少,VIT 模型的耗时在整体流程中不可忽视,因此对各框架的 VIT 耗时进行了评估。
TensorRT 是 NVIDIA 推出的高性能深度学习推理优化引擎,专为在生产环境中部署深度学习模型而设计。它通过一系列底层优化技术,将训练好的模型(如 PyTorch、TensorFlow 模型)转化为高度优化的推理引擎,从而在 NVIDIA GPU 上实现极低延迟、高吞吐量和高能效比的模型执行。
在评测中观察到 TensorRT 推理性能暂居第二,结合过往开发经验,还有进一步的优化空间,因此考虑将 TensorRT 与开源推理框架结合起来,替换其中的 VIT 推理过程。
在 vllm 和 sglang 框架中进行了验证,将 VIT 模型推理更换为使用 TensorRT 推理后测试结果如下:
版本 | (timeout=10s/duration=10min) | ||||
测试的目标 qps | 当前 QPS 下的总请求数 | 成功的请求数量 | 实际达到的 qps | 平均响应时间(s) | |
sglang | 8 | 4800 | 4791 | 7.99 | 7 |
TRT(vit fp16) + sglang | 10.2 | 6119 | 6119 | 10.2 | 8.72 |
vllm | 9.8 | 5879 | 5879 | 9.8 | 9.66 |
TRT(vit fp16) + vllm | 10.8 | 6479 | 6479 | 10.8 | 7.98 |
3.3分离部署
为了达到LLM推理的极限性能,需要排除一切干扰LLM推理的模块。之前设计的控制服务已经把视频预处理拆分出去了。那能否进一步的拆分出其他占用资源的模块呢?
答案是能。拆分出去的还是占用大量GPU资源的ViT。通过把ViT放到控制服务中,让ViT和LLM都单独运行在独立的GPU上,不仅能减少任务之间的抢占,还能减少显存占用,为LLM预留更多的KVCache空间。
在这个基础上,我们又验证了一次性能
方案 | 数据类型 | 应用方法 | 单卡QPS性能比较 |
一体化部署 | FP16 | SGlang | 8 |
混合部署 | Tesnorrt ViT + SGLang LLM | 10.2 | |
分离部署 | M * Tesnorrt/vllm ViT + N * SGLang | 11 |
以上结果可以看出,在分离部署时,ViT和LLM都达到了自身的极限,跑出了最优的QPS
这样的拆分没有什么弊端么?
有弊端,但是利大于弊。在我们的实际场景中,LLM模型需要输入的Token数量大约是1152,输入shape是1152x2048 ,fp16。这是一个不小的数据量,大概会占用4.5MB的空间。因此在控制服务给推理服务发送请求时,一个包体的大小就要4.5MB左右。经过我们的测试,这个时延大概在100~200ms。
所以分离部署因为网络的问题,是会导致时延增加的。通过牺牲时延来进一步提升吞吐量。
另一种更极端的部署方式
ViT模型实际上也是有数据预处理的,这部分处理同样会占用CPU。为了让解码和ViT预处理也不互相抢占资,源。我们设计了这种2+1的方式。即一个专用的视频处理控制服务,一个专用的ViT推理控制服务,一个模型推理服务。
这种设计虽然能大幅提高资源利用率,但是也会显著的增加数据传输的时延,该架构的效果我们正在测试用,后续会给出具体的数据
部署方式
ViT模型实际上也是有数据预处理的,这部分处理同样会占用CPU。为了让解码和ViT预处理也不互相抢占资,源。我们设计了这种2+1的方式。即一个专用的视频处理控制服务,一个专用的ViT推理控制服务,一个模型推理服务。
这种设计虽然能大幅提高资源利用率,但是也会显著的增加数据传输的时延,该架构的效果我们正在测试用,后续会给出具体的数据
如何系统学习掌握AI大模型?
AI大模型作为人工智能领域的重要技术突破,正成为推动各行各业创新和转型的关键力量。抓住AI大模型的风口,掌握AI大模型的知识和技能将变得越来越重要。
学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。
这里给大家精心整理了一份
全面的AI大模型学习资源
,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等,资料免费分享
!
1. 成长路线图&学习规划
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。
2. 大模型经典PDF书籍
书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。(书籍含电子版PDF)
3. 大模型视频教程
对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识。
4. 大模型行业报告
行业分析主要包括对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。
5. 大模型项目实战
学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。
6. 大模型面试题
面试不仅是技术的较量,更需要充分的准备。
在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。
全套的AI大模型学习资源已经整理打包,有需要的小伙伴可以
微信扫描下方CSDN官方认证二维码
,免费领取【保证100%免费
】
更多推荐
所有评论(0)