银川网站建设公司排名,金点子,怎么做外贸推广,代理浏览器在线大模型技术论文不断#xff0c;每个月总会新增上千篇。本专栏精选论文重点解读#xff0c;主题还是围绕着行业实践和工程量产。若在某个环节出现卡点#xff0c;可以回到大模型必备腔调重新阅读。而最新科技#xff08;Mamba#xff0c;xLSTM,KAN#xff09;则提供了大模…
大模型技术论文不断每个月总会新增上千篇。本专栏精选论文重点解读主题还是围绕着行业实践和工程量产。若在某个环节出现卡点可以回到大模型必备腔调重新阅读。而最新科技MambaxLSTM,KAN则提供了大模型领域最新技术跟踪。若对于如果构建生成级别的AI架构则可以关注AI架构设计专栏。技术宅麻烦死磕LLM背后的基础模型。
大模型领域风云变幻莫测。先是Llama3风靡全球在几乎所有基准测试中都超越GPT-3.5部分的基准测试超越了 GPT4。随后GPT-4o横空出世凭借其多模态重新夺回王位。而本文中的Llama3-v是研究人员带来新的惊喜先看下图的统计。Llava是目前最先进的多模态理解模型LLama3-V与Llava多模态理解领域的SOTA相比提升了 10-20%。此外除了MMMU之外在其他指标的表现上和规模大于其 100 倍的闭源模型都毫不逊色。
基于Llama3 8B的LLama3-v与其他模型对比的基准指标数据 模型架构 为了让Llama3理解视觉信息因此研究人员将图像切块通过SigLIP模型获取图像的Embedding Vector然后通过投影与输入文本Tokens对齐平面上。最后投影块中的视觉Tokens添加到文本Tokens之前并将联合表示传递到 Llama3。
SigLIP 模型由 Xiaohua Zhai、Basil Mustafa、Alexander Kolesnikov 和 Lucas Beyer在“Sigmoid Loss for Language Image Pre-Training”中提出。SigLIP 是一种与 CLIP 类似的图像嵌入模型。主要区别在于训练损失SigLIP采用成对Sigmoid 损失这允许模型独立地对每个图像-文本对进行操作而无需对批次中的所有对进行全局查看同时对 logits应用sigmoid激活函数而不是softmax。 请看上图。换句大白话的说sigLIP的损失函数是在文字Tokens和图像Tokens的两个序列的基础上计算出来。它指导着模型训练朝着这相同样本对图文的点积值越大而不同图文对的点积值越小的目标迈进。即矩阵对角线的越大其余的各自越小。 上图为SigLIP的预训练过程它在三个设备进行训练。每设备持有4幅图和文字在单设备上各自运算。紧接着不同的设备交换文本计算损失如此循环直到全部计算完毕。 SigLIP 的视觉编码器在高层次上将图像分割成一系列不重叠的图像块并将它们投影到低维线性嵌入空间中从而产生一系列块嵌入。然后这些块嵌入经过视觉编码器该编码器应用自注意力来捕获长距离依赖关系并提取更高级的视觉特征。
虽然为了节省计算资源在LLama3-v中直接使用由Google DeepMind训练的原始SigLIP模型。然而为了与文本嵌入对齐还是在SigLIP输出之后使用了额外的投影模块。这与将单个线性层应用于原始图像嵌入的Llava不同这个模块被改为训练两个自注意力块以便于更好地捕获输入模式从而生成最终的图像嵌入向量Embedding Vector。
对于文本输入首先使用字节对编码 (BPE) 词汇表对文本进行Tokenizer从而生成文本标记序列。这些标记Token会被包在特殊的 text和/text标签中来进行区分。对于来自投影层的图像输出将被视为单独的“视觉标记”并使用image和/image标签划分它们。视觉标记序列前置到文本标记序列形成新的序列成为Llama3的联合输入。 SigLIP
SigLIP模型比Llama3小得多而且在整个过程中是被冻结参数的。因此对于预训练和 SFT我们直接传入这些预先计算好的图像嵌入Embedding而不是重新运行SigLIP。这使得训练能够增加批处理大小并最大限度地利用GPU来运行SigLIP还为节省了训练/推理时间。
为了进一步的优化速度由于SigLIP也适合运行在Macbook因此采用MPS 优化过的SigLIP模型上进行运算这样一来就能够实现每秒 32 张图像的吞吐量让上个步骤得以实行。 MPSMetal Performance Shaders是Apple提供的一套框架专门用于在Apple设备上加速机器学习和图形计算。 通过SigLIP预计算图像嵌入的步骤目标是将图像传入SigLIP以获得图像的矢量表示或嵌入。 由于分辨率较高研究人员遵循LLaVA-UHD采用的方法并执行图像分割。图像分割的目的是将图像分成可变大小的块或片段以实现更高效的编码和批量处理。 细节分析
首先加载 SigLIP 模型和处理器/标记器然后使用处理器预处理提供的输入图像。紧跟着将预处理后的图像传递给模型。之后获得模型的输出将 S型激活函数应用于输出以获得概率。
通过 SigLIP 计算图像嵌入之后我们现在开始学习投影矩阵——你也可以将其视为投影层它通常是线性或前馈层。如上文成分部分所述投影层将视觉嵌入从其原始空间映射到联合多模态嵌入空间。具体而言投影层将学习到的权重矩阵 Wv 应用于视觉嵌入 v 以获得投影的多模态视觉嵌入 Wv * v矩阵运算。通过投影之后视觉和文本嵌入基本上被对齐到一个共同的多模态嵌入空间这样一来视觉和文本就融合了可以运用到各种的多模态任务如视觉问答、图像字幕等。
根据上述而言图像标记序列添加到文本标记序列之前。之所以添加在前面是因为将图像放在文本之前可以让模型在预训练期间更容易学习。 这里借用了LLaVA-UHD的架构图因为LLama3-v和LLaVA-UHD几乎相同两者只不过在组件的选择不同而已。前者采用了SigLIP和LLama3而后者选择CLIP-ViT和Vicuna-13B作为基座模型。 训练回放
训练分为两个阶段在预训练中使用 600,000 个样本该步骤保持 Llama-3架构的主要权重不变主要训练投影矩阵。这里主要是为了训练图像Tokens与文本Tokens的联合对齐。
在第二个阶段微调更多的类似指令微调。这个步骤冻结SigLIP模型和投影层的权重但是更新Llama3 8B模型的权重和其余的参数。这里用了大约1M张图像。除此之外还利用了从YI模型系列生成的多模态合成数据。