大数跨境
0
0

开源-文生视频模型:llama3v 是一个 SOTA 视觉模型

开源-文生视频模型:llama3v 是一个 SOTA 视觉模型 GitHubTopp
2024-06-01
0
导读:llama3v 是一个 SOTA 视觉模型源代码http://www.gitpp.com/gitai/llam

llama3v 是一个 SOTA 视觉模型

源代码

http://www.gitpp.com/gitai/llama3v

llama3v 是一个 SOTA 视觉模型,由Llama3 8Bsiglip-so400m提供支持

Llama 3-V:与 GPT4-V 匹配


大部分工程工作都是为了使 Llama3 理解视觉信息。为此,我们使用 SigLIP 模型获取输入图像并将其嵌入到一系列块嵌入中。然后,这些嵌入通过投影块与文本标记对齐,投影块应用两个自注意力块将文本和视觉嵌入放在同一平面上。最后,将投影块中的视觉标记添加到文本标记前面,并将联合表示传递到 Llama3,就像通常一样。

Llama3-V 架构:我们使用 SigLIP 将输入图像嵌入到补丁中。然后我们用两个自注意力块训练一个投影块,以对齐我们的文本和视觉标记。

上图从高层次说明了一切的工作原理。现在,让我们详细了解每个阶段。

SigLIP:SigLIP(用于语言图像预训练的 Sigmoid 损失)是一种与 CLIP 类似的图像嵌入模型,如下图所示。但是,与使用对比损失和 softmax 正则化的 CLIP 不同,SigLIP 采用成对 Sigmoid 损失,这允许模型独立地对每个图像-文本对进行操作,而无需对批次中的所有对进行全局查看。在高层次上,SigLIP 的视觉编码器将图像分割成一系列不重叠的图像块,并将它们投影到低维线性嵌入空间中,从而产生一系列块嵌入。然后,这些块嵌入经过视觉编码器,该编码器应用自注意力来捕获长距离依赖关系并提取更高级的视觉特征。为了我们的目的,我们直接使用由 Google DeepMind 训练的原始 SigLIP 模型。

SigLIP 嵌入的工作原理说明。我们同时训练图像和文本解码器,但在我们的例子中,文本编码模块保持不变。与 CLIP 不同,我们最小化 Sigmoid 损失而不是 Softmax 损失,但大多数其他事情保持不变。图片来自Merve 的推特帖子

与文本嵌入对齐:为了节省计算资源,我们保持 SigLIP 不变。但是,为了将输出图像嵌入与 Llama3 中使用的文本嵌入对齐,我们使用了一个额外的投影模块。与将单个线性层应用于原始图像嵌入的 Llava 不同,我们改为训练两个自注意力块以更好地捕获输入嵌入中的模式,从而生成最终的图像嵌入向量。

前置图像标记:对于文本输入,我们首先使用字节对编码 (BPE) 词汇表对文本进行标记,从而生成一系列文本标记。我们通过将这些标记括在特殊的 <text> 和 </text> 标签中来划分这些标记。对于来自投影块的图像嵌入,我们将每个向量视为单独的“视觉标记”,并使用 <image> 和 </image> 标签划分它们。最后,我们将视觉标记序列前置到文本标记序列,形成传递到 Llama3 进行处理的联合输入表示。

推理优化

训练这些模型的成本很高。为了优化计算资源,我们进行了两项重大优化。第一项是简单的缓存机制,第二项是在 MPS/MLX 前端。

缓存: SigLIP 模型比 Llama3 小得多。因此,如果我们按顺序运行所有内容,则在 SigLIP 运行时,GPU 利用率非常低。此外,我们无法通过增加 SigLIP 上的批处理大小来提高利用率,因为 Llama 会遇到 OOM 错误。相反,我们观察到我们的 SigLIP 模型保持不变,而是预先计算图像嵌入。然后,对于预训练和 SFT,我们直接传入这些预先计算的图像嵌入,而不是重新运行 SigLIP 模块。这不仅使我们能够增加批处理大小并最大限度地利用我们的 GPU 来运行 SigLIP 模块,还为我们节省了训练/推理时间,因为管道的两个部分可以单独进行。

MPS/MLX 优化:我们的第二次优化再次源于 SigLIP 相对于 Llama 的较小尺寸。具体来说,由于 SigLIP 适合我们的 Macbook,我们在 MPS 优化的 SigLIP 模型上进行了推理,这使我们能够实现每秒 32 张图像的吞吐量 - 让我们的缓存步骤相对快速地完成。

它是如何训练的

从 SigLIP 预计算嵌入:现在让我们深入研究预训练过程的第一步:通过 SigLIP 预计算图像嵌入。在此步骤中,我们的目标是将图像传入 SigLIP 嵌入模型,以获得图像的矢量表示或嵌入。一个技术细节:由于分辨率较高,我们遵循 LLaVA-UHD 采用的方法并执行图像分割。图像分割的目的是将图像分成可变大小的块或片段,以实现更高效的编码。这些分割图像会同时批量处理。

现在让我们深入了解如何使用 SigLIP 嵌入。我们首先加载 SigLIP 模型和处理器/标记器。然后我们使用处理器预处理提供的输入图像。然后我们将预处理后的图像传递给模型。之后,模型输出图像-文本对的对数。我们现在继续将 S 型激活函数应用于对数以获得概率。我们现在看到图像嵌入包含在这些概率中。到目前为止,此嵌入捕获了图像中的视觉信息。

通过 SigLIP 计算图像嵌入之后,我们现在开始学习投影矩阵——你也可以将其视为投影层,它通常是线性或前馈层。如上文成分部分所述,投影层将视觉嵌入从其原始空间映射到联合多模态嵌入空间。具体而言,投影层将学习到的权重矩阵 W_v 应用于视觉嵌入 v 以获得投影的多模态视觉嵌入 W_v * v。因此,在这个投影步骤之后,视觉和文本嵌入基本上被对齐到一个共同的多模态嵌入空间,允许它们的表示进行交互并组合以用于多模态建模任务,如视觉问答、图像字幕等。更具体地说,投影层的结果是生成的“潜在信息”。

计算出潜在值后,我们将其作为图像标记添加到文本标记之前。之所以添加在前面,是因为将图像放在文本之前,可以让模型在预训练期间更容易学习。可以将其想象为具有表示实际图像的标记,然后具有表示文本中图像内容的标记:几乎就像与图像配对的标题。我们的架构与 LLaVA-UHD 的架构几乎相同(他们选择 CLIP-ViT,而我们使用 SigLIP,并且他们与 Vicuna-13B 配合使用),因此我们在下面提供了它们的图示作为参考:

现在我们已经确定了预训练所需的数据,我们可以深入了解它实际上是什么样子。在预训练中,我们使用 600,000 个将图像添加到文本的示例。在此步骤中,我们保持 Llama-3 架构的主要权重不变。关键是我们只想更新投影矩阵的梯度。至关重要的是,我们保持其余权重不变。至此,我们完成了预训练步骤的直觉和流程。这里的关键是将嵌入图像(潜在图像)与其文本以联合表示形式对齐,然后预训练 LLaMA-3 以专注于根据遇到的示例更新投影矩阵。

监督微调

在预训练之后,我们进行监督微调以增强模型的性能。在此步骤中,我们将冻结计算出的嵌入(来自投影层),并将除视觉和投影矩阵之外的所有内容保持冻结状态。换句话说,如果您查看下图,红色组件未冻结,而蓝色组件冻结。这旨在用作“指令”微调 - 换句话说,使模型更适合多模态文本输出。在此阶段,我们使用 1M 个示例(7M 个分割图像)。

总之

  • 我们为 Llama3 8B 添加了视觉编码器

  • 与当前开源 SOTA 视觉语言模型 Llava 相比,我们的模型性能提高了 10-20%。

  • 我们提供与 GPT4v、Gemini Ultra 和 Claude Opus 等尺寸接近 100 倍* 的模型相当的视觉能力。

  • 我们描述了一种高效的流程,用于在不到 500 美元的时间内对模型进行预训练和指令微调。




Meta Llama 3是Meta公司(前Facebook)研发并推出的一款重要的大型语言模型(LLM)。以下是关于Meta Llama 3的详细介绍:

  1. 发布时间与模型规格

    • Meta Llama 3于2024年4月18日由Meta公司正式发布。

    • 该模型提供两种参数规模的版本:8B(80亿参数)和70B(700亿参数)。

  2. 技术特点

    • Llama 3基于自动回归的语言模型设计,采用优化过的Transformer架构。

    • 支持文本输入,并生成文本和代码输出。

    • 运用了分组查询注意力(GQA)技术,以提高推理时的可扩展性。

    • 结合了监督微调(SFT)和带人类反馈的强化学习(RLHF)进行调优,以增强模型的实用性和安全性。

  3. 训练数据与性能

    • Llama 3的训练数据基于公开在线数据混合而成,8B版本数据截止至2023年3月,70B版本数据更新至2023年12月。

    • 在多个行业标准基准测试中,如TriviaQA-Wiki,Llama 3的70B模型准确率达到了89.7%,显示出卓越的性能。

  4. 可用性与应用场景

    • Llama 3旨在用于英语环境下的商业和研究应用。

    • 指令调优模型适用于助手类聊天应用,而预训练模型可以适应多种自然语言生成任务。

    • 该模型以开源形式提供,便于开发者和研究者进行使用和改进。

  5. 安全与合规性

    • Llama 3强调对安全性和合规性的重视,通过结合人类反馈的强化学习来提升模型的安全性。

    • 使用者需遵守相关法律法规和贸易合规规定,不得将模型用于非法或违反使用条款的目的。

  6. 获取方式

    • 开发者可以通过Meta提供的官方渠道下载Llama 3的模型权重,并根据需要进行部署和使用。

    • 此外,HuggingFace、Microsoft Azure等平台也提供了对Meta Llama 3的支持和服务接入。

  7. 环境影响

    • Meta承诺通过其可持续性计划来抵消模型预训练过程中产生的所有CO2排放,以减少对环境的影响。

综上所述,Meta Llama 3凭借其卓越的性能、灵活的可用性和对安全性的重视,有望成为自然语言处理和人工智能领域的重要工具之一。



llama3v 是一个 SOTA 视觉模型

源代码

http://www.gitpp.com/gitai/llama3v


【声明】内容源于网络
0
0
GitHubTopp
top开源系统分享
内容 444
粉丝 0
GitHubTopp top开源系统分享
总阅读378
粉丝0
内容444