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

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 的输出:

Video Qwen2-VL 的输出:

BugFix1:
原因:降级 vLLM 版本至 , 是 版本加入,即:
BugFix2:
原因,参考 , 与当前 Prompt 的 Image Token (),不一致,即:
经过分析,确定 Qwen2-VL 的 Image Token 是 ,而不是 ,替换 Prompt 即可。
输出:
FlashAttention 可以加速大模型的推理过程,配置 FlashAttention,参考,安装依赖的 Python 包:
测试 ninja 包是否可用,即:
Ninja 类似于 Makefile,语法简单,但是比 Makefile 更加简洁。
不推荐 直接安装 flash-attn,建议使用源码安装,安装过程可控,请耐心等待,即:
检测 Python 版本:
建议通过直接源码进行安装,即:
整体的编译过程,包括 85 步,耐心等待,即:
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/228538.html