下面来学习Llama3.2的视觉多模态模型,
首先来看其预处理过程,Llama3.2 Vision中1个tile大小为560x560。1个图片最多可以占4个tile。根据不同的长宽比,一共有8种不同的组合方式,对应不同的图像分辨率。
同一张图片不同尺寸下适配到的tile是不一样的,我们使用掩码进行表示,占用该tile块则对应值为1,反之为0。
对于4x3x560x560的图片,将其按照尺寸40x40划分为14x14的patch,通过线性层投射3x14x14展平为1280维,之后通过4x1280x1600,再为图片添加POS尾部嵌入编码,其一共有8种组合方式,对应8种不同可学习的方法,从而学习到不同patch的位置关系。紧接着添加1个分类的头,从而其形状变为4x1601x1280。
再为其添加位置编码,将4个tile的token一字排开成为一个6404x1280的序列,输入32层视觉编码器模块。输出的张量形状不变,再添加尾部POS嵌入,再经过8层视觉编码器。
将其最后一层输出作为全局特征,合并前面3,7,15,23,30层局部特征,得到最终形状4x1601x7680。其中4为tile数量,1601为每个tile里的patch数量,7680为每个patch的特征维度。
参考视频:
如果喜欢这篇文章或对您有帮助,可以:[☕] 请我喝杯咖啡 | [💓] 小额赞助

