LoRA技术解析:如何让大型语言模型(LLM)具备多模态能力?
《多模态大模型构建路径与技术演进》摘要:当前多模态模型发展呈现两大技术路线:一是原生多模态模型(NMMs)如Chameleon,采用统一离散标记空间架构;二是基于预训练LLM添加视觉模块的主流方案,如LLaVA通过视觉编码器+投影矩阵实现。最新研究Vision as LoRA提出创新方案,仅微调LoRA适配器实现视觉能力集成,既保留LLM原有知识又提升训练效率。文章还梳理了从系统设计到行业落地的A
一、引言
当大语言模型(LLMs)进入消费市场时,人人都想分一杯羹。然而随着时间的推移,我们开始渴望超越单纯的语言建模能力。视觉是首个被攻克的模态领域之一,这使得大量视觉语言模型(Vision Language Models,VLMs)涌向市场。
若我问你:"我已经学会了从零构建LLM模型,现在想为其融入视觉能力。你认为我应该如何入手?这里给出两大类方向:
-
从头训练同时支持语言和视觉的模型(原生多模态模型 - NMMs)
-
利用预训练LLM并为其添加视觉模块(预训练LLM+视觉模块)
由于NMMs的复杂性,多模态领域早期研究主要采用第二种路径。
在探讨该领域最新进展之前,让我们先简要分析这两种方法。
二、原生多模态大模型
本文将聚焦讨论"早期融合(Early Fusion)"模型,并将NMMs定义为对所有模态共享统一离散标记空间的模型。
基于上述定义,我们可以排除VisualBERT(2019)、Flamingo(2022)、PaLI(2022)等早期多模态模型(因其架构设计不符合严格的原生多模态标准)。
根据我们的标准,Meta发布的Chameleon(2024)被认为是首个真正的原生多模态模型,其设计理念直接推动了Llama 4、Gemini 2.5等后续模型的涌现。
Chameleon大体沿用了Llama-2的架构,但进行了关键性优化:
-
激活函数改用SwiGLU
-
位置编码采用RoPE技术
然而,由于softmax函数的平移不变性特征,Llama架构也导致Chameleon出现了逻辑偏移(logit drift)问题。虽然本文不深入探讨其完整优化流程(如多模态对齐、动态批处理策略等),但对模型实验细节感兴趣的读者可研读Chameleon论文,了解Meta团队如何在训练稳定性与性能间取得精妙平衡。
既然我们的目标是基于现有LLM构建多模态模型,接下来将重点解析第二种实现路径。
三、预训练大语言模型+视觉模块
有多种方法可以将 LLM 与视觉模块融合,但最常见的方法是 LLaVA 论文中展示的那种。让我们看看它是如何工作的。
图像通过视觉编码器进行处理,然后投影到词嵌入空间。请注意,这个投影矩阵是一个可训练的张量。这个编码器模型可以是任何东西——就像 LLaVA 论文中的 CLIP,或者 ViT(因为大多数近期论文都使用它)。
视觉编码器的权重始终是冻结的,而投影矩阵和语言模型的参数在训练期间会被更新。
在不涉及任何技术细节的情况下,让我们看看训练是如何进行的。
假设你和你的助手一起在艺术画廊里,你们看到了一幅20世纪初的作品,你想了解更多关于这幅作品的信息。幸运的是,你的助手对这幅作品了如指掌,于是你们开始以多轮对话的形式交流(你提问,助手回答)。你的助手会观察这幅作品,并将信息存储在他们的记忆中。之后,整个对话会保持连贯性,每一个问题都能得到恰当的回答。在LLaVA架构中,生成答案的工作由最终的语言模型完成。
这可以重新想象为以最大似然估计的方式进行训练,如下所示:
这种方法的局限性
虽然这种训练方式效率很高,但依赖外部视觉模型也存在一些缺点。
-
图像分辨率限制:大多数视觉编码器在训练时采用固定分辨率,这限制了模型能处理的图像灵活性。
-
串行工作流程:由于数据是线性传递的,语言模型必须等待视觉编码器完成处理才能开始执行,导致效率受限。
四、Vision as LoRA
VoRA提出了一种创新方案——不再依赖外部视觉模型,也不干扰预训练大语言模型(LLM)的原有知识,而是仅微调LoRA适配器(用于视觉上下文)和一个图像嵌入层。换句话说,LoRA适配器就是模型的"视觉参数"。
在预训练阶段,VoRA允许前N(vit)层内的所有线性层(包括QKV投影和FFN)都配备LoRA层。
预训练完成后,LoRA参数可以无缝集成到LLM块中,从而消除任何推理时的额外开销。
该论文中最有趣的一点是从预训练的 ViT 模型中进行知识蒸馏。因此,对于 LLM 的前 N(vit) 层,视觉隐藏状态与相应 ViT 模型中的隐藏状态对齐。这有两大好处:
-
加速训练,因为视觉知识不是从头开始整合的。
-
只更新 LoRA 参数,而不是一个完整的投影层。
模型的训练目标可以分解为两个部分:蒸馏损失和语言建模损失。
-
蒸馏损失函数——计算投影后的LLM特征与ViT嵌入的余弦相似度。
-
语言建模损失函数——采用交叉熵损失函数。
这两种损失结合在一起,形成最终的训练目标。
注意:这篇论文也是最早讨论视觉模态中双向注意力机制的研究之一,它对最终模型产生了积极的影响。
虽然仍处于早期阶段,VoRA在构建不仅仅是VLM,还可能包括各种多模态大模型(如音频、视频、3D图像等)方面展现出巨大的潜力。通过解耦不同模态的参数,避免了对特定模态参数的依赖,我们可以节省大量训练时间,并有望未来出现更小的VLMs 。
五、AI大模型学习路线
如果你对AI大模型入门感兴趣,那么你需要的话可以点击这里大模型重磅福利:入门进阶全套104G学习资源包免费分享!
这份完整版的大模型 AI 学习和面试资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
这是一份大模型从零基础到进阶的学习路线大纲全览,小伙伴们记得点个收藏!
第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
100套AI大模型商业化落地方案
大模型全套视频教程
200本大模型PDF书籍
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
LLM面试题合集
大模型产品经理资源合集
大模型项目实战合集
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓
更多推荐
所有评论(0)