陈巍:LLaMA-2的多模态版本架构与训练详解(收录于GPT-4/ChatGPT技术与产业分析)

陈巍:2023年9月,Meta的研究人员推出了AnyMAL(任意模态增强语言模型,Any-Modality Augmented Language Model)。该模型能够理解多种模态信号并生成文本回应,即多模态输入,单模态输出。输入的模态可包括图像、视频、音频和IMU(惯性测量单元,Inertial Measurement Unit)传感器数据。

典型的多模态大模型基本架构(来源:腾讯AI Lab)

AnyMAL继承了LLaMA-2(70B)的文本推理能力,并借助预训练的对齐模块,将不同模态的信号映射为统一的文本空间。AnyMAL可以认为是LLaMA-2的多模态版本。该模型使用人工收集的多模式指令集对模型进行微调,以涵盖各种交互任务。

7.3.1 AnyMAL主要特点

典型的大模型ChatGPT,开源的GPT-J、OPT、LLaMA、Vicuna,以及最近的LLaMA-2等单一模态模型已经被各行业广泛应用。但依然有很多行业,例如医疗、机器人、电子商务、零售,需要多模态大模型来处理混合数据。而且,合并其他模式的数据可以帮助提升模型性能。通过从文本以外的数据学习,模型可以增强的对现实世界的理解。

目前已有的多模态大模型在训练方法和架构上具有趋同的趋势,多使用两段式训练方法,按照一定次序分别训练视觉编码器和语言模型。例如 LLaVA 和 MiniGPT4 都冻住基础视觉编码器,单独训练语言模型, mPLUG-Owl先训练视觉编码再训练语言模型,以获得更好的“视觉-文本”跨模态理解效果。

两段式训练方法(来源:阿里巴巴达摩院)

与OpenFlamingo、Palm-E、BLIP-2、InstructBLIP、LLaVA、IDEFICS、MiniGPT-4等多模态大模型相比,AnyMAL具有以下特点:

(1)AnyMAL支持视觉和其他多种输入方式。

(2)AnyMAL使用人工收集的多模态指令对数据进行微调。

(3)通过预训练方法,AnyMAL将参数数量扩展到了70B。

AnyMAL整合了在大型数据集上预先训练的映射层,所有这些数据集训练都与LLaMA-2-70B-chat进行对齐,以实现交叉多模态的上下文提示。

AnyMAL采用跨三种模式(图像、视频和音频)的多模态指令集对模型进行微调,涵盖各种的任务,不仅是简单的QA(问答)。

与现有文献中的模型相比,AnyMAL在各种任务和模式的自动和人工评估中都取得了很好的零误差性能,在VQAv2上相对准确率提高了7.0%,在零误差COCO图像字幕上提高了8.4%的CIDEr,在AudioCaps上提高了14.5%的CIDEr。其中CIDEr是用于评价图像标注(Image Captioning)效果的评价指标

7.3.2 AnyMAL架构

AnyMAL的整体架构属于合并注意力架构(Merge-attention)。以视觉-语言模态模型为例,该类架构通常包括 3个关键要素:图像编码器、文本编码器以及多编码器信息融合策略。

AnyMAL集成了三个主要模块:

  1. 功能更强大的指令调整LLM(即LLaMA-2-70B-chat)。
  2. 更大的预训练模态编码器。
  3. 先进的映射层(Projection Layer)以处理可变的输入长度。

AnyMAL架构(来源:Meta)

AnyMAL主要由两个部分组成:一个是基于LLaMA-2(70B)的语言模型(LM),另一个是基于Vision Transformer(ViT)和WaveNet(一种音频生成算法)等技术的对齐模块(AM)。LM负责处理文本输入和输出,而AM负责将其他模态的信号转换为文本表示,并与LM进行交互。AnyMAL还集成了先进的映射层(Projection Layer)以处理可变的输入长度。

LLaMA架构与LLaMA2架构对比(来源:51CTO)

AnyMAL为每种模态训练一个轻量级适配器,将输入信号映射到特定LLM的文本token(令牌)嵌入空间中。从而LLM的文本token嵌入空间融合为联合token嵌入空间,token扩展为代表文本或其他模态。为了最大化特征兼容性,AnyMAL使用已经与文本嵌入空间对齐的编码器,例如CLIP用于图像,CLAP用于音频信号,IMU2CLIP用于IMU信号。

相对而言,LLaVA1.5采用羊驼家族的Vicuna作为语言模型,视觉模型采用了CLIP的 ViT-L作为视觉编码器,并以MLP作为模态连接器。LLaVA通过一个Projection W将图像的特征Xv(ViT)映射到文空间。

LLaVA与LLaVA1.5架构对比

7.3.3 AnyMAL的训练

AnyMAL的训练主要分为两个阶段:

  1. 在第一阶段,通过模态对齐预训练,将映射层(Projection Layers)和模态编码器(Modality Encoder)的输出优化映射到联合LLM嵌入空间,进行各模态的对齐。
  2. 在第二阶段,通过多模态指令调整(Instruction Tuning),模型将系统指令/文本查询与输入多模态上下文相关联。特定模态的编码器包括:CLIP ViT-L、ViT-G、DinoV2(图像)、CLAP(音频)、IMU2CLIP和Intervideo(视频)。

AnyMAL训练阶段(来源:Meta)

训练的重点要素包括模态对齐、多模态数据集、量化训练方法与基于多模态指令数据集的指令调整。

模态对齐(Modality Alignment)

模态对齐即使用配对的多模态数据(特定模态信号-文本描述)对多模态大模型进行预训练和编码对齐,从而实现多模态理解能力。模态对齐相当于把某种模态进行语言描述(编码形式),通过为每种模态训练(对齐)一个轻量的模态适配器,将输入信号映射到特定的文本token嵌入空间中。

多模态数据的跨模态表征(来源:多伦多大学)

该方法基于的理论技术是多模态数据本质上可以相互转化。

例如音频可以表示为图像(音谱图),语音可以被转录成文本;图像可以表示为数字格式的向量,而向量可以扁平化(特征提取)并表征为一个文本token序列;文本可以通过拍摄表示为一个图像;而视频是图像加上音频的序列。

CLIP嵌入(来源:CLIP)

通过模态对齐,LLM 的文本token嵌入空间成为联合token嵌入空间,其中token代表文本或其他模态的信息。每个适配器中用于表征每种输入模态的令牌嵌入数量是固定的,范围为64-256。在对齐训练过程中,一般先冻结底层 LLM 的模型参数,以加快收敛速度,并继承 LLM 的推理能力。

音频映射到token空间(来源:蒙特利尔大学)

对于每个文本标题和模态对(Xtext,Xmodality),AnyMAL中使用以下目标和映射模块对齐方法。

数据集准备

对于图像、音频和IMU数据对齐训练,分别有以下数据集:

1) 图像对齐。使用了 LAION-2B 数据集的一个清理过的子集,并使用 CAT 方法进行过滤。为确保隐私安全,对数据集中可检测的人脸进行模糊处理。

2)音频对齐。使用 AudioSet (2.1M)、AudioCaps (46K) 和 CLOTHO (5K) 数据集。

3)IMU对齐。使用了Ego4D 数据集(528K)。

量化训练方法

对于大型数据集,将大模型的预训练扩展到 70B 参数规模的模型需要大量计算资源,且通常需要在多个 GPGPU 上对模型进行计算分片并行。为了有效的扩展训练规模和减少资源消耗,AnyMAL使用了直接量化数据训练的策略(4 bit 和 8 bit量化),并冻结了模型的 LLM 部分层,主要训练模态 tokenizer 部分。

浮点与INT8数据格式占用空间比较(来源:微软)

就计算的存储资源来说,INT4的存储空间要求仅为FP32的1/8,该方法将存储(显存)需求缩小了近一个数量级。因此,70B的 AnyMAL 能够在单个 80GB 显存的 GPGPU 上完成训练。与 Pytorch官方的FSDP(Fully Sharded Data Parallel)方法相比,AnyMAL的量化方法只使用了一半的存储资源,却实现了相同的吞吐量。

对于AnyMAL这类多模态大模型,在推理时,一般仍需要全精度使用LLM 来最大限度提高准确性。

三种量化方案对比(来源:北京大学)

多模态指令数据集进行指令调整

对于不同的任务,主要的传统模型效果优化方法有2类:

1)预训练-精调(Pretrain-finetune):预训练一个模型,在不同的应用任务下进行Fine-tune(精调),来适配具体任务。这一方式的模型维护成本相对较高。

2)预训练-提示(Pretrain-Prompting):预训练一个模型,根据不同的任务,设计不同Prompting(提示)来输出合理结果。该方法对模型规模(大小)有一定要求,否则在某些具体任务上的适配会变差。

为了进一步提高模型对不同输入模态的指令遵循能力,AnyMAL另辟蹊径,使用多模态指令(Instruction)对MM-IT数据集进行额外的调整。即将输入连接为[<instruction> <modality_tokens>]的模式进行指令式的调整。

根据指令优化数据的构造方法不同,现有指令数据集可大致分为两类:

  1. 针对现有NLP(自然语言处理)任务添加的指令。
  2. 使用来自1)的数据对模型进行条件式设定,生成的新的 “指令输入-输出”组,构成指令数据集。

本质上Instruction与Prompt有相近之处。差别在于,多种下游任务可以采用同一个指令进行微调,即Instruction本身具有通用性,相当于通用型Prompt,可适用于不同的下游任务;而狭义的Prompt不具备通用性,针对不同的下游任务需要不同的Prompt。

传统方法与指令微调对比(来源:Google)

具体来说,AnyMAL使用了两种训练/消融(Ablation)调整方法:

(1)在不改变LLM部分参数的情况下训练映射层。

(2)使用低秩适应(Low-Rank Adaptation,LoRA)进一步调整LLM行为。

LoRA方法(来源:Lighting AI)

AnyMAL的精调采用了60K高质量多模态指令调整数据。为了保证LoRA训练的质量,数据的多模态指令和答案对严格对应。

7.3.4 AnyMAL性能评估

AnyMAL的开发团队使用了人类评估和自动评估两种方法来比较 AnyMAL 和其他基准模型的表现。

人类评估是通过让一些专业的评估员对不同模型生成的回应进行打分,考察它们的准确性、流畅性、相关性和创造性等方面。

AnyMAL自动评估结果(来源:Meta)

自动评估

在 COCO 和标有“详细描述”任务的 MM-IT (MM-IT-Cap)数据集子集上,针对零样本图像字幕性能自动评估中,AnyMAL-13B 和 AnyMAL-70B 版本的性能之间没有显着差距。这表明,底层 LLM 能力对图像描述生成任务(这类任务对应核心视觉理解能力)影响较小,目前看很大程度上取决于数据规模和对齐方法。

自动评估是通过使用一些常用的指标,如 BLEU、ROUGE、METEOR 等,来量化不同模型生成的回应和参考答案之间的相似度。

针对AnyMAL的自动评估实验结果表明,AnyMAL 在所有已测任务上都优于其他基准模型,并且在一些任务上达到了接近人类水平的性能。

人工评估

基于图像推理的人类评估结果(获胜、平局和失败占比,来源:Meta)

在人类评估中,测试者将AnyMAL 在 Hateful Meme VQAv2、TextVQA、ScienceQA (图像配对子集)、VizWiz 和 OKVQA 数据集上的零样本性能结果,与文献中报告的零样本模型测试结果进行了比较。

综合来说,与多个任务的基线相比,AnyMAL 表现出了非常强的性能。

通过评估,可以得到以下要点:

  1. 即便没有在 MM-IT 上进行进一步微调,预训练的 AnyMAL 模型也显示出极具竞争力的性能,这表明模型在基础预训练阶段保留了强大的token推理能力。
  2. AnyMAL可连接两种视觉编码器 ViT-L 和 ViT-G,其中ViT-G 在大多数视觉任务数据集中表现更好。这表明,经过更多步骤训练的较大的模态编码器可以提供更好的表征能力,提升模型性能。
  3. 图像编码器的分辨率在识别图像中的文本方面具有关键影响。例如在TextVQA 数据集测试中出现的特殊情况,分辨率为 336x336 的 ViT-L 模型比分辨率为 224x224 的 ViT-G 模型分数更高。

评估中的特殊情况说明分辨率影响(来源:Meta)

7.3.5 AnyMAL的安全策略

为确保 AnyMAL 模型的安全性和一致性,ANyMAL团队采取了以下措施来检测安全问题,如发现违规,模型将拒绝问答:

  1. 对输入图像:使用基于 RegNetY 的预训练图像分类器来检测违反安全规则的内容,例如图形材料、暴力图像、仇恨符号、欺凌和骚扰。
  2. 对输入文本提示:使用基于 RoBERTa 的文本分类器来检测暴力、骚扰、仇恨言论等违反安全规则的文本输入。
  3. 输出文本:使用与输入相同的文本分类器来检测生成的输出中的任何安全问题。
  4. 输入图像和输出文本的多模态关联:在少见的情况,无害的文本和无害的图像(单独来看)关联时可能导致安全问题,需使用多模态分类器来检测这种情问题。

由于AnyMAL 预训练不会大幅改变基础 LLM 的参数,因此可直接借鉴LLaMA-2所采用的负样例精调和人类反馈的强化学习(RLHF)等保障措施。

7.3.6 AnyMAL要点

多模态大模型AnyMAL 具备强大的视觉理解能力和语言生成能力,相对于 MiniGPT4 和 LLaVA,其准确率更高。从AnyMAL架构和训练中,可以获得以下技术要点:

  1. 多模态领域的指令调整(Instruction tuning)可以帮助 LLM 理解多样化的指令,并生成更准确详细的回答。
  2. 在生成过程中,大模型有时会把重点放在生成的文本而不是输入图像。这可能导致生成的文字输出包含从基础LLM获取的偏见,并与图像上下文不符。为了优化这个情况,未来可能需要进行额外的架构调整或解冻更多 LLM 参数(尽管这可能会增加计算成本)。
  3. 尽管已大大增加了预训练数据集的大小,但对视觉概念的理解仍受训练过程中配对的“图像-文本”数据数量的限制。而结合外部知识检索方法,可显著增强模型克服知识限制的能力,并缓解前一条提到的问题。

目前,AnyMAL的多模态仅限于图像、视频、音频和 IMU 信号,未来可能会涵盖到更多模态,成为大模型领域的基准模型。

作者简介

陈巍博士,大模型+AI芯片专家,高级职称。国际计算机学会(ACM)、中国计算机学会(CCF)专业会员。主要研究方向为大模型架构、稀疏压缩与部署加速,存算一体、AI芯片与3D Chiplet处理器,相关技术成果已被广泛应用于知名IDC和互联网企业。曾任领域知名人工智能(自然语言处理)企业首席科学家,中国科学院副主任,曾担任多个国家科技重大专项负责人。中国与美国发明专利软件著作权约70+项(约50+项发明专利已授权)。著有《Sora大模型技术精要—原理、关键技术、模型架构与未来趋势》《GPT-4大模型硬核解读》《ChatGPT大模型技术精要—发展历程、原理、技术架构详解和产业未来》《智能网联汽车:激光与视觉SLAM详解》等。

  • 15
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值