Llama-3.1 8B Carrot - Capx AI

社区文章 发布于2024年9月6日

我们很高兴发布我们最新的模型——Llama-3.1-Carrot,这是一个基于 SigLip 和 Meta AI 的 Llama 3.1 8B 的 80 亿参数视觉模型。

image/png

主要架构由 2 个组件构成

  1. Llama 3.1 8B Instruct:一个大型语言模型,以其在指令遵循任务中的强大性能而闻名。
  2. SigLIP:一个在创建丰富视觉表示方面表现出色的视觉编码器。

模型权重根据 Apache 2.0 许可证在此发布:https://huggingface.co/Capx/Llama-3.1-Vision

在此衷心感谢 BAAI 团队在 Bunny 项目上的出色工作。

模型架构

我们的模型基于 BAAI 的 Bunny 仓库。我们的视觉模型架构可以分为三个主要组件

  1. 视觉编码器 (SigLIP):负责处理视觉输入并将其编码为高维特征空间。
  2. 连接器模块:连接视觉编码器和语言模型的关键组件,实现有效的多模态推理。
  3. 语言模型 (Llama 3.1 8B Instruct):根据编码的视觉特征和文本输入处理文本生成和理解。

image/png 来源:https://arxiv.org/abs/2402.11530

我们使用 LoRA 对整个模型进行参数高效训练,以在有限的资源下进行训练。

训练过程

我们采用了两阶段训练方法

  1. 预训练阶段:在此阶段,我们将预训练视觉编码器中的视觉嵌入与 LLM 中的文本嵌入对齐。此阶段的目的是使视觉嵌入(即使用预训练视觉编码器(在本例中为 SigLip)从图像中提取的视觉信息的高维表示)适应表示文本的另一个高维空间。这通过跨模态投影仪完成,该投影仪是一个 2 层 MLP,将图像嵌入投影到文本嵌入。

  2. 视觉指令微调:此过程涉及在各种多模态任务上训练模型,教会它遵循涉及文本和图像的指令。LoRA (Low-Rank Adaptation):这是一种用于高效微调大型语言模型的技术。它在 LLM 的每一层添加少量可训练参数,允许进行任务特定适应而无需修改所有参数。过程

LLM 骨干网络使用 LoRA 进行微调,这有助于保持模型的通用知识,同时适应多模态任务。视觉编码器和跨模态投影仪经过完全微调,使其能够更完整地适应多模态上下文。

在训练期间,我们监控了损失收敛和验证性能等关键指标,以确保模型行为最佳。

在视觉指令微调阶段观察到以下损失

image/png

计算资源使用情况

整个模型在 8 个 A100 GPU 上进行训练,每个 GPU 具有 80GB VRAM。完整训练耗时约 40 小时。

结果和性能

我们的最终模型在各种视觉-语言任务中展现出令人印象深刻的能力

  • 图像字幕:为各种图像生成详细且与上下文相关的字幕。
  • 视觉推理:在需要对视觉场景进行复杂推理的任务中表现出色。

示例:

1. image/png

用户: 它的表情是什么?

助手: 这只猫的表情很顽皮。它似乎在微笑并伸出舌头。

用户: 背景里有什么?

助手: 背景里有一个带白色围栏的游泳池。附近还有树木和一座房子。

2. image/png

用户: 图像中的角色是谁?

助手: 图像中的角色是马里奥、路易吉和耀西。

用户: 它们是真的吗?

助手: 不,它们不是真的。它们是塑料玩具。

结论

我们希望社区能利用我们的经验并创造出很酷的东西。思想、机会和潜力是无限的!随着我们不断改进和扩展这个模型,我们预计它将在内容审核到高级人机交互系统等各个领域得到应用。谢谢!

我们感谢 BAAI 团队的 Bunny 项目,我们的模型正是在其基础上构建的,也感谢 Meta AI 的 Llama 3.1 模型!

社区

注册登录 以发表评论