多模态模型结构与训练总结

看了这么多多模态基座模型,今天来对多模态结构和训练流程做个总结。

01、模型结构

图片

一般的多模态模型架构包含5个部分,分别是:模态编码器、输入映射器、大模型骨干、输出映射器以及模态生成器。

模态编码器(Modality Encoder, ME)

将多种模态输入

图片

编码成特征表示

图片

,公式如下

图片

X表示模态,

图片

表示各种预训练好的编码器。

目前模态主要分为:视觉模态、语音模态、3D点云模态,其中视觉模态主要包括图像和视频,对于视频,视频通常被均匀采样成5帧图像,然后进行与图像相同的预处理。各模态常用的编码器如下:

图像编码器(Image Encoder)

  • NFNet-F6:这是一个无归一化(normalizer-free)的ResNet变体,它使用了自适应梯度裁剪技术,允许在大量增强的数据集上进行训练,同时保持了高水平的图像识别性能。
  • ViT(Vision Transformer):ViT将Transformer架构应用于图像,通过将图像分割成小块(patches),然后进行线性投影和多层Transformer编码来处理图像。
  • CLIP ViT:CLIP(Contrastive Language-Image Pre-training)结合了文本和图像,通过对比学习优化ViT,将成对的文本和图像视为正样本,其他视为负样本。
  • Eva-CLIP ViT:Eva-CLIP是CLIP的稳定版本,它通过对比学习优化了大规模CLIP的训练和优化过程,为扩展和加速昂贵的多模态基础模型训练提供了新的方向。

视频编码器(Video Encoder):

  • UL2:UL2(Universal Language Model 2)是一个编码器-解码器模型,它使用混合去噪目标进行训练,适用于视频内容的理解。

音频编码器(Audio Encoder):

  • C-Former:C-Former使用CIF(Cross-Information Flow)对序列进行转录,并结合Transformer提取音频特征。
  • HuBERT:HuBERT是一个自监督的语音表示学习框架,基于BERT,通过预测离散隐藏单元的掩蔽来实现。
  • BEATs:BEATs是一个迭代的音频预训练框架,旨在从音频Transformer中学习双向编码器表示。
  • Whisper:Whisper是一个大型的自监督语音识别模型,它使用大量的未标记数据进行训练。

3D点云编码器(3D Point Cloud Encoder)

  • ULIP-2:ULIP-2(Universal Language Image Pre-training 2)是一个点云编码器,它结合了PointBERT作为其主干,用于处理3D点云数据。
输入映射器(Input Projector, IP)

将模态编码器输出的特征

图片

与文本特征空间TT对齐,以便输入到LLM主干。

图片

为输入映射器,

图片

为映射后的特征向量,即:

图片

给定模态-文本数据集

图片

,通过如下目标函数实现特征对齐:

图片

典型的输入映射器如下:

  • 线性投影器(Linear project)或多层感知机(MLP),现在多模态大模型中最常用的输入映射方式。
  • 交叉注意力(Cross-Attention):使用一组可训练的向量作为query, 将编码的模态特征

    图片

    作为key,将其压缩为固定长度的特征表示。压缩后的特征表示随后直接输入到LLM主干,或者用于与其他模态的交叉注意力融合。
  • Q-Former:从模态编码器的输出特征

    图片

    中提取相关特征

    图片

    ,并将这些特征用作LLM主干的输入。Q-Former通常需要一个单独的预训练过程来初始化。
  • P-Former:生成“参考提示”(reference prompts),对Q-Former产生的提示施加对齐约束,同样需要一个单独的预训练过程。
大模型骨干(LLM Backbone)

处理来自不同模态的表示,进行语义理解、推理和决策。

LLM主干通常是基于预训练的文本模型,能够处理多种模态的输入,并生成文本输出 

t 和其他模态的信号Token,

图片

指导模态生成器产生相应的多模态内容。

对于其他模态的信号Token 

图片

,如果用于生成多模态内容,其生成过程可表示为:

图片

图片

表示其他模态的对其表征,可以看做LLM的软Prompt-tuning。

典型的LLM包括:Flan-T5、ChatGLM、UL2、Qwen、Chinchilla、OPT、PaLM、LLaMA、LlaMA2、Vicuna等。

输出映射器(Output Projector, OP)

输出映射器将LLM主干产生的信号Token

图片

映射成模态生成器可以理解的特征,通常由Tiny Transformer或MLP实现。

图片

为输出映射器,映射过程即:

图片

在这一过程中,为了促进映射后特征

图片

的对齐,通过如下目标函数最小化

图片

和模态生成器的条件文本表示之间的距离,即:

图片

图片

为模态生成器中的文本条件编码器。

模态生成器(Modality Generator,MG)

模态生成器根据LLM主干的输出从而实现不同模态的输出,如对于图像,可以使用基于扩散模型(如Stable Diffusion)的生成器;对于视频,可以使用基于时间序列的生成器(如Zeroscope);对于音频,可以使用基于音频变换器的生成器(如AudioLDM)。

由输出映射器映射的特征

图片

充当去噪过程中的条件输入,为了生成特定模态的内容,模态生成器首先需要将真实内容转换为潜在特征

图片

。这一步通过预训练的变分自编码器(VAE)完成。接着,向

图片

添加噪声 ϵ 以获取带有噪声的潜在特征

图片

。之后,通过一个预训练的U-Net模型计算出预测的噪声

图片

,并基于此计算模态生成器的损失函数。该损失函数定义如下:

图片

02、模型训练

在训练过程中,输入和输出映射器通常是轻量级组件,而LLM主干则是模型的核心,通常保持冻结状态,以减少训练成本。通过这种方式,MM-LLMs能够在保持高效训练的同时,实现对多模态任务的强大支持。

LMM训练考虑要素
  • 图像分辨率
    更高的图像分辨率可以包含更详细的视觉特征,有利于需要细粒度信息的任务。像LLaVA-1.5和VILA采用336*336分辨率,Qwen-VL和MiniGPT-v2采用448*448分辨率。
    大分辨率带来的较长的词元序列,需要额外的训练和推理代价。MiniGPT-v2通过拼接4个相邻的视觉词元,降低词元序列的长度。Monkey方法提出了增强输入图像分辨率而无需重训练高分辨率的视觉编码器模型的方法,使用低分辨率编码器,可以处理1300*800的图像。DocPedia方法,为了增强富文本图像、表格和文档的理解, 将视觉编码器分辨率增强到25602560。
  • 高质量SFT数据
    高质量SFT数据可显著提升特定任务的性能。
  • 在LLM骨干进行执行PEFT, 可以提升深度嵌入对齐能力,对ICL重要
  • 交替文本-图像数据更好,而仅图像文本对则是次优的
  • 在SFT中,重新混合仅文本的指令数据 与图文数据(如非自然语言指令),不仅可以解决仅文本任务的性能下降,也正提升视觉语言任务的准确性。

多模态大模型的训练主要分为两个阶段:多模态预训练(MM PT, MultiModal Pre-Training)和多模态指令微调(MM IT, MultiModal Instruction Tuning)

多模态预训练

预训练阶段,采用数据集,输入和输出映射器用于实现不同模态之间的对齐,对于LLM Backbone有时使用PEFT训练。

对于多模态理解模型,只优化文本生成损失;对于多模态生成模型,需要优化文本生成损失、模态生成损失和输出对齐损失。

典型的数据集包括:图像-文本、视频-文本、语音-文本等,其中图像文本包含两种,分别是图像文本(<img1><txt1>)和交替图像文本(<img1><txt1><txt2><img3><txt3>)。

多模态指令微调

这一阶段,通过指令格式化的数据集对预训练的MM-LLM进行微调,以提高模型遵循新指令的能力,增强其在未见任务上的性能。

指令微调包括监督微调(SFT)和人类反馈强化学习(RLHF),增强多模态大模型的交互能力,显著改善零样本性能,极大增强泛化能力。

视觉语言指令微调(VLIT)

图片

预训练阶段,MLLM需要使用大量的图像文本对作为训练数据,以在不同模态之间实现对齐,并将视觉信号转化为LMM可以理解的表征或Token。

指令微调阶段,需额外的需求以理解视觉信息。随着多模态数据越来越多地融入 LLM 中,视觉语言指令调优(VLIT)受到了越来越多的关注,与纯文本指令调优相比,它呈现出更复杂的特征。

指令微调阶段的损失函数:

图片

03、总结

最近看了很多多模态大模型相关的论文,今天对模型结构和训练进行一个简单总结,整体来看,各家的模型结构基本上一致,无非是一些模型细节上的改变。模型训练方式也大差不差,基本上都是预训练+微调。整体的模型结构了解了,后续就开始更新模型的各个模块单元了,首先从模态编码器上继续进行一个系统的学习,希望能帮助到大家。

 

如何系统的去学习大模型LLM ?

大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业?”“谁的饭碗又将不保了?”等问题热议不断。

事实上,抢你饭碗的不是AI,而是会利用AI的人。

科大讯飞、阿里、华为等巨头公司发布AI产品后,很多中小企业也陆续进场!超高年薪,挖掘AI大模型人才! 如今大厂老板们,也更倾向于会AI的人,普通程序员,还有应对的机会吗?

与其焦虑……

不如成为「掌握AI工具的技术人」,毕竟AI时代,谁先尝试,谁就能占得先机!

但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高。

针对所有自学遇到困难的同学们,我帮大家系统梳理大模型学习脉络,将这份 LLM大模型资料 分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓ 

一、LLM大模型经典书籍

AI大模型已经成为了当今科技领域的一大热点,那以下这些大模型书籍就是非常不错的学习资源。

在这里插入图片描述

二、640套LLM大模型报告合集

这套包含640份报告的合集,涵盖了大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(几乎涵盖所有行业)

在这里插入图片描述

三、LLM大模型系列视频教程

在这里插入图片描述

四、LLM大模型开源教程(LLaLA/Meta/chatglm/chatgpt)

在这里插入图片描述

LLM大模型学习路线 

阶段1:AI大模型时代的基础理解
  • 目标:了解AI大模型的基本概念、发展历程和核心原理。

  • 内容

  • L1.1 人工智能简述与大模型起源
  • L1.2 大模型与通用人工智能
  • L1.3 GPT模型的发展历程
  • L1.4 模型工程
  • L1.4.1 知识大模型
  • L1.4.2 生产大模型
  • L1.4.3 模型工程方法论
  • L1.4.4 模型工程实践
  • L1.5 GPT应用案例
阶段2:AI大模型API应用开发工程
  • 目标:掌握AI大模型API的使用和开发,以及相关的编程技能。

  • 内容

  • L2.1 API接口
  • L2.1.1 OpenAI API接口
  • L2.1.2 Python接口接入
  • L2.1.3 BOT工具类框架
  • L2.1.4 代码示例
  • L2.2 Prompt框架
  • L2.3 流水线工程
  • L2.4 总结与展望
阶段3:AI大模型应用架构实践
  • 目标:深入理解AI大模型的应用架构,并能够进行私有化部署。

  • 内容

  • L3.1 Agent模型框架
  • L3.2 MetaGPT
  • L3.3 ChatGLM
  • L3.4 LLAMA
  • L3.5 其他大模型介绍
阶段4:AI大模型私有化部署
  • 目标:掌握多种AI大模型的私有化部署,包括多模态和特定领域模型。

  • 内容

  • L4.1 模型私有化部署概述
  • L4.2 模型私有化部署的关键技术
  • L4.3 模型私有化部署的实施步骤
  • L4.4 模型私有化部署的应用场景

这份 LLM大模型资料 包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓ 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值