目录
方法概览:构建 MM1 的秘诀
最终模型和训练方法
监督微调结果
首页 科技周边 人工智能 苹果大模型MM1杀入场:300亿参数、多模态、MoE架构,超半数作者是华人

苹果大模型MM1杀入场:300亿参数、多模态、MoE架构,超半数作者是华人

Mar 15, 2024 pm 02:43 PM
ai 模型 排列

今年以来,苹果显然已经加大了对生成式人工智能(GenAI)的重视和投入。在最近的苹果股东大会上,苹果 CEO 蒂姆・库克表示,公司计划在今年在 GenAI 领域取得重大进展。此外,苹果宣布放弃了长达10年的造车项目,这导致一部分原本从事造车的团队成员开始转向 GenAI 领域。

苹果通过这些举措向外界展示了他们在加强 GenAI 方面的决心。当前,多模态领域的 GenAI 技术和产品备受瞩目,特别是 OpenAI 的 Sora。苹果自然希望在这一领域取得突破。

在一份合着的研究论文《MM1: Methods, Analysis & Insights from Multimodal LLM Pre-training》中,苹果公司公开了他们基于多模态预训练的研究成果,推出了一个包含高达30B参数的多模态LLM系列模型。

苹果大模型MM1杀入场:300亿参数、多模态、MoE架构,超半数作者是华人

论文地址:https://arxiv.org/pdf/2403.09611.pdf

在研究中,团队对于不同架构组件和数据选择的关键性进行了深入探讨。通过对图像编码器、视觉语言连接器和各种预训练数据的仔细选择,他们总结出了一些重要的设计准则。具体而言,该研究的主要贡献包括以下几个方面。

首先,研究者在模型架构决策和预训练数据选择上进行小规模消融实验,并发现了几个有趣的趋势。 建模设计方面的重要性按以下顺序排列:图像分辨率、视觉编码器损失和容量以及视觉编码器预训练数据。

其次,研究者使用三种不同类型的预训练数据:图像字幕、交错图像文本和纯文本数据。 他们发现,当涉及少样本和纯文本性能时,交错和纯文本训练数据非常重要,而对于零样本性能,字幕数据最重要。 这些趋势在监督微调(SFT)之后仍然存在,这表明预训练期间呈现出的性能和建模决策在微调后得以保留。

最后,研究者构建了MM1,一个参数最高可达300 亿(其他为30 亿、70 亿)的多模态模型系列, 它由密集模型和混合专家(MoE)变体组成,不仅在预训练指标中实现SOTA,在一系列已有多模态基准上监督微调后也能保持有竞争力的性能。

预训练模型 MM1 在少样本情境下的字幕和问答任务上表现优越,胜过了 Emu2、Flamingo 和 IDEFICS。监督微调后的 MM1 在 12 个多模态基准上也展现出了很强的竞争力。

得益于大规模多模态预训练,MM1 在上下文预测、多图像和思维链推理等方面具有不错的表现。同样,MM1 在指令调优后展现出了强大的少样本学习能力。 

苹果大模型MM1杀入场:300亿参数、多模态、MoE架构,超半数作者是华人

苹果大模型MM1杀入场:300亿参数、多模态、MoE架构,超半数作者是华人

方法概览:构建 MM1 的秘诀

构建高性能的 MLLM(Multimodal Large Language Model,多模态大型语言模型) 是一项实践性极高的工作。尽管高层次的架构设计和训练过程是清晰的,但是具体的实现方法并不总是一目了然。这项工作中,研究者详细介绍了为建立高性能模型而进行的消融。他们探讨了三个主要的设计决策方向:

  • 架构:研究者研究了不同的预训练图像编码器,并探索了将 LLM 与这些编码器连接起来的各种方法。
  • 数据:研究者考虑了不同类型的数据及其相对混合权重。
  • 训练程序:研究者探讨了如何训练 MLLM,包括超参数以及在何时训练模型的哪些部分。

消融设置

由于训练大型 MLLM 会耗费大量资源,研究者采用了简化的消融设置。消融的基本配置如下:

  • 图像编码器:在 DFN-5B 和 VeCap-300M 上使用 CLIP loss 训练的 ViT-L/14 模型;图像大小为 336×336。
  • 视觉语言连接器:C-Abstractor ,含 144 个图像 token。
  • 预训练数据:混合字幕图像(45%)、交错图像文本文档(45%)和纯文本(10%)数据。
  • 语言模型:1.2B 变压器解码器语言模型。

为了评估不同的设计决策,研究者使用了零样本和少样本(4 个和 8 个样本)在多种 VQA 和图像描述任务上的性能:COCO Cap tioning 、NoCaps 、TextCaps 、VQAv2 、TextVQA 、VizWiz 、GQA 和 OK-VQA。

模型架构消融试验

研究者分析了使 LLM 能够处理视觉数据的组件。具体来说,他们研究了(1)如何以最佳方式预训练视觉编码器,以及(2)如何将视觉特征连接到 LLM 的空间(见图 3 左)。

苹果大模型MM1杀入场:300亿参数、多模态、MoE架构,超半数作者是华人

  • 图像编码器预训练。在这一过程中,研究者主要消融了图像分辨率和图像编码器预训练目标的重要性。需要注意的是,与其他消融试验不同的是,研究者本次使用了 2.9B LLM(而不是 1.2B),以确保有足够的容量来使用一些较大的图像编码器。
  • 编码器经验:图像分辨率的影响最大,其次是模型大小和训练数据组成。如表 1 所示,将图像分辨率从 224 提高到 336,所有架构的所有指标都提高了约 3%。将模型大小从 ViT-L 增加到 ViT-H,参数增加了一倍,但性能提升不大,通常不到 1%。最后,加入 VeCap-300M (一个合成字幕数据集)后,在少样本场景中性能提升超过了 1%。

苹果大模型MM1杀入场:300亿参数、多模态、MoE架构,超半数作者是华人

  • 视觉语言连接器和图像分辨率。该组件的目标是将视觉表征转化为 LLM 空间。由于图像编码器是 ViT,因此其输出要么是单一的嵌入,要么是一组与输入图像片段相对应的网格排列嵌入。因此,需要将图像 token 的空间排列转换为 LLM 的顺序排列。与此同时,实际的图像 token 表征也要映射到词嵌入空间。
  • VL 连接器经验:视觉 token 数量和图像分辨率最重要,而 VL 连接器的类型影响不大。如图 4 所示,随着视觉 token 数量或 / 和图像分辨率的增加,零样本和少样本的识别率都会提高。

苹果大模型MM1杀入场:300亿参数、多模态、MoE架构,超半数作者是华人

预训练数据消融试验

通常,模型的训练分为两个阶段:预训练和指令调优。前一阶段使用网络规模的数据,后一阶段则使用特定任务策划的数据。下面重点讨论了本文的预训练阶段,并详细说明研究者的数据选择(图 3 右)。

有两类数据常用于训练 MLLM:由图像和文本对描述组成的字幕数据;以及来自网络的图像 - 文本交错文档。表 2 是数据集的完整列表:

苹果大模型MM1杀入场:300亿参数、多模态、MoE架构,超半数作者是华人


  • 数据经验 1:交错数据有助于提高少样本和纯文本性能,而字幕数据则能提高零样本性能。图 5a 展示了交错数据和字幕数据不同组合的结果。
  • 数据经验 2:纯文本数据有助于提高少样本和纯文本性能。如图 5b 所示,将纯文本数据和字幕数据结合在一起可提高少样本性能。
  • 数据经验 3:谨慎混合图像和文本数据可获得最佳的多模态性能,并保留较强的文本性能。图 5c 尝试了图像(标题和交错)和纯文本数据之间的几种混合比例。
  • 数据经验 4:合成数据有助于少样本学习。如图 5d 所示,人工合成数据确实对少数几次学习的性能有不小的提升,绝对值分别为 2.4% 和 4%。

苹果大模型MM1杀入场:300亿参数、多模态、MoE架构,超半数作者是华人

最终模型和训练方法

研究者收集了之前的消融结果,确定 MM1 多模态预训练的最终配方:

  • 图像编码器:考虑到图像分辨率的重要性,研究者使用了分辨率为 378x378px 的 ViT-H 模型,并在 DFN-5B 上使用 CLIP 目标进行预训练;
  • 视觉语言连接器:由于视觉 token 的数量最为重要,研究者使用了一个有 144 个 token 的 VL 连接器。实际架构似乎不太重要,研究者选择了 C-Abstractor;
  • 数据:为了保持零样本和少样本的性能,研究者使用了以下精心组合的数据:45% 图像 - 文本交错文档、45% 图像 - 文本对文档和 10% 纯文本文档。

为了提高模型的性能,研究者将 LLM 的大小扩大到 3B、7B 和 30B 个参数。所有模型都是在序列长度为 4096、每个序列最多 16 幅图像、分辨率为 378×378 的情况下,以 512 个序列的批量大小进行完全解冻预训练的。所有模型均使用 AXLearn 框架进行训练。

他们在小规模、9M、85M、302M 和 1.2B 下对学习率进行网格搜索,使用对数空间的线性回归来推断从较小模型到较大模型的变化(见图 6),结果是在给定(非嵌入)参数数量 N 的情况下,预测出最佳峰值学习率 η:

苹果大模型MM1杀入场:300亿参数、多模态、MoE架构,超半数作者是华人

通过专家混合(MoE)进行扩展。在实验中,研究者进一步探索了通过在语言模型的 FFN 层添加更多专家来扩展密集模型的方法。

要将密集模型转换为 MoE,只需将密集语言解码器替换为 MoE 语言解码器。为了训练 MoE,研究者采用了与密集骨干 4 相同的训练超参数和相同的训练设置,包括训练数据和训练 token。

关于多模态预训练结果,研究者通过适当的提示对预先训练好的模型在上限和 VQA 任务上进行评估。表 3 对零样本和少样本进行了评估:

苹果大模型MM1杀入场:300亿参数、多模态、MoE架构,超半数作者是华人

监督微调结果

最后,研究者介绍了预训练模型之上训练的监督微调(SFT)实验。

他们遵循 LLaVA-1.5 和 LLaVA-NeXT,从不同的数据集中收集了大约 100 万个 SFT 样本。鉴于直观上,更高的图像分辨率会带来更好的性能,研究者还采用了扩展到高分辨率的 SFT 方法。

监督微调结果如下:

表 4 展示了与 SOTA 比较的情况,「-Chat」表示监督微调后的 MM1 模型。

首先,平均而言,MM1-3B-Chat 和 MM1-7B-Chat 优于所有列出的相同规模的模型。MM1-3B-Chat 和 MM1-7B-Chat 在 VQAv2、TextVQA、ScienceQA、MMBench 以及最近的基准测试(MMMU 和 MathVista)中表现尤为突出。

其次,研究者探索了两种 MoE 模型:3B-MoE(64 位专家)和 6B-MoE(32 位专家)。在几乎所有基准测试中,苹果的 MoE 模型都比密集模型取得了更好的性能。这显示了 MoE 进一步扩展的巨大潜力。

第三,对于 30B 大小的模型,MM1-30B-Chat 在 TextVQA、SEED 和 MMMU 上的表现优于 Emu2-Chat37B 和 CogVLM-30B。与 LLaVA-NeXT 相比,MM1 也取得了具有竞争力的全面性能。

不过,LLaVA-NeXT 不支持多图像推理,也不支持少样本提示,因为每幅图像都表示为 2880 个发送到 LLM 的 token,而 MM1 的 token 总数只有 720 个。这就限制了某些涉及多图像的应用。

苹果大模型MM1杀入场:300亿参数、多模态、MoE架构,超半数作者是华人

图 7b 显示,输入图像分辨率对 SFT 评估指标平均性能的影响,图 7c 显示,随着预训练数据的增加,模型的性能不断提高。

图像分辨率的影响。图 7b 显示了输入图像分辨率对 SFT 评估指标平均性能的影响。

预训练的影响:图 7c 显示,随着预训练数据的增加,模型的性能不断提高。

苹果大模型MM1杀入场:300亿参数、多模态、MoE架构,超半数作者是华人

更多研究细节,可参考原论文。

以上是苹果大模型MM1杀入场:300亿参数、多模态、MoE架构,超半数作者是华人的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

如何检查CentOS HDFS配置 如何检查CentOS HDFS配置 Apr 14, 2025 pm 07:21 PM

检查CentOS系统中HDFS配置的完整指南本文将指导您如何有效地检查CentOS系统上HDFS的配置和运行状态。以下步骤将帮助您全面了解HDFS的设置和运行情况。验证Hadoop环境变量:首先,确认Hadoop环境变量已正确设置。在终端执行以下命令,验证Hadoop是否已正确安装并配置:hadoopversion检查HDFS配置文件:HDFS的核心配置文件位于/etc/hadoop/conf/目录下,其中core-site.xml和hdfs-site.xml至关重要。使用

centos关机命令行 centos关机命令行 Apr 14, 2025 pm 09:12 PM

CentOS 关机命令为 shutdown,语法为 shutdown [选项] 时间 [信息]。选项包括:-h 立即停止系统;-P 关机后关电源;-r 重新启动;-t 等待时间。时间可指定为立即 (now)、分钟数 ( minutes) 或特定时间 (hh:mm)。可添加信息在系统消息中显示。

CentOS上GitLab的备份方法有哪些 CentOS上GitLab的备份方法有哪些 Apr 14, 2025 pm 05:33 PM

CentOS系统下GitLab的备份与恢复策略为了保障数据安全和可恢复性,CentOS上的GitLab提供了多种备份方法。本文将详细介绍几种常见的备份方法、配置参数以及恢复流程,帮助您建立完善的GitLab备份与恢复策略。一、手动备份利用gitlab-rakegitlab:backup:create命令即可执行手动备份。此命令会备份GitLab仓库、数据库、用户、用户组、密钥和权限等关键信息。默认备份文件存储于/var/opt/gitlab/backups目录,您可通过修改/etc/gitlab

centos安装mysql centos安装mysql Apr 14, 2025 pm 08:09 PM

在 CentOS 上安装 MySQL 涉及以下步骤:添加合适的 MySQL yum 源。执行 yum install mysql-server 命令以安装 MySQL 服务器。使用 mysql_secure_installation 命令进行安全设置,例如设置 root 用户密码。根据需要自定义 MySQL 配置文件。调整 MySQL 参数和优化数据库以提升性能。

CentOS下GitLab的日志如何查看 CentOS下GitLab的日志如何查看 Apr 14, 2025 pm 06:18 PM

CentOS系统下查看GitLab日志的完整指南本文将指导您如何查看CentOS系统中GitLab的各种日志,包括主要日志、异常日志以及其他相关日志。请注意,日志文件路径可能因GitLab版本和安装方式而异,若以下路径不存在,请检查GitLab安装目录及配置文件。一、查看GitLab主要日志使用以下命令查看GitLabRails应用程序的主要日志文件:命令:sudocat/var/log/gitlab/gitlab-rails/production.log此命令会显示produc

CentOS上PyTorch的分布式训练如何操作 CentOS上PyTorch的分布式训练如何操作 Apr 14, 2025 pm 06:36 PM

在CentOS系统上进行PyTorch分布式训练,需要按照以下步骤操作:PyTorch安装:前提是CentOS系统已安装Python和pip。根据您的CUDA版本,从PyTorch官网获取合适的安装命令。对于仅需CPU的训练,可以使用以下命令:pipinstalltorchtorchvisiontorchaudio如需GPU支持,请确保已安装对应版本的CUDA和cuDNN,并使用相应的PyTorch版本进行安装。分布式环境配置:分布式训练通常需要多台机器或单机多GPU。所

CentOS上PyTorch的GPU支持情况如何 CentOS上PyTorch的GPU支持情况如何 Apr 14, 2025 pm 06:48 PM

在CentOS系统上启用PyTorchGPU加速,需要安装CUDA、cuDNN以及PyTorch的GPU版本。以下步骤将引导您完成这一过程:CUDA和cuDNN安装确定CUDA版本兼容性:使用nvidia-smi命令查看您的NVIDIA显卡支持的CUDA版本。例如,您的MX450显卡可能支持CUDA11.1或更高版本。下载并安装CUDAToolkit:访问NVIDIACUDAToolkit官网,根据您显卡支持的最高CUDA版本下载并安装相应的版本。安装cuDNN库:前

docker原理详解 docker原理详解 Apr 14, 2025 pm 11:57 PM

Docker利用Linux内核特性,提供高效、隔离的应用运行环境。其工作原理如下:1. 镜像作为只读模板,包含运行应用所需的一切;2. 联合文件系统(UnionFS)层叠多个文件系统,只存储差异部分,节省空间并加快速度;3. 守护进程管理镜像和容器,客户端用于交互;4. Namespaces和cgroups实现容器隔离和资源限制;5. 多种网络模式支持容器互联。理解这些核心概念,才能更好地利用Docker。

See all articles