LLM - 使用 vLLM 部署 Qwen2-VL 多模态大模型 (配置 FlashAttention) 教程

LLM - 使用 vLLM 部署 Qwen2-VL 多模态大模型 (配置 FlashAttention) 教程欢迎关注我的 CSDN https spike blog csdn net 本文地址 https spike blog csdn net article details 免责声明 本文来源于个人知识与公开资料 仅用于学术交流 欢迎讨论 不支持转载 vLLM 用于 大语言模型 LLM 的推理和服务 具有多项优化技术 包括先进的服务吞吐量 高效的内存管理

大家好,我是讯享网,很高兴认识大家。这里提供最前沿的Ai技术和互联网信息。



免责声明:本文来源于个人知识与公开资料,仅用于学术交流,欢迎讨论,不支持转载。


vLLM
vLLM 用于 大语言模型(LLM) 的推理和服务,具有多项优化技术,包括先进的服务吞吐量、高效的内存管理、连续批处理请求、优化 CUDA 内核以及支持量化技术,如GPTQ、AWQ等。FlashAttention 是先进的注意力机制优化工具,通过减少内存访问和优化计算过程,显著提高大型语言模型的推理速度。

GitHub:

  • FlashAttention: https://github.com/Dao-AILab/flash-attention
  • Transformers: https://github.com/huggingface/transformers
  • vLLM: https://github.com/vllm-project/vllm

准备 Qwen2-VL 模型,包括 7B 和 72B,即:

 
   

注意:Qwen2-VL 暂时不支持 GGUF 转换,因此不能使用 Ollama 提供服务。

配置 vLLM:

 
   

参考:vLLM - Using VLMs

注意:当前(2024.9.26)最新 Transformers 版本不支持 Qwen2-VL,需要使用固定 commit 版本,参考:

 
   

Transformers 的 Commit ID (21fac7abba2a37fae86106f87fcf9974fd1e3830) 内容,以更新 Qwen2-VL 为主,即:

 
   

vLLM 的视觉文本测试代码,如下:

  • 通过 设置最大的 Tokens 数量。
  • 注意,不同的模型 Image Token 也不同,Qwen2-VL 是 ,而 是

即:

 
   

Image Qwen2-VL 的输出:

Img

Video Qwen2-VL 的输出:

Video

BugFix1:

 
   

原因:降级 vLLM 版本至 , 是 版本加入,即:

 
   

BugFix2:

 
   

原因,参考 , 与当前 Prompt 的 Image Token (),不一致,即:

 
   

经过分析,确定 Qwen2-VL 的 Image Token 是 ,而不是 ,替换 Prompt 即可。

输出:

 
   

FlashAttention 可以加速大模型的推理过程,配置 FlashAttention,参考,安装依赖的 Python 包:

 
   

测试 ninja 包是否可用,即:

 
   

Ninja 类似于 Makefile,语法简单,但是比 Makefile 更加简洁。

不推荐 直接安装 flash-attn,建议使用源码安装,安装过程可控,请耐心等待,即:

 
   

检测 Python 版本:

 
   

建议通过直接源码进行安装,即:

 
   

整体的编译过程,包括 85 步,耐心等待,即:

 
   

小讯
上一篇 2026-03-31 18:25
下一篇 2026-03-31 18:23

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/228538.html