-
Notifications
You must be signed in to change notification settings - Fork 62
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
关于visual encoder部分的小问题 #8
Comments
来自的是图像编码信息,而完全没有文本编码器信息 获得"文本编码"信息的前置条件是需要"有文本" 有其它任何问题欢迎继续交流~~ |
现在连接Visual encoder和LLM的中间组件是MLP/linear(类似llava?),之前像visualglm这些工作用了cross-attention,但是后来有研究表明cross-attention比mlp将会丢失更多对齐信息,这个你怎么看? |
其实visualglm的计算方式 等价于在投影矩阵=单层线性MLP的基础上做的Cross-Attention,残差连接也是存在的,且图像feature的维度也没有损失。从结构考虑,理论上不可能弱于MLP的表现。 另一种qwen-vl的做法是使用一组可学习的隐向量作为Q,CLIP生成的图像特征作KV进行交叉注意力操作,隐向量数的选取论文做过分析: 以上基于纯分析,虽然我没有基于此做过VLM本身的实验,但是根据个人其它方面研究经验而言,这个说法不成立(个人认为)。 如果您的表达和我的理解存在偏差或有其它进一步的研究示例观点 |
不错的见解,现在VLM很少用cross-attention,可能是因为llava影响力比较大,而它没有使用cross-attention?(猜测)哈哈哈 还有一个想要探讨的问题,我看minimind-v中对图像进行了224*244的resize,那最终输入到LLM的 tokens 数是多少呢?这个tokens是固定的吗?还有就是LLM本身的context length对于输入大尺寸图像信息有帮助吗? |
LlaVA更新到1.6~-NEXT至少说明了一点,多层非线性MLP效果同样可以做到90分,尽管Cross-Attention理论有更优的95分上限,但是开销更大。效果调优的其它途径还有很多,还远远没有卷完,动MLP层的收益值得权衡。而做VLM追求奥卡姆剃刀原则即可,不该花的钱不花,非必须的复杂度不加,可以实现需求即可。 最终输入的token数是 (224/32) * (224/32) +1= 49 +1 =50;都是固定的,任何图像都变成50个token输入;所以数量固定的话,context length改变没有什么关系。 |
/32是做类似缩放操作是吗?那如果我把32变成16,8...这种是不是压缩损失的视觉信息就会少? |
vit的patch是32,取决于clip模型,不是随便“变”的 patch16的话算出来257个token更好 |
谢谢。 如果我想要视觉信息更丰富是不是可以有以下做法:
现在其它类似的工作跟minimind-v处理视觉输入的方式是不是差不多,我指在类似224/32这样的方法上? |
第1点,CLIP实现中输入到ViT模型的特征会被resizing到一个固定的224×224,所以传入的图像分辨率是多少都不重要,最终它计算的实际尺寸都是224×224。get_img_process里resize到224实际上不做也没关系,做了只是为了统一。 第2点,clip系列clip-vit-large-patch14-336最小的patch是14,最大预训练分辨率是336*336,产生577个token;如qwen-vl实验所示,图像的潜在token数并非越多越好,256已经可以对一副图像有很好的编码效果;Transformer计算复杂度和token数量o(n^2)关系;注意力计算577长度是256长度的至少4倍的计算时间和内存开销;这种large clip本身的处理时间也慢了至少3~4倍;简单总结,256以上的性价比很低。 |
大佬,
请问:CLIP模型是由一个图像编码器和一个文本编码器组成多模态模型,那么在minimind-v中llm部分接收的是来自CLIP的图像编码器信息呢还是文本编码器信息呢?
谢谢
The text was updated successfully, but these errors were encountered: