本文主要是介绍Qwen-VL,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
模型架构
- Large Language Model: Qwen-VL adopts a large language model as its foundation component. The model
is initialized with pre-trained weights from Qwen-7B - Visual Encoder: The visual encoder of Qwen-VL uses the Vision Transformer (ViT) (Dosovitskiy et al., 2021)
architecture, initialized with pre-trained weights from Openclip’s ViT-bigG - 位置感知视觉语言适配器:为了缓解由长图像特征序列引起的效率问题,Qwen-VL引入了一个视觉语言适配器,用于压缩图像特征。该适配器包括一个单层交叉注意模块,随机初始化。
- 该模块使用一组可训练向量(嵌入)作为查询向量query,并将来自视觉编码器的图像特征作为交叉注意操作的Key。这种机制将视觉特征序列压缩到固定长度的256。
- 为了对细粒度图像进行理解并保留位置信息,Qwen-VL 在交叉注意机制的Query-Key对中加入了2D绝对位置编码,以减轻在压缩过程中可能出现的位置细节丢失。长度为256的压缩图像特征序列随后被送入大型语言模型进行处理。
Input
-
图像输入: and 分割图像,且支持多张图片
-
包围框输入和输出:为了增强模型对细粒度视觉理解和定位的能力,Qwen-VL的训练包括区域描述、问题和检测的数据形式。与涉及图像文本描述或问题的传统任务不同,这项任务需要模型准确理解并生成指定格式的区域描述。对于给定的边界框,应用规范化处理(在范围[0, 1000]内)并转换为指定的字符串格式:“(Xtopleft, Ytopleft),(Xbottomright, Ybottomright)”。该字符串被标记为文本,不需要额外的位置词汇。
-
为了区分检测字符串和常规文本字符串,在边界框字符串的开头和结尾分别添加两个特殊标记(< box >和< /box >)。
-
此外,为了适当将边界框与其对应的描述性词或句子进行关联,引入了另一组特殊标记(< ref>和< /ref>),标记边界框所指的内容。
这篇关于Qwen-VL的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!